From e5252fa87ea18d48816cc300b1a0ed6a2741d1f8 Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Tue, 12 Mar 2019 19:26:51 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/ecloud_controller.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/controllers/ecloud_controller.rb b/app/controllers/ecloud_controller.rb index bd0170f9..47b0ca52 100644 --- a/app/controllers/ecloud_controller.rb +++ b/app/controllers/ecloud_controller.rb @@ -101,6 +101,9 @@ class EcloudController < ApplicationController def ecloud_login_callback #获取code logger.info "oauth2 login_callback: #{params}" + + raise "没有code" unless params[:code] + url = "#{SERVER_URL}/oauth2/authorization?grant_type=authorization_code" + "&client_id=#{CLIENT_ID}&scope=&redirect_uri=&code=#{params[:code]}" From c1741913365ac3dd19375b9d512a41f9676facc3 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 12 Mar 2019 19:30:06 +0800 Subject: [PATCH 02/14] real_value_total --- .../ec/graduatesRequirement/GraduatesRequirement.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/ec/graduatesRequirement/GraduatesRequirement.js b/public/react/src/modules/ec/graduatesRequirement/GraduatesRequirement.js index e68a0527..827144b5 100644 --- a/public/react/src/modules/ec/graduatesRequirement/GraduatesRequirement.js +++ b/public/react/src/modules/ec/graduatesRequirement/GraduatesRequirement.js @@ -236,10 +236,15 @@ function getTableData(data_args) { targetValueRowData[`c${courseIndex + 1}`] = course.target_value && course.target_value.toFixed ? course.target_value.toFixed(3) : course.target_value ; - target_value_total = target_value_total + targetValueRowData[`c${courseIndex + 1}`] + if (course.target_value) { + target_value_total = target_value_total + course.target_value + } + realValueRowData[`c${courseIndex + 1}`] = course.real_value && course.real_value.toFixed ? course.real_value.toFixed(3) : course.real_value ; - real_value_total = real_value_total + realValueRowData[`c${courseIndex + 1}`] + if (course.real_value) { + real_value_total = real_value_total + course.real_value + } }) if (real_value_total >= target_value_total && real_value_total != 0) { nameRowData.status = true From fc4bcca5de764c5c231d4baafdb6831ec3e5e834 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 12 Mar 2019 19:34:09 +0800 Subject: [PATCH 03/14] is_manager --- .../ecCourseSupportSetting/ShowTableCourseSupportSetting.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/ec/ecCourseSupportSetting/ShowTableCourseSupportSetting.js b/public/react/src/modules/ec/ecCourseSupportSetting/ShowTableCourseSupportSetting.js index 1b3eea40..92ab8e15 100644 --- a/public/react/src/modules/ec/ecCourseSupportSetting/ShowTableCourseSupportSetting.js +++ b/public/react/src/modules/ec/ecCourseSupportSetting/ShowTableCourseSupportSetting.js @@ -33,6 +33,7 @@ class ShowTableCourseSupportSetting extends Component { render() { const course_targets = this.props.course_targets; + const is_manager = this.props.is_manager; return (

@@ -46,11 +47,11 @@ class ShowTableCourseSupportSetting extends Component { */} - { this.props.setEditableMode(true)} } class="color-green EditCourse" data-id="5" data-tip-down="编辑"> - + }

From eab8ccec8b2ba6a28ade983fb0a720b8879630cc Mon Sep 17 00:00:00 2001 From: cxt Date: Tue, 12 Mar 2019 19:35:53 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E6=9D=83=E9=99=90=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ec_course_achievement_methods_controller.rb | 16 ++++++++++++---- app/controllers/ec_course_supports_controller.rb | 5 ++++- app/controllers/ec_courses_controller.rb | 2 +- .../_requirement_lists.html.erb | 2 +- .../ec_years/_sub_training_objectives.html.erb | 2 +- .../_training_objective_contents.html.erb | 2 +- 6 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/controllers/ec_course_achievement_methods_controller.rb b/app/controllers/ec_course_achievement_methods_controller.rb index 39b42de4..ecc74a67 100644 --- a/app/controllers/ec_course_achievement_methods_controller.rb +++ b/app/controllers/ec_course_achievement_methods_controller.rb @@ -2,6 +2,7 @@ class EcCourseAchievementMethodsController < ApplicationController before_filter :find_target, :only => [:edit_course_target, :create_evaluation_methods] skip_before_filter :verify_authenticity_token, :only => [:create_evaluation_methods, :sync_course_data] + before_filter :find_ec_course, :only => [:index] include ApplicationHelper @@ -59,11 +60,9 @@ class EcCourseAchievementMethodsController < ApplicationController ############################################################### def index achievement_list = [] - # 具体工程课程 - ec_course = EcCourse.find params[:ec_course_id] # 课程的所有目标 - targets = ec_course.ec_course_targets + targets = @ec_course.ec_course_targets targets.each do |target| evaluate_data = [] # 评价环节 @@ -95,7 +94,7 @@ class EcCourseAchievementMethodsController < ApplicationController end achievement_list << {target_id: target.id, target_evaluate_data: evaluate_data} end - render :json => {achievement_list: achievement_list} + render :json => {achievement_list: achievement_list, is_manager: @is_manager} end @@ -306,4 +305,13 @@ class EcCourseAchievementMethodsController < ApplicationController @target = EcCourseTarget.find params[:ec_course_target_id] end + def find_ec_course + @ec_course = EcCourse.find(params[:ec_course_id]) + @year = @ec_course.ec_year + @ec_major_school = @year.ec_major_school + @template_major = User.current.admin? || @ec_major_school.school.ec_school_users.pluck(:user_id).include?(User.current.id) || + @ec_major_school.ec_major_school_users.pluck(:user_id).include?(User.current.id) + @is_manager = @template_major || @ec_course.ec_course_users.pluck(:user_id).include?(User.current.id) + end + end diff --git a/app/controllers/ec_course_supports_controller.rb b/app/controllers/ec_course_supports_controller.rb index 337c183a..3e64f2db 100644 --- a/app/controllers/ec_course_supports_controller.rb +++ b/app/controllers/ec_course_supports_controller.rb @@ -47,6 +47,8 @@ class EcCourseSupportsController < ApplicationController course_support_data = [] max_support_count = 0 subitems_count = 0 + major_school = @year.ec_major_school + is_manager = User.current.admin? || major_school.school.ec_school_users.pluck(:user_id).include?(User.current.id) || major_school.ec_major_school_users.pluck(:user_id).include?(User.current.id) ec_graduation_requirements.each_with_index do |gr, i| logger.info("#############index:#{i}#####_ec_gradiation_reqiorements: #{gr.id}") subitems_count += gr.ec_graduation_subitems.count @@ -74,7 +76,8 @@ class EcCourseSupportsController < ApplicationController subitems_url: "#{graduation_requirement_ec_major_school_ec_year_path(@year, :ec_major_school_id => @year.ec_major_school_id)}", course_count: @year.ec_courses.count, course_url: "#{ec_course_setting_ec_major_school_ec_year_path(@year, :ec_major_school_id => @year.ec_major_school_id)}", - max_support_count: max_support_count} + max_support_count: max_support_count, + is_manager: is_manager} end # 毕业要求vs课程体系 详情页面 diff --git a/app/controllers/ec_courses_controller.rb b/app/controllers/ec_courses_controller.rb index 0ad029f4..5eb29b73 100644 --- a/app/controllers/ec_courses_controller.rb +++ b/app/controllers/ec_courses_controller.rb @@ -429,7 +429,7 @@ class EcCoursesController < ApplicationController {score: 70, level: "中"}, {score: 60, level: "差"}] end - render :json => {levels: ls} + render :json => {levels: ls, is_manager: @is_manager} } end end diff --git a/app/views/ec_graduation_requirements/_requirement_lists.html.erb b/app/views/ec_graduation_requirements/_requirement_lists.html.erb index 8f1edce5..623e910a 100644 --- a/app/views/ec_graduation_requirements/_requirement_lists.html.erb +++ b/app/views/ec_graduation_requirements/_requirement_lists.html.erb @@ -26,7 +26,7 @@ <% end %> <% end %> -<% else %> +<% elsif @template_major %>

diff --git a/app/views/ec_years/_sub_training_objectives.html.erb b/app/views/ec_years/_sub_training_objectives.html.erb index f86bc5d5..4df8f96b 100644 --- a/app/views/ec_years/_sub_training_objectives.html.erb +++ b/app/views/ec_years/_sub_training_objectives.html.erb @@ -13,7 +13,7 @@ <% end %> -<% elsif @ec_training_objective.present? %> +<% elsif @ec_training_objective.present? && @template_major && @ec_training_objective && @sub_training_objectives.count > 0 %>

  • diff --git a/app/views/ec_years/_training_objective_contents.html.erb b/app/views/ec_years/_training_objective_contents.html.erb index 36898d55..ac080398 100644 --- a/app/views/ec_years/_training_objective_contents.html.erb +++ b/app/views/ec_years/_training_objective_contents.html.erb @@ -12,7 +12,7 @@ 取消

-<% else %> +<% elsif @template_major && @ec_training_objective && @sub_training_objectives.count > 0 %>

From 95a3f43ca3234a638d71ea74c17e75b2c7fc56ed Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 12 Mar 2019 19:38:59 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=20=20=20=20=20=20=20=20this.props.showMo?= =?UTF-8?q?dal('=E6=8F=90=E7=A4=BA',=20'=E6=82=A8=E6=B2=A1=E6=9D=83?= =?UTF-8?q?=E9=99=90=E7=BC=96=E8=BE=91=EF=BC=8C=E8=AF=B7=E8=81=94=E7=B3=BB?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98=E3=80=82')?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ec/ecCourseSupportSetting/EditableCourseSupportSetting.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/react/src/modules/ec/ecCourseSupportSetting/EditableCourseSupportSetting.js b/public/react/src/modules/ec/ecCourseSupportSetting/EditableCourseSupportSetting.js index ca8c6660..099cbf2d 100644 --- a/public/react/src/modules/ec/ecCourseSupportSetting/EditableCourseSupportSetting.js +++ b/public/react/src/modules/ec/ecCourseSupportSetting/EditableCourseSupportSetting.js @@ -196,6 +196,10 @@ class EditableCourseSupportSetting extends Component { } handleSubmit = (e) => { + if (!this.props.is_manager) { + this.props.showModal('提示', '您没权限编辑,请联系管理员。') + return; + } this.setState({ errorMsg: '' }) e.preventDefault && e.preventDefault(); this.props.form.validateFieldsAndScroll((err, values) => { From 6142022d74a0c16d470f2c2f1cd13fb185597da9 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 12 Mar 2019 19:44:24 +0800 Subject: [PATCH 06/14] is_manager --- public/react/src/modules/ec/ecCourseSupportSetting/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/react/src/modules/ec/ecCourseSupportSetting/index.js b/public/react/src/modules/ec/ecCourseSupportSetting/index.js index 664c176b..f3aa4824 100644 --- a/public/react/src/modules/ec/ecCourseSupportSetting/index.js +++ b/public/react/src/modules/ec/ecCourseSupportSetting/index.js @@ -234,7 +234,7 @@ class EcCourseSupportSetting extends Component { } render() { - let { editableMode, schooldata } = this.state; + let { editableMode, schooldata, is_manager } = this.state; if (!schooldata) schooldata = {} const course_targets = this.state.course_targets; @@ -290,7 +290,7 @@ class EcCourseSupportSetting extends Component {

- { course_targets&&course_targets.length>=0 ? (editableMode ? + { course_targets&&course_targets.length>=0 ? (editableMode && is_manager ? Date: Tue, 12 Mar 2019 19:53:27 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E4=B8=93=E4=B8=9A=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=97=A0=E5=88=A0=E9=99=A4=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/ecs/_department_list.html.erb | 2 +- app/views/ecs/_school_manager.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/ecs/_department_list.html.erb b/app/views/ecs/_department_list.html.erb index 54590da4..4216372e 100644 --- a/app/views/ecs/_department_list.html.erb +++ b/app/views/ecs/_department_list.html.erb @@ -29,7 +29,7 @@

- <% if major_manager %> + <% if @is_school_manager %> 删除 <% end %> <%= major_manager ? "配置" : "查看" %> diff --git a/app/views/ecs/_school_manager.html.erb b/app/views/ecs/_school_manager.html.erb index ea46870a..a94fcf01 100644 --- a/app/views/ecs/_school_manager.html.erb +++ b/app/views/ecs/_school_manager.html.erb @@ -1,6 +1,6 @@ <% major_school.users.each do |user| %> <%= user.show_real_name %> - <% if @is_school_manager || major_school.users.where(:id => User.current.id).count > 0 %> + <% if @is_school_manager %> <% end %> From 916b27d3ca3ecaa8954612f0473a07c156c3b986 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Tue, 12 Mar 2019 19:54:10 +0800 Subject: [PATCH 08/14] b --- app/views/common/index.html.erb | 2 +- public/react/build/asset-manifest.json | 4 ++-- public/react/build/index.html | 2 +- public/react/build/service-worker.js | 2 +- .../build/static/js/{main.60c226df.js => main.7d62a5b7.js} | 4 ++-- .../static/js/{main.60c226df.js.map => main.7d62a5b7.js.map} | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) rename public/react/build/static/js/{main.60c226df.js => main.7d62a5b7.js} (56%) rename public/react/build/static/js/{main.60c226df.js.map => main.7d62a5b7.js.map} (68%) diff --git a/app/views/common/index.html.erb b/app/views/common/index.html.erb index 755bc16c..90da419b 100644 --- a/app/views/common/index.html.erb +++ b/app/views/common/index.html.erb @@ -1 +1 @@ -Educoder
\ No newline at end of file +Educoder
\ No newline at end of file diff --git a/public/react/build/asset-manifest.json b/public/react/build/asset-manifest.json index 2caea5c6..a4db544c 100644 --- a/public/react/build/asset-manifest.json +++ b/public/react/build/asset-manifest.json @@ -67,8 +67,8 @@ "./static/js/9.2971266e.chunk.js.map": "./static/js/9.2971266e.chunk.js.map", "main.css": "./static/css/main.80b6ec5e.css", "main.css.map": "./static/css/main.80b6ec5e.css.map", - "main.js": "./static/js/main.60c226df.js", - "main.js.map": "./static/js/main.60c226df.js.map", + "main.js": "./static/js/main.7d62a5b7.js", + "main.js.map": "./static/js/main.7d62a5b7.js.map", "static\\media\\ERASBD.ttf": "static/media/ERASBD.d5213044.ttf", "static\\media\\background1.png": "static/media/background1.a34df396.png", "static\\media\\background2.png": "static/media/background2.22ee659e.png", diff --git a/public/react/build/index.html b/public/react/build/index.html index 880dbc6c..d530fe84 100644 --- a/public/react/build/index.html +++ b/public/react/build/index.html @@ -1 +1 @@ -Educoder
\ No newline at end of file +Educoder
\ No newline at end of file diff --git a/public/react/build/service-worker.js b/public/react/build/service-worker.js index 24ceb43d..6f47b92b 100644 --- a/public/react/build/service-worker.js +++ b/public/react/build/service-worker.js @@ -1 +1 @@ -"use strict";var precacheConfig=[["/react/build/index.html","60f6eee7a49ba17b50f765c9c70536cb"],["/react/build/static/css/main.80b6ec5e.css","8fdcda3ed52b4e13601525ab60bbb8bf"],["/react/build/static/js/0.f26528b1.chunk.js","b05830ea165f1be363f0de5c74cfa121"],["/react/build/static/js/1.cc33d6fc.chunk.js","55187db20a27e37370902e052db614a2"],["/react/build/static/js/10.ab08ae3d.chunk.js","5f352ab1e8c6c4cc603938bd7d7940fe"],["/react/build/static/js/11.c1a78f08.chunk.js","074486b3c6b106b538225de45e0c01fe"],["/react/build/static/js/12.fedd75c3.chunk.js","09ad56a46f2478f74c745c119621cb95"],["/react/build/static/js/13.03b8ecf4.chunk.js","73b8f165a329820b9a7deb384da3d52c"],["/react/build/static/js/14.97e6fd74.chunk.js","062a1135ba518367fc04f90d6c0824d4"],["/react/build/static/js/15.05fc7db4.chunk.js","80a0c89ec097b03433ab05889e06fb19"],["/react/build/static/js/16.efbbac6a.chunk.js","285a5c8bc3bffc1f0648d3dae91f4590"],["/react/build/static/js/17.6e20f18f.chunk.js","2bb2ef35a4d3c6978f52af2a68e44bd7"],["/react/build/static/js/18.ee48530e.chunk.js","63e1b7c632e535e0840eb778c1f0af53"],["/react/build/static/js/19.cadd2a48.chunk.js","b2c0f3a12aa74e26b1a2dadda38ae396"],["/react/build/static/js/2.9a1bdcfa.chunk.js","68bafdb258db5b1a9307e33f41aaca38"],["/react/build/static/js/20.5086cbe2.chunk.js","b86b7efa7733d9f88bf0803394749ea2"],["/react/build/static/js/21.d3d939d5.chunk.js","50825b8a13a161fe0fde2c1fdb5c595a"],["/react/build/static/js/22.234575f5.chunk.js","f75f1b63391890fb4fb7c9f139645215"],["/react/build/static/js/23.67ab77f0.chunk.js","d656b01479c9afba44cb3ae2bfaa105b"],["/react/build/static/js/24.27d7be07.chunk.js","cfe38492d77e4a4934b3efac37547ad7"],["/react/build/static/js/25.c8a915ae.chunk.js","9e228ec910dadd44d605b9d41bfc674a"],["/react/build/static/js/26.488c5233.chunk.js","c06a344427d65d6e83763a1ffaddbd30"],["/react/build/static/js/27.ba45f1d3.chunk.js","1528327b52188b4340e3d07e8b955d19"],["/react/build/static/js/28.8071de5d.chunk.js","440680e217314a0c4249c6762b949910"],["/react/build/static/js/29.67275bf0.chunk.js","2efaea02a4ab7b71a16235ab07e8f6c1"],["/react/build/static/js/3.935bae8c.chunk.js","5480825f8b06efdebba92b96fccce353"],["/react/build/static/js/30.4964944f.chunk.js","42e5d2baf1614e42c77011fee1f09d9e"],["/react/build/static/js/31.5a1072f1.chunk.js","8db8e0c62fc7e7f921abc05a87f0fec7"],["/react/build/static/js/32.2ff1fc95.chunk.js","063c3f8fd37d18efdd3df985d5e09d47"],["/react/build/static/js/4.017bf48d.chunk.js","07f14d1e7de2efdf442551cf608d3f00"],["/react/build/static/js/5.27b42764.chunk.js","3b200ca48c23d742cb1576cf501521c2"],["/react/build/static/js/6.1d80a66b.chunk.js","c6dfdc61d56f16824ef459b68df4d6e6"],["/react/build/static/js/7.03d1beb1.chunk.js","6d0cd6a152b45b206c323a55916b9c79"],["/react/build/static/js/8.ea688812.chunk.js","357e5e3c1b2831d96f39eb86074eaba2"],["/react/build/static/js/9.2971266e.chunk.js","8657e302b237e10315c440d9a1e102e7"],["/react/build/static/media/ERASBD.d5213044.ttf","d5213044cfad1e4f4b5d1f3138752a80"],["/react/build/static/media/background1.a34df396.png","a34df396b94e13a7ef19d1526317ae1c"],["/react/build/static/media/background2.22ee659e.png","22ee659e8abfe4c67e36db55be300d49"],["/react/build/static/media/courses.7b27495b.jpg","7b27495bc62c863b83094d6bfd373751"],["/react/build/static/media/group.2f91e9cd.png","2f91e9cde967613d9ad3037dbb3145c8"],["/react/build/static/media/introduceback.3d75d3db.jpg","3d75d3dbd2546c898755d856ea269b3f"],["/react/build/static/media/logo.ee7cd8ed.svg","ee7cd8ed2dcec943251eb2763684fc6f"],["/react/build/static/media/match_ad.4e957369.jpg","4e957369790f079662eb2dca03ece6be"],["/react/build/static/media/message.a7af2a8f.svg","a7af2a8f2f74540f8d77004b10a10ec3"],["/react/build/static/media/messagegrey.8c1dff55.svg","8c1dff55058b2926819eeda567a3ec9d"],["/react/build/static/media/nodata.cde5b659.png","cde5b65921644fe035fd62ab7297a47e"],["/react/build/static/media/passall.46817e26.png","46817e2696bbb2ac4bf0e5bc4e8b101e"],["/react/build/static/media/passpart.4aaf3e6b.png","4aaf3e6b4667dc531eee7f4e5f807d70"],["/react/build/static/media/rc-tree.776c7fe6.png","776c7fe67df0637005b1a1372066ed84"],["/react/build/static/media/search.0e1dcc19.svg","0e1dcc199dacdae66caeb45b0c7ab3e7"],["/react/build/static/media/vedio.6a98b4f1.png","6a98b4f1ff183501b71700f50d805f31"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,a){var c=new URL(e);return"/"===c.pathname.slice(-1)&&(c.pathname+=a),c.toString()},cleanResponse=function(a){return a.redirected?("body"in a?Promise.resolve(a.body):a.blob()).then(function(e){return new Response(e,{headers:a.headers,status:a.status,statusText:a.statusText})}):Promise.resolve(a)},createCacheKey=function(e,a,c,t){var s=new URL(e);return t&&s.pathname.match(t)||(s.search+=(s.search?"&":"")+encodeURIComponent(a)+"="+encodeURIComponent(c)),s.toString()},isPathWhitelisted=function(e,a){if(0===e.length)return!0;var c=new URL(a).pathname;return e.some(function(e){return c.match(e)})},stripIgnoredUrlParameters=function(e,c){var a=new URL(e);return a.hash="",a.search=a.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(a){return c.every(function(e){return!e.test(a[0])})}).map(function(e){return e.join("=")}).join("&"),a.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var a=e[0],c=e[1],t=new URL(a,self.location),s=createCacheKey(t,hashParamName,c,/\.\w{8}\./);return[t.toString(),s]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(t){return setOfCachedUrls(t).then(function(c){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(a){if(!c.has(a)){var e=new Request(a,{credentials:"same-origin"});return fetch(e).then(function(e){if(!e.ok)throw new Error("Request for "+a+" returned a response with status "+e.status);return cleanResponse(e).then(function(e){return t.put(a,e)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var c=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(a){return a.keys().then(function(e){return Promise.all(e.map(function(e){if(!c.has(e.url))return a.delete(e)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(a){if("GET"===a.request.method){var e,c=stripIgnoredUrlParameters(a.request.url,ignoreUrlParametersMatching),t="index.html";(e=urlsToCacheKeys.has(c))||(c=addDirectoryIndex(c,t),e=urlsToCacheKeys.has(c));var s="/index.html";!e&&"navigate"===a.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],a.request.url)&&(c=new URL(s,self.location).toString(),e=urlsToCacheKeys.has(c)),e&&a.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(c)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(e){return console.warn('Couldn\'t serve response for "%s" from cache: %O',a.request.url,e),fetch(a.request)}))}}); \ No newline at end of file +"use strict";var precacheConfig=[["/react/build/index.html","82626196b2baf0c72e5e7207cc9b030a"],["/react/build/static/css/main.80b6ec5e.css","8fdcda3ed52b4e13601525ab60bbb8bf"],["/react/build/static/js/0.f26528b1.chunk.js","b05830ea165f1be363f0de5c74cfa121"],["/react/build/static/js/1.cc33d6fc.chunk.js","55187db20a27e37370902e052db614a2"],["/react/build/static/js/10.ab08ae3d.chunk.js","5f352ab1e8c6c4cc603938bd7d7940fe"],["/react/build/static/js/11.c1a78f08.chunk.js","074486b3c6b106b538225de45e0c01fe"],["/react/build/static/js/12.fedd75c3.chunk.js","09ad56a46f2478f74c745c119621cb95"],["/react/build/static/js/13.03b8ecf4.chunk.js","73b8f165a329820b9a7deb384da3d52c"],["/react/build/static/js/14.97e6fd74.chunk.js","062a1135ba518367fc04f90d6c0824d4"],["/react/build/static/js/15.05fc7db4.chunk.js","80a0c89ec097b03433ab05889e06fb19"],["/react/build/static/js/16.efbbac6a.chunk.js","285a5c8bc3bffc1f0648d3dae91f4590"],["/react/build/static/js/17.6e20f18f.chunk.js","2bb2ef35a4d3c6978f52af2a68e44bd7"],["/react/build/static/js/18.ee48530e.chunk.js","63e1b7c632e535e0840eb778c1f0af53"],["/react/build/static/js/19.cadd2a48.chunk.js","b2c0f3a12aa74e26b1a2dadda38ae396"],["/react/build/static/js/2.9a1bdcfa.chunk.js","68bafdb258db5b1a9307e33f41aaca38"],["/react/build/static/js/20.5086cbe2.chunk.js","b86b7efa7733d9f88bf0803394749ea2"],["/react/build/static/js/21.d3d939d5.chunk.js","50825b8a13a161fe0fde2c1fdb5c595a"],["/react/build/static/js/22.234575f5.chunk.js","f75f1b63391890fb4fb7c9f139645215"],["/react/build/static/js/23.67ab77f0.chunk.js","d656b01479c9afba44cb3ae2bfaa105b"],["/react/build/static/js/24.27d7be07.chunk.js","cfe38492d77e4a4934b3efac37547ad7"],["/react/build/static/js/25.c8a915ae.chunk.js","9e228ec910dadd44d605b9d41bfc674a"],["/react/build/static/js/26.488c5233.chunk.js","c06a344427d65d6e83763a1ffaddbd30"],["/react/build/static/js/27.ba45f1d3.chunk.js","1528327b52188b4340e3d07e8b955d19"],["/react/build/static/js/28.8071de5d.chunk.js","440680e217314a0c4249c6762b949910"],["/react/build/static/js/29.67275bf0.chunk.js","2efaea02a4ab7b71a16235ab07e8f6c1"],["/react/build/static/js/3.935bae8c.chunk.js","5480825f8b06efdebba92b96fccce353"],["/react/build/static/js/30.4964944f.chunk.js","42e5d2baf1614e42c77011fee1f09d9e"],["/react/build/static/js/31.5a1072f1.chunk.js","8db8e0c62fc7e7f921abc05a87f0fec7"],["/react/build/static/js/32.2ff1fc95.chunk.js","063c3f8fd37d18efdd3df985d5e09d47"],["/react/build/static/js/4.017bf48d.chunk.js","07f14d1e7de2efdf442551cf608d3f00"],["/react/build/static/js/5.27b42764.chunk.js","3b200ca48c23d742cb1576cf501521c2"],["/react/build/static/js/6.1d80a66b.chunk.js","c6dfdc61d56f16824ef459b68df4d6e6"],["/react/build/static/js/7.03d1beb1.chunk.js","6d0cd6a152b45b206c323a55916b9c79"],["/react/build/static/js/8.ea688812.chunk.js","357e5e3c1b2831d96f39eb86074eaba2"],["/react/build/static/js/9.2971266e.chunk.js","8657e302b237e10315c440d9a1e102e7"],["/react/build/static/media/ERASBD.d5213044.ttf","d5213044cfad1e4f4b5d1f3138752a80"],["/react/build/static/media/background1.a34df396.png","a34df396b94e13a7ef19d1526317ae1c"],["/react/build/static/media/background2.22ee659e.png","22ee659e8abfe4c67e36db55be300d49"],["/react/build/static/media/courses.7b27495b.jpg","7b27495bc62c863b83094d6bfd373751"],["/react/build/static/media/group.2f91e9cd.png","2f91e9cde967613d9ad3037dbb3145c8"],["/react/build/static/media/introduceback.3d75d3db.jpg","3d75d3dbd2546c898755d856ea269b3f"],["/react/build/static/media/logo.ee7cd8ed.svg","ee7cd8ed2dcec943251eb2763684fc6f"],["/react/build/static/media/match_ad.4e957369.jpg","4e957369790f079662eb2dca03ece6be"],["/react/build/static/media/message.a7af2a8f.svg","a7af2a8f2f74540f8d77004b10a10ec3"],["/react/build/static/media/messagegrey.8c1dff55.svg","8c1dff55058b2926819eeda567a3ec9d"],["/react/build/static/media/nodata.cde5b659.png","cde5b65921644fe035fd62ab7297a47e"],["/react/build/static/media/passall.46817e26.png","46817e2696bbb2ac4bf0e5bc4e8b101e"],["/react/build/static/media/passpart.4aaf3e6b.png","4aaf3e6b4667dc531eee7f4e5f807d70"],["/react/build/static/media/rc-tree.776c7fe6.png","776c7fe67df0637005b1a1372066ed84"],["/react/build/static/media/search.0e1dcc19.svg","0e1dcc199dacdae66caeb45b0c7ab3e7"],["/react/build/static/media/vedio.6a98b4f1.png","6a98b4f1ff183501b71700f50d805f31"]],cacheName="sw-precache-v3-sw-precache-webpack-plugin-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,a){var c=new URL(e);return"/"===c.pathname.slice(-1)&&(c.pathname+=a),c.toString()},cleanResponse=function(a){return a.redirected?("body"in a?Promise.resolve(a.body):a.blob()).then(function(e){return new Response(e,{headers:a.headers,status:a.status,statusText:a.statusText})}):Promise.resolve(a)},createCacheKey=function(e,a,c,t){var s=new URL(e);return t&&s.pathname.match(t)||(s.search+=(s.search?"&":"")+encodeURIComponent(a)+"="+encodeURIComponent(c)),s.toString()},isPathWhitelisted=function(e,a){if(0===e.length)return!0;var c=new URL(a).pathname;return e.some(function(e){return c.match(e)})},stripIgnoredUrlParameters=function(e,c){var a=new URL(e);return a.hash="",a.search=a.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(a){return c.every(function(e){return!e.test(a[0])})}).map(function(e){return e.join("=")}).join("&"),a.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var a=e[0],c=e[1],t=new URL(a,self.location),s=createCacheKey(t,hashParamName,c,/\.\w{8}\./);return[t.toString(),s]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(t){return setOfCachedUrls(t).then(function(c){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(a){if(!c.has(a)){var e=new Request(a,{credentials:"same-origin"});return fetch(e).then(function(e){if(!e.ok)throw new Error("Request for "+a+" returned a response with status "+e.status);return cleanResponse(e).then(function(e){return t.put(a,e)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var c=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(a){return a.keys().then(function(e){return Promise.all(e.map(function(e){if(!c.has(e.url))return a.delete(e)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(a){if("GET"===a.request.method){var e,c=stripIgnoredUrlParameters(a.request.url,ignoreUrlParametersMatching),t="index.html";(e=urlsToCacheKeys.has(c))||(c=addDirectoryIndex(c,t),e=urlsToCacheKeys.has(c));var s="/index.html";!e&&"navigate"===a.request.mode&&isPathWhitelisted(["^(?!\\/__).*"],a.request.url)&&(c=new URL(s,self.location).toString(),e=urlsToCacheKeys.has(c)),e&&a.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(c)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(e){return console.warn('Couldn\'t serve response for "%s" from cache: %O',a.request.url,e),fetch(a.request)}))}}); \ No newline at end of file diff --git a/public/react/build/static/js/main.60c226df.js b/public/react/build/static/js/main.7d62a5b7.js similarity index 56% rename from public/react/build/static/js/main.60c226df.js rename to public/react/build/static/js/main.7d62a5b7.js index b9dd96b4..ea6b4dfe 100644 --- a/public/react/build/static/js/main.60c226df.js +++ b/public/react/build/static/js/main.7d62a5b7.js @@ -1,2 +1,2 @@ -!function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n=window.webpackJsonp;window.webpackJsonp=function(t,r,a){for(var i,c,s=0,l=[];s=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var o=n(641);e.exports=r},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!==e&&void 0!==e&&this.setState(e)}function o(e){function t(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!==n&&void 0!==n?n:null}this.setState(t.bind(this))}function a(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function i(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!==typeof e.getDerivedStateFromProps&&"function"!==typeof t.getSnapshotBeforeUpdate)return e;var n=null,i=null,c=null;if("function"===typeof t.componentWillMount?n="componentWillMount":"function"===typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"===typeof t.componentWillReceiveProps?i="componentWillReceiveProps":"function"===typeof t.UNSAFE_componentWillReceiveProps&&(i="UNSAFE_componentWillReceiveProps"),"function"===typeof t.componentWillUpdate?c="componentWillUpdate":"function"===typeof t.UNSAFE_componentWillUpdate&&(c="UNSAFE_componentWillUpdate"),null!==n||null!==i||null!==c){var s=e.displayName||e.name,l="function"===typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+s+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==i?"\n "+i:"")+(null!==c?"\n "+c:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"===typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"===typeof t.getSnapshotBeforeUpdate){if("function"!==typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=a;var u=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;u.call(this,e,t,r)}}return e}Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"polyfill",function(){return i}),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var o=t.withTheme,a=void 0!==o&&o,y=t.flip,O=void 0===y?null:y,x=t.name,k=(0,m.default)(t,["withTheme","flip","name"]),E=(0,M.default)(e),D=E.themingEnabled||a||"string"===typeof x;N+=1,E.options.index=N;var L=function(e){function t(e,n){var o;(0,u.default)(this,t),o=(0,p.default)(this,(t.__proto__||(0,l.default)(t)).call(this,e,n)),Object.defineProperty((0,h.default)(o),"state",{configurable:!0,enumerable:!0,writable:!0,value:{}}),Object.defineProperty((0,h.default)(o),"disableStylesGeneration",{configurable:!0,enumerable:!0,writable:!0,value:!1}),Object.defineProperty((0,h.default)(o),"jss",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty((0,h.default)(o),"sheetOptions",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty((0,h.default)(o),"sheetsManager",{configurable:!0,enumerable:!0,writable:!0,value:z}),Object.defineProperty((0,h.default)(o),"stylesCreatorSaved",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty((0,h.default)(o),"theme",{configurable:!0,enumerable:!0,writable:!0,value:null}),Object.defineProperty((0,h.default)(o),"unsubscribeId",{configurable:!0,enumerable:!0,writable:!0,value:null}),o.jss=o.context[C.jss]||P;var a=o.context.muiThemeProviderOptions;return a&&(a.sheetsManager&&(o.sheetsManager=a.sheetsManager),o.disableStylesGeneration=a.disableStylesGeneration),o.stylesCreatorSaved=E,o.sheetOptions=(0,s.default)({generateClassName:T},o.context[C.sheetOptions]),o.theme=D?S.default.initial(n)||r():A,o.attach(o.theme),o.cacheClasses={value:null,lastProp:null,lastJSS:{}},o}return(0,d.default)(t,e),(0,f.default)(t,[{key:"componentDidMount",value:function(){var e=this;D&&(this.unsubscribeId=S.default.subscribe(this.context,function(t){var n=e.theme;e.theme=t,e.attach(e.theme),e.setState({},function(){e.detach(n)})}))}},{key:"componentDidUpdate",value:function(){this.stylesCreatorSaved,0}},{key:"componentWillUnmount",value:function(){this.detach(this.theme),null!==this.unsubscribeId&&S.default.unsubscribe(this.context,this.unsubscribeId)}},{key:"getClasses",value:function(){var e=this,t=!1;if(!this.disableStylesGeneration){var n=this.sheetsManager.get(this.stylesCreatorSaved),r=n.get(this.theme);r.sheet.classes!==this.cacheClasses.lastJSS&&(this.cacheClasses.lastJSS=r.sheet.classes,t=!0)}return this.props.classes!==this.cacheClasses.lastProp&&(this.cacheClasses.lastProp=this.props.classes,t=!0),t&&(this.props.classes?this.cacheClasses.value=(0,s.default)({},this.cacheClasses.lastJSS,(0,c.default)(this.props.classes).reduce(function(t,n){return e.props.classes[n]&&(t[n]="".concat(e.cacheClasses.lastJSS[n]," ").concat(e.props.classes[n])),t},{})):this.cacheClasses.value=this.cacheClasses.lastJSS),this.cacheClasses.value}},{key:"attach",value:function(e){if(!this.disableStylesGeneration){var t=this.stylesCreatorSaved,n=this.sheetsManager.get(t);n||(n=new v.default,this.sheetsManager.set(t,n));var r=n.get(e);if(r||(r={refs:0,sheet:null},n.set(e,r)),0===r.refs){var o=t.create(e,x),a=x,i=this.jss.createStyleSheet(o,(0,s.default)({meta:a,classNamePrefix:a,flip:"boolean"===typeof O?O:"rtl"===e.direction,link:!1},this.sheetOptions,t.options,{name:x},k));r.sheet=i,i.attach();var c=this.context[C.sheetsRegistry];c&&c.add(i)}r.refs+=1}}},{key:"detach",value:function(e){if(!this.disableStylesGeneration){var t=this.stylesCreatorSaved,n=this.sheetsManager.get(t),r=n.get(e);if(r.refs-=1,0===r.refs){n.delete(e),this.jss.removeStyleSheet(r.sheet);var o=this.context[C.sheetsRegistry];o&&o.remove(r.sheet)}}}},{key:"render",value:function(){var e=this.props,t=(e.classes,e.innerRef),r=(0,m.default)(e,["classes","innerRef"]),o=(0,j.default)({theme:this.theme,name:x});return a&&(o.theme=this.theme),g.default.createElement(n,(0,i.default)({},o,{classes:this.getClasses(),ref:t},r))}}]),t}(g.default.Component);return L.propTypes={},L.contextTypes=(0,s.default)({muiThemeProviderOptions:b.default.object},w.default,D?S.default.contextTypes:{}),(0,_.default)(L,n),L}},I=L;t.default=I},function(e,t,n){"use strict";function r(){return r=Object.assign||function(e){for(var t=1;t>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?h(e)+t:t}function v(){return!0}function y(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function g(e,t){return _(e,t,0)}function b(e,t){return _(e,t,t)}function _(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function w(e){this.next=e}function O(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function C(){return{value:void 0,done:!0}}function x(e){return!!E(e)}function k(e){return e&&"function"===typeof e.next}function S(e){var t=E(e);return t&&t.call(e)}function E(e){var t=e&&(On&&e[On]||e[Cn]);if("function"===typeof t)return t}function M(e){return e&&"number"===typeof e.length}function j(e){return null===e||void 0===e?R():a(e)?e.toSeq():F(e)}function P(e){return null===e||void 0===e?R().toKeyedSeq():a(e)?i(e)?e.toSeq():e.fromEntrySeq():H(e)}function T(e){return null===e||void 0===e?R():a(e)?i(e)?e.entrySeq():e.toIndexedSeq():V(e)}function N(e){return(null===e||void 0===e?R():a(e)?i(e)?e.entrySeq():e:V(e)).toSetSeq()}function z(e){this._array=e,this.size=e.length}function D(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function A(e){this._iterable=e,this.size=e.length||e.size}function L(e){this._iterator=e,this._iteratorCache=[]}function I(e){return!(!e||!e[kn])}function R(){return Sn||(Sn=new z([]))}function H(e){var t=Array.isArray(e)?new z(e).fromEntrySeq():k(e)?new L(e).fromEntrySeq():x(e)?new A(e).fromEntrySeq():"object"===typeof e?new D(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function V(e){var t=B(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function F(e){var t=B(e)||"object"===typeof e&&new D(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function B(e){return M(e)?new z(e):k(e)?new L(e):x(e)?new A(e):void 0}function U(e,t,n,r){var o=e._cache;if(o){for(var a=o.length-1,i=0;i<=a;i++){var c=o[n?a-i:i];if(!1===t(c[1],r?c[0]:i,e))return i+1}return i}return e.__iterateUncached(t,n)}function K(e,t,n,r){var o=e._cache;if(o){var a=o.length-1,i=0;return new w(function(){var e=o[n?a-i:i];return i++>a?C():O(t,r?e[0]:i-1,e[1])})}return e.__iteratorUncached(t,n)}function W(e,t){return t?q(t,e,"",{"":e}):Y(e)}function q(e,t,n,r){return Array.isArray(t)?e.call(r,n,T(t).map(function(n,r){return q(e,n,r,t)})):G(t)?e.call(r,n,P(t).map(function(n,r){return q(e,n,r,t)})):t}function Y(e){return Array.isArray(e)?T(e).map(Y).toList():G(e)?P(e).map(Y).toMap():e}function G(e){return e&&(e.constructor===Object||void 0===e.constructor)}function $(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if("function"===typeof e.valueOf&&"function"===typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!("function"!==typeof e.equals||"function"!==typeof t.equals||!e.equals(t))}function Q(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||i(e)!==i(t)||c(e)!==c(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!s(e);if(l(e)){var r=e.entries();return t.every(function(e,t){var o=r.next().value;return o&&$(o[1],e)&&(n||$(o[0],t))})&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"===typeof e.cacheResult&&e.cacheResult();else{o=!0;var u=e;e=t,t=u}var f=!0,p=t.__iterate(function(t,r){if(n?!e.has(t):o?!$(t,e.get(r,vn)):!$(e.get(r,vn),t))return f=!1,!1});return f&&e.size===p}function X(e,t){if(!(this instanceof X))return new X(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(En)return En;En=this}}function Z(e,t){if(!e)throw new Error(t)}function J(e,t,n){if(!(this instanceof J))return new J(e,t,n);if(Z(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t>>1&1073741824|3221225471&e}function ae(e){if(!1===e||null===e||void 0===e)return 0;if("function"===typeof e.valueOf&&(!1===(e=e.valueOf())||null===e||void 0===e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)e/=4294967295,n^=e;return oe(n)}if("string"===t)return e.length>Ln?ie(e):ce(e);if("function"===typeof e.hashCode)return e.hashCode();if("object"===t)return se(e);if("function"===typeof e.toString)return ce(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function ie(e){var t=Hn[e];return void 0===t&&(t=ce(e),Rn===In&&(Rn=0,Hn={}),Rn++,Hn[e]=t),t}function ce(e){for(var t=0,n=0;n0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}function ue(e){Z(e!==1/0,"Cannot perform this action with an infinite size.")}function fe(e){return null===e||void 0===e?Oe():pe(e)&&!l(e)?e:Oe().withMutations(function(t){var r=n(e);ue(r.size),r.forEach(function(e,n){return t.set(n,e)})})}function pe(e){return!(!e||!e[Vn])}function de(e,t){this.ownerID=e,this.entries=t}function he(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function me(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function ve(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function ye(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function ge(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&_e(e._root)}function be(e,t){return O(e,t[0],t[1])}function _e(e,t){return{node:e,index:0,__prev:t}}function we(e,t,n,r){var o=Object.create(Fn);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Oe(){return Bn||(Bn=we(0))}function Ce(e,t,n){var r,o;if(e._root){var a=u(yn),i=u(gn);if(r=xe(e._root,e.__ownerID,0,void 0,t,n,a,i),!i.value)return e;o=e.size+(a.value?n===vn?-1:1:0)}else{if(n===vn)return e;o=1,r=new de(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?we(o,r):Oe()}function xe(e,t,n,r,o,a,i,c){return e?e.update(t,n,r,o,a,i,c):a===vn?e:(f(c),f(i),new ye(t,r,[o,a]))}function ke(e){return e.constructor===ye||e.constructor===ve}function Se(e,t,n,r,o){if(e.keyHash===r)return new ve(t,r,[e.entry,o]);var a,i=(0===n?e.keyHash:e.keyHash>>>n)&mn,c=(0===n?r:r>>>n)&mn;return new he(t,1<>>=1)i[c]=1&n?t[a++]:void 0;return i[r]=o,new me(e,a+1,i)}function Pe(e,t,r){for(var o=[],i=0;i>1&1431655765,e=(858993459&e)+(e>>2&858993459),e=e+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Le(e,t,n,r){var o=r?e:d(e);return o[t]=n,o}function Ie(e,t,n,r){var o=e.length+1;if(r&&t+1===o)return e[t]=n,e;for(var a=new Array(o),i=0,c=0;c0&&oa?0:a-n,l=i-n;return l>hn&&(l=hn),function(){if(o===l)return $n;var e=t?--l:o++;return r&&r[e]}}function o(e,r,o){var c,s=e&&e.array,l=o>a?0:a-o>>r,u=1+(i-o>>r);return u>hn&&(u=hn),function(){for(;;){if(c){var e=c();if(e!==$n)return e;c=null}if(l===u)return $n;var a=t?--u:l++;c=n(s&&s[a],r-dn,o+(a<=e.size||t<0)return e.withMutations(function(e){t<0?$e(e,t).set(0,n):$e(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,o=e._root,a=u(gn);return t>=Xe(e._capacity)?r=qe(r,e.__ownerID,0,t,n,a):o=qe(o,e.__ownerID,e._level,t,n,a),a.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):Ue(e._origin,e._capacity,e._level,o,r):e}function qe(e,t,n,r,o,a){var i=r>>>n&mn,c=e&&i0){var l=e&&e.array[i],u=qe(l,t,n-dn,r,o,a);return u===l?e:(s=Ye(e,t),s.array[i]=u,s)}return c&&e.array[i]===o?e:(f(a),s=Ye(e,t),void 0===o&&i===s.array.length-1?s.array.pop():s.array[i]=o,s)}function Ye(e,t){return t&&e&&t===e.ownerID?e:new Fe(e?e.array.slice():[],t)}function Ge(e,t){if(t>=Xe(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&mn],r-=dn;return n}}function $e(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new p,o=e._origin,a=e._capacity,i=o+t,c=void 0===n?a:n<0?a+n:o+n;if(i===o&&c===a)return e;if(i>=c)return e.clear();for(var s=e._level,l=e._root,u=0;i+u<0;)l=new Fe(l&&l.array.length?[void 0,l]:[],r),s+=dn,u+=1<=1<f?new Fe([],r):h;if(h&&d>f&&idn;y-=dn){var g=f>>>y&mn;v=v.array[g]=Ye(v.array[g],r)}v.array[f>>>dn&mn]=h}if(c=d)i-=d,c-=d,s=dn,l=null,m=m&&m.removeBefore(r,0,i);else if(i>o||d>>s&mn;if(b!==d>>>s&mn)break;b&&(u+=(1<o&&(l=l.removeBefore(r,s,i-u)),l&&di&&(i=l.size),a(s)||(l=l.map(function(e){return W(e)})),o.push(l)}return i>e.size&&(e=e.setSize(i)),ze(e,t,o)}function Xe(e){return e>>dn<=hn&&i.size>=2*a.size?(o=i.filter(function(e,t){return void 0!==e&&c!==t}),r=o.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=a.remove(t),o=c===i.size-1?i.pop():i.set(c,void 0))}else if(s){if(n===i.get(c)[1])return e;r=a,o=i.set(c,[t,n])}else r=a.set(t,i.size),o=i.set(i.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):et(r,o)}function rt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function ot(e){this._iter=e,this.size=e.size}function at(e){this._iter=e,this.size=e.size}function it(e){this._iter=e,this.size=e.size}function ct(e){var t=Mt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=jt,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===wn){var r=e.__iterator(t,n);return new w(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===_n?bn:_n,n)},t}function st(e,t,n){var r=Mt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var a=e.get(r,vn);return a===vn?o:t.call(n,a,r,e)},r.__iterateUncached=function(r,o){var a=this;return e.__iterate(function(e,o,i){return!1!==r(t.call(n,e,o,i),o,a)},o)},r.__iteratorUncached=function(r,o){var a=e.__iterator(wn,o);return new w(function(){var o=a.next();if(o.done)return o;var i=o.value,c=i[0];return O(r,c,t.call(n,i[1],c,e),o)})},r}function lt(e,t){var n=Mt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=ct(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=jt,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function ut(e,t,n,r){var o=Mt(e);return r&&(o.has=function(r){var o=e.get(r,vn);return o!==vn&&!!t.call(n,o,r,e)},o.get=function(r,o){var a=e.get(r,vn);return a!==vn&&t.call(n,a,r,e)?a:o}),o.__iterateUncached=function(o,a){var i=this,c=0;return e.__iterate(function(e,a,s){if(t.call(n,e,a,s))return c++,o(e,r?a:c-1,i)},a),c},o.__iteratorUncached=function(o,a){var i=e.__iterator(wn,a),c=0;return new w(function(){for(;;){var a=i.next();if(a.done)return a;var s=a.value,l=s[0],u=s[1];if(t.call(n,u,l,e))return O(o,r?l:c++,u,a)}})},o}function ft(e,t,n){var r=fe().asMutable();return e.__iterate(function(o,a){r.update(t.call(n,o,a,e),0,function(e){return e+1})}),r.asImmutable()}function pt(e,t,n){var r=i(e),o=(l(e)?Ze():fe()).asMutable();e.__iterate(function(a,i){o.update(t.call(n,a,i,e),function(e){return e=e||[],e.push(r?[i,a]:a),e})});var a=Et(e);return o.map(function(t){return xt(e,a(t))})}function dt(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n|=0),y(t,n,o))return e;var a=g(t,o),i=b(n,o);if(a!==a||i!==i)return dt(e.toSeq().cacheResult(),t,n,r);var c,s=i-a;s===s&&(c=s<0?0:s);var l=Mt(e);return l.size=0===c?c:e.size&&c||void 0,!r&&I(e)&&c>=0&&(l.get=function(t,n){return t=m(this,t),t>=0&&tc)return C();var e=o.next();return r||t===_n?e:t===bn?O(t,s-1,void 0,e):O(t,s-1,e.value[1],e)})},l}function ht(e,t,n){var r=Mt(e);return r.__iterateUncached=function(r,o){var a=this;if(o)return this.cacheResult().__iterate(r,o);var i=0;return e.__iterate(function(e,o,c){return t.call(n,e,o,c)&&++i&&r(e,o,a)}),i},r.__iteratorUncached=function(r,o){var a=this;if(o)return this.cacheResult().__iterator(r,o);var i=e.__iterator(wn,o),c=!0;return new w(function(){if(!c)return C();var e=i.next();if(e.done)return e;var o=e.value,s=o[0],l=o[1];return t.call(n,l,s,a)?r===wn?e:O(r,s,l,e):(c=!1,C())})},r}function mt(e,t,n,r){var o=Mt(e);return o.__iterateUncached=function(o,a){var i=this;if(a)return this.cacheResult().__iterate(o,a);var c=!0,s=0;return e.__iterate(function(e,a,l){if(!c||!(c=t.call(n,e,a,l)))return s++,o(e,r?a:s-1,i)}),s},o.__iteratorUncached=function(o,a){var i=this;if(a)return this.cacheResult().__iterator(o,a);var c=e.__iterator(wn,a),s=!0,l=0;return new w(function(){var e,a,u;do{if(e=c.next(),e.done)return r||o===_n?e:o===bn?O(o,l++,void 0,e):O(o,l++,e.value[1],e);var f=e.value;a=f[0],u=f[1],s&&(s=t.call(n,u,a,i))}while(s);return o===wn?e:O(o,a,u,e)})},o}function vt(e,t){var r=i(e),o=[e].concat(t).map(function(e){return a(e)?r&&(e=n(e)):e=r?H(e):V(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===o.length)return e;if(1===o.length){var s=o[0];if(s===e||r&&i(s)||c(e)&&c(s))return s}var l=new z(o);return r?l=l.toKeyedSeq():c(e)||(l=l.toSetSeq()),l=l.flatten(!0),l.size=o.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}function yt(e,t,n){var r=Mt(e);return r.__iterateUncached=function(r,o){function i(e,l){var u=this;e.__iterate(function(e,o){return(!t||l0}function Ct(e,n,r){var o=Mt(e);return o.size=new z(r).map(function(e){return e.size}).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(_n,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var a=r.map(function(e){return e=t(e),S(o?e.reverse():e)}),i=0,c=!1;return new w(function(){var t;return c||(t=a.map(function(e){return e.next()}),c=t.some(function(e){return e.done})),c?C():O(e,i++,n.apply(null,t.map(function(e){return e.value})))})},o}function xt(e,t){return I(e)?t:e.constructor(t)}function kt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function St(e){return ue(e.size),h(e)}function Et(e){return i(e)?n:c(e)?r:o}function Mt(e){return Object.create((i(e)?P:c(e)?T:N).prototype)}function jt(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):j.prototype.cacheResult.call(this)}function Pt(e,t){return e>t?1:et?-1:0}function on(e){if(e.size===1/0)return 0;var t=l(e),n=i(e),r=t?1:0;return an(e.__iterate(n?t?function(e,t){r=31*r+cn(ae(e),ae(t))|0}:function(e,t){r=r+cn(ae(e),ae(t))|0}:t?function(e){r=31*r+ae(e)|0}:function(e){r=r+ae(e)|0}),r)}function an(e,t){return t=Pn(t,3432918353),t=Pn(t<<15|t>>>-15,461845907),t=Pn(t<<13|t>>>-13,5),t=(t+3864292196|0)^e,t=Pn(t^t>>>16,2246822507),t=Pn(t^t>>>13,3266489909),t=oe(t^t>>>16)}function cn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}var sn=Array.prototype.slice;e(n,t),e(r,t),e(o,t),t.isIterable=a,t.isKeyed=i,t.isIndexed=c,t.isAssociative=s,t.isOrdered=l,t.Keyed=n,t.Indexed=r,t.Set=o;var ln="@@__IMMUTABLE_ITERABLE__@@",un="@@__IMMUTABLE_KEYED__@@",fn="@@__IMMUTABLE_INDEXED__@@",pn="@@__IMMUTABLE_ORDERED__@@",dn=5,hn=1<r?C():O(e,o,n[t?r-o++:o++])})},e(D,P),D.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},D.prototype.has=function(e){return this._object.hasOwnProperty(e)},D.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,a=0;a<=o;a++){var i=r[t?o-a:a];if(!1===e(n[i],i,this))return a+1}return a},D.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,a=0;return new w(function(){var i=r[t?o-a:a];return a++>o?C():O(e,i,n[i])})},D.prototype[pn]=!0,e(A,T),A.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=S(n),o=0;if(k(r))for(var a;!(a=r.next()).done&&!1!==e(a.value,o++,this););return o},A.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=S(n);if(!k(r))return new w(C);var o=0;return new w(function(){var t=r.next();return t.done?t:O(e,o++,t.value)})},e(L,T),L.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n=this._iterator,r=this._iteratorCache,o=0;o=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return O(e,o,r[o++])})};var Sn;e(X,T),X.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},X.prototype.get=function(e,t){return this.has(e)?this._value:t},X.prototype.includes=function(e){return $(this._value,e)},X.prototype.slice=function(e,t){var n=this.size;return y(e,t,n)?this:new X(this._value,b(t,n)-g(e,n))},X.prototype.reverse=function(){return this},X.prototype.indexOf=function(e){return $(this._value,e)?0:-1},X.prototype.lastIndexOf=function(e){return $(this._value,e)?this.size:-1},X.prototype.__iterate=function(e,t){for(var n=0;n1?" by "+this._step:"")+" ]"},J.prototype.get=function(e,t){return this.has(e)?this._start+m(this,e)*this._step:t},J.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t=0&&nn?C():O(e,a++,i)})},J.prototype.equals=function(e){return e instanceof J?this._start===e._start&&this._end===e._end&&this._step===e._step:Q(this,e)};var Mn;e(ee,t),e(te,ee),e(ne,ee),e(re,ee),ee.Keyed=te,ee.Indexed=ne,ee.Set=re;var jn,Pn="function"===typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){e|=0,t|=0;var n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0},Tn=Object.isExtensible,Nn=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),zn="function"===typeof WeakMap;zn&&(jn=new WeakMap);var Dn=0,An="__immutablehash__";"function"===typeof Symbol&&(An=Symbol(An));var Ln=16,In=255,Rn=0,Hn={};e(fe,te),fe.prototype.toString=function(){return this.__toString("Map {","}")},fe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},fe.prototype.set=function(e,t){return Ce(this,e,t)},fe.prototype.setIn=function(e,t){return this.updateIn(e,vn,function(){return t})},fe.prototype.remove=function(e){return Ce(this,e,vn)},fe.prototype.deleteIn=function(e){return this.updateIn(e,function(){return vn})},fe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},fe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=De(this,Tt(e),t,n);return r===vn?void 0:r},fe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Oe()},fe.prototype.merge=function(){return Pe(this,void 0,arguments)},fe.prototype.mergeWith=function(e){return Pe(this,e,sn.call(arguments,1))},fe.prototype.mergeIn=function(e){var t=sn.call(arguments,1);return this.updateIn(e,Oe(),function(e){return"function"===typeof e.merge?e.merge.apply(e,t):t[t.length-1]})},fe.prototype.mergeDeep=function(){return Pe(this,Te,arguments)},fe.prototype.mergeDeepWith=function(e){var t=sn.call(arguments,1);return Pe(this,Ne(e),t)},fe.prototype.mergeDeepIn=function(e){var t=sn.call(arguments,1);return this.updateIn(e,Oe(),function(e){return"function"===typeof e.mergeDeep?e.mergeDeep.apply(e,t):t[t.length-1]})},fe.prototype.sort=function(e){return Ze(_t(this,e))},fe.prototype.sortBy=function(e,t){return Ze(_t(this,t,e))},fe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},fe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new p)},fe.prototype.asImmutable=function(){return this.__ensureOwner()},fe.prototype.wasAltered=function(){return this.__altered},fe.prototype.__iterator=function(e,t){return new ge(this,e,t)},fe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},fe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?we(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},fe.isMap=pe;var Vn="@@__IMMUTABLE_MAP__@@",Fn=fe.prototype;Fn[Vn]=!0,Fn.delete=Fn.remove,Fn.removeIn=Fn.deleteIn,de.prototype.get=function(e,t,n,r){for(var o=this.entries,a=0,i=o.length;a=Un)return Ee(e,s,r,o);var h=e&&e===this.ownerID,m=h?s:d(s);return p?c?l===u-1?m.pop():m[l]=m.pop():m[l]=[r,o]:m.push([r,o]),h?(this.entries=m,this):new de(e,m)}},he.prototype.get=function(e,t,n,r){void 0===t&&(t=ae(n));var o=1<<((0===e?t:t>>>e)&mn),a=this.bitmap;return 0===(a&o)?r:this.nodes[Ae(a&o-1)].get(e+dn,t,n,r)},he.prototype.update=function(e,t,n,r,o,a,i){void 0===n&&(n=ae(r));var c=(0===t?n:n>>>t)&mn,s=1<=Kn)return je(e,p,l,c,h);if(u&&!h&&2===p.length&&ke(p[1^f]))return p[1^f];if(u&&h&&1===p.length&&ke(h))return h;var m=e&&e===this.ownerID,v=u?h?l:l^s:l|s,y=u?h?Le(p,f,h,m):Re(p,f,m):Ie(p,f,h,m);return m?(this.bitmap=v,this.nodes=y,this):new he(e,v,y)},me.prototype.get=function(e,t,n,r){void 0===t&&(t=ae(n));var o=(0===e?t:t>>>e)&mn,a=this.nodes[o];return a?a.get(e+dn,t,n,r):r},me.prototype.update=function(e,t,n,r,o,a,i){void 0===n&&(n=ae(r));var c=(0===t?n:n>>>t)&mn,s=o===vn,l=this.nodes,u=l[c];if(s&&!u)return this;var f=xe(u,e,t+dn,n,r,o,a,i);if(f===u)return this;var p=this.count;if(u){if(!f&&--p=0&&e>>t&mn;if(r>=this.array.length)return new Fe([],e);var o,a=0===r;if(t>0){var i=this.array[r];if((o=i&&i.removeBefore(e,t-dn,n))===i&&a)return this}if(a&&!o)return this;var c=Ye(this,e);if(!a)for(var s=0;s>>t&mn;if(r>=this.array.length)return this;var o;if(t>0){var a=this.array[r];if((o=a&&a.removeAfter(e,t-dn,n))===a&&r===this.array.length-1)return this}var i=Ye(this,e);return i.array.splice(r+1),o&&(i.array[r]=o),i};var Gn,$n={};e(Ze,fe),Ze.of=function(){return this(arguments)},Ze.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Ze.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Ze.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):tt()},Ze.prototype.set=function(e,t){return nt(this,e,t)},Ze.prototype.remove=function(e){return nt(this,e,vn)},Ze.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Ze.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Ze.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Ze.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?et(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Ze.isOrderedMap=Je,Ze.prototype[pn]=!0,Ze.prototype.delete=Ze.prototype.remove;var Qn;e(rt,P),rt.prototype.get=function(e,t){return this._iter.get(e,t)},rt.prototype.has=function(e){return this._iter.has(e)},rt.prototype.valueSeq=function(){return this._iter.valueSeq()},rt.prototype.reverse=function(){var e=this,t=lt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},rt.prototype.map=function(e,t){var n=this,r=st(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},rt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?St(this):0,function(o){return e(o,t?--n:n++,r)}),t)},rt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(_n,t),r=t?St(this):0;return new w(function(){var o=n.next();return o.done?o:O(e,t?--r:r++,o.value,o)})},rt.prototype[pn]=!0,e(ot,T),ot.prototype.includes=function(e){return this._iter.includes(e)},ot.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},ot.prototype.__iterator=function(e,t){var n=this._iter.__iterator(_n,t),r=0;return new w(function(){var t=n.next();return t.done?t:O(e,r++,t.value,t)})},e(at,N),at.prototype.has=function(e){return this._iter.includes(e)},at.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},at.prototype.__iterator=function(e,t){var n=this._iter.__iterator(_n,t);return new w(function(){var t=n.next();return t.done?t:O(e,t.value,t.value,t)})},e(it,P),it.prototype.entrySeq=function(){return this._iter.toSeq()},it.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){kt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},it.prototype.__iterator=function(e,t){var n=this._iter.__iterator(_n,t);return new w(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){kt(r);var o=a(r);return O(e,o?r.get(0):r[0],o?r.get(1):r[1],t)}}})},ot.prototype.cacheResult=rt.prototype.cacheResult=at.prototype.cacheResult=it.prototype.cacheResult=jt,e(Nt,te),Nt.prototype.toString=function(){return this.__toString(Dt(this)+" {","}")},Nt.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},Nt.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},Nt.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=zt(this,Oe()))},Nt.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+Dt(this));var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:zt(this,n)},Nt.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:zt(this,t)},Nt.prototype.wasAltered=function(){return this._map.wasAltered()},Nt.prototype.__iterator=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterator(e,t)},Nt.prototype.__iterate=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterate(e,t)},Nt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?zt(this,t,e):(this.__ownerID=e,this._map=t,this)};var Xn=Nt.prototype;Xn.delete=Xn.remove,Xn.deleteIn=Xn.removeIn=Fn.removeIn,Xn.merge=Fn.merge,Xn.mergeWith=Fn.mergeWith,Xn.mergeIn=Fn.mergeIn,Xn.mergeDeep=Fn.mergeDeep,Xn.mergeDeepWith=Fn.mergeDeepWith,Xn.mergeDeepIn=Fn.mergeDeepIn,Xn.setIn=Fn.setIn,Xn.update=Fn.update,Xn.updateIn=Fn.updateIn,Xn.withMutations=Fn.withMutations,Xn.asMutable=Fn.asMutable,Xn.asImmutable=Fn.asImmutable,e(It,re),It.of=function(){return this(arguments)},It.fromKeys=function(e){return this(n(e).keySeq())},It.prototype.toString=function(){return this.__toString("Set {","}")},It.prototype.has=function(e){return this._map.has(e)},It.prototype.add=function(e){return Ht(this,this._map.set(e,!0))},It.prototype.remove=function(e){return Ht(this,this._map.remove(e))},It.prototype.clear=function(){return Ht(this,this._map.clear())},It.prototype.union=function(){var e=sn.call(arguments,0);return e=e.filter(function(e){return 0!==e.size}),0===e.length?this:0!==this.size||this.__ownerID||1!==e.length?this.withMutations(function(t){for(var n=0;n=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Gt(e,t)},qt.prototype.pushAll=function(e){if(e=r(e),0===e.size)return this;ue(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Gt(t,n)},qt.prototype.pop=function(){return this.slice(1)},qt.prototype.unshift=function(){return this.push.apply(this,arguments)},qt.prototype.unshiftAll=function(e){return this.pushAll(e)},qt.prototype.shift=function(){return this.pop.apply(this,arguments)},qt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):$t()},qt.prototype.slice=function(e,t){if(y(e,t,this.size))return this;var n=g(e,this.size);if(b(t,this.size)!==this.size)return ne.prototype.slice.call(this,e,t);for(var r=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=r,this._head=o,this.__hash=void 0,this.__altered=!0,this):Gt(r,o)},qt.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Gt(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},qt.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},qt.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new w(function(){if(r){var t=r.value;return r=r.next,O(e,n++,t)}return C()})},qt.isStack=Yt;var rr="@@__IMMUTABLE_STACK__@@",or=qt.prototype;or[rr]=!0,or.withMutations=Fn.withMutations,or.asMutable=Fn.asMutable,or.asImmutable=Fn.asImmutable,or.wasAltered=Fn.wasAltered;var ar;t.Iterator=w,Qt(t,{toArray:function(){ue(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new ot(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"===typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"===typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new rt(this,!0)},toMap:function(){return fe(this.toKeyedSeq())},toObject:function(){ue(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Ze(this.toKeyedSeq())},toOrderedSet:function(){return Bt(i(this)?this.valueSeq():this)},toSet:function(){return It(i(this)?this.valueSeq():this)},toSetSeq:function(){return new at(this)},toSeq:function(){return c(this)?this.toIndexedSeq():i(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return qt(i(this)?this.valueSeq():this)},toList:function(){return He(i(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){return xt(this,vt(this,sn.call(arguments,0)))},includes:function(e){return this.some(function(t){return $(t,e)})},entries:function(){return this.__iterator(wn)},every:function(e,t){ue(this.size);var n=!0;return this.__iterate(function(r,o,a){if(!e.call(t,r,o,a))return n=!1,!1}),n},filter:function(e,t){return xt(this,ut(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},findEntry:function(e,t){var n;return this.__iterate(function(r,o,a){if(e.call(t,r,o,a))return n=[o,r],!1}),n},findLastEntry:function(e,t){return this.toSeq().reverse().findEntry(e,t)},forEach:function(e,t){return ue(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){ue(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!==r&&void 0!==r?r.toString():""}),t},keys:function(){return this.__iterator(bn)},map:function(e,t){return xt(this,st(this,e,t))},reduce:function(e,t,n){ue(this.size);var r,o;return arguments.length<2?o=!0:r=t,this.__iterate(function(t,a,i){o?(o=!1,r=t):r=e.call(n,r,t,a,i)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return xt(this,lt(this,!0))},slice:function(e,t){return xt(this,dt(this,e,t,!0))},some:function(e,t){return!this.every(Jt(e),t)},sort:function(e){return xt(this,_t(this,e))},values:function(){return this.__iterator(_n)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return h(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return ft(this,e,t)},equals:function(e){return Q(this,e)},entrySeq:function(){var e=this;if(e._cache)return new z(e._cache);var t=e.toSeq().map(Zt).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Jt(e),t)},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},first:function(){return this.find(v)},flatMap:function(e,t){return xt(this,gt(this,e,t))},flatten:function(e){return xt(this,yt(this,e,!0))},fromEntrySeq:function(){return new it(this)},get:function(e,t){return this.find(function(t,n){return $(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,o=Tt(e);!(n=o.next()).done;){var a=n.value;if((r=r&&r.get?r.get(a,vn):vn)===vn)return t}return r},groupBy:function(e,t){return pt(this,e,t)},has:function(e){return this.get(e,vn)!==vn},hasIn:function(e){return this.getIn(e,vn)!==vn},isSubset:function(e){return e="function"===typeof e.includes?e:t(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return e="function"===typeof e.isSubset?e:t(e),e.isSubset(this)},keySeq:function(){return this.toSeq().map(Xt).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},max:function(e){return wt(this,e)},maxBy:function(e,t){return wt(this,t,e)},min:function(e){return wt(this,e?en(e):rn)},minBy:function(e,t){return wt(this,t?en(t):rn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return xt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return xt(this,mt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Jt(e),t)},sortBy:function(e,t){return xt(this,_t(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return xt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return xt(this,ht(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Jt(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=on(this))}});var ir=t.prototype;ir[ln]=!0,ir[xn]=ir.values,ir.__toJS=ir.toArray,ir.__toStringMapper=tn,ir.inspect=ir.toSource=function(){return this.toString()},ir.chain=ir.flatMap,ir.contains=ir.includes,function(){try{Object.defineProperty(ir,"length",{get:function(){if(!t.noLengthWarning){var e;try{throw new Error}catch(t){e=t.stack}if(-1===e.indexOf("_wrapObject"))return console&&console.warn&&console.warn("iterable.length has been deprecated, use iterable.size or iterable.count(). This warning will become a silent error in a future version. "+e),this.size}}})}catch(e){}}(),Qt(n,{flip:function(){return xt(this,ct(this))},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLastKey:function(e,t){return this.toSeq().reverse().findKey(e,t)},keyOf:function(e){return this.findKey(function(t){return $(t,e)})},lastKeyOf:function(e){return this.findLastKey(function(t){return $(t,e)})},mapEntries:function(e,t){var n=this,r=0;return xt(this,this.toSeq().map(function(o,a){return e.call(t,[a,o],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return xt(this,this.toSeq().flip().map(function(r,o){return e.call(t,r,o,n)}).flip())}});var cr=n.prototype;return cr[un]=!0,cr[xn]=ir.entries,cr.__toJS=ir.toObject,cr.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+tn(e)},Qt(r,{toKeyedSeq:function(){return new rt(this,!1)},filter:function(e,t){return xt(this,ut(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.toKeyedSeq().keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.toKeyedSeq().reverse().keyOf(e);return void 0===t?-1:t},reverse:function(){return xt(this,lt(this,!1))},slice:function(e,t){return xt(this,dt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=g(e,e<0?this.count():this.size);var r=this.slice(0,e);return xt(this,1===n?r:r.concat(d(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.toKeyedSeq().findLastKey(e,t);return void 0===n?-1:n},first:function(){return this.get(0)},flatten:function(e){return xt(this,yt(this,e,!1))},get:function(e,t){return e=m(this,e),e<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=m(this,e))>=0&&(void 0!==this.size?this.size===1/0||e=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){function r(e){for(var t=1;t0?o.getInlineStyleAt(r-1):o.getLength()?o.getInlineStyleAt(0):f(e,n)}function u(e,t){var n=t.getStartKey(),r=t.getStartOffset(),o=e.getBlockForKey(n);return r0?o.getInlineStyleAt(r-1):f(e,n)}function f(e,t){var n=e.getBlockMap().reverse().skipUntil(function(e,n){return n===t}).skip(1).skipUntil(function(e,t){return e.getLength()}).first();return n?n.getInlineStyleAt(n.getLength()-1):b()}var p=n(38),d=p||function(e){for(var t=1;t0)for(n=0;n0?"future":"past"];return k(n)?n(t):n.replace(/%s/i,t)}function A(e,t){var n=e.toLowerCase();Fr[n]=Fr[n+"s"]=Fr[t]=e}function L(e){return"string"===typeof e?Fr[e]||Fr[e.toLowerCase()]:void 0}function I(e){var t,n,r={};for(n in e)l(e,n)&&(t=L(n))&&(r[t]=e[n]);return r}function R(e,t){Br[e]=t}function H(e){var t=[];for(var n in e)t.push({unit:n,priority:Br[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function V(e,t,n){var r=""+Math.abs(e),o=t-r.length;return(e>=0?n?"+":"":"-")+Math.pow(10,Math.max(0,o)).toString().substr(1)+r}function F(e,t,n,r){var o=r;"string"===typeof r&&(o=function(){return this[r]()}),e&&(qr[e]=o),t&&(qr[t[0]]=function(){return V(o.apply(this,arguments),t[1],t[2])}),n&&(qr[n]=function(){return this.localeData().ordinal(o.apply(this,arguments),e)})}function B(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function U(e){var t,n,r=e.match(Ur);for(t=0,n=r.length;t=0&&Kr.test(e);)e=e.replace(Kr,n),Kr.lastIndex=0,r-=1;return e}function q(e,t,n){uo[e]=k(t)?t:function(e,r){return e&&n?n:t}}function Y(e,t){return l(uo,e)?uo[e](t._strict,t._locale):new RegExp(G(e))}function G(e){return $(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,r,o){return t||n||r||o}))}function $(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Q(e,t){var n,r=t;for("string"===typeof e&&(e=[e]),i(t)&&(r=function(e,n){n[t]=_(e)}),n=0;n=0?(c=new Date(e+400,t,n,r,o,a,i),isFinite(c.getFullYear())&&c.setFullYear(e)):c=new Date(e,t,n,r,o,a,i),c}function _e(e){var t;if(e<100&&e>=0){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function we(e,t,n){var r=7+t-n;return-(7+_e(e,0,r).getUTCDay()-t)%7+r-1}function Oe(e,t,n,r,o){var a,i,c=(7+n-r)%7,s=we(e,r,o),l=1+7*(t-1)+c+s;return l<=0?(a=e-1,i=J(a)+l):l>J(e)?(a=e+1,i=l-J(e)):(a=e,i=l),{year:a,dayOfYear:i}}function Ce(e,t,n){var r,o,a=we(e.year(),t,n),i=Math.floor((e.dayOfYear()-a-1)/7)+1;return i<1?(o=e.year()-1,r=i+xe(o,t,n)):i>xe(e.year(),t,n)?(r=i-xe(e.year(),t,n),o=e.year()+1):(o=e.year(),r=i),{week:r,year:o}}function xe(e,t,n){var r=we(e,t,n),o=we(e+1,t,n);return(J(e)-r+o)/7}function ke(e){return Ce(e,this._week.dow,this._week.doy).week}function Se(){return this._week.dow}function Ee(){return this._week.doy}function Me(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function je(e){var t=Ce(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Pe(e,t){return"string"!==typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"===typeof e?e:null):parseInt(e,10)}function Te(e,t){return"string"===typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Ne(e,t){return e.slice(t,7).concat(e.slice(0,t))}function ze(e,t){var r=n(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ne(r,this._week.dow):e?r[e.day()]:r}function De(e){return!0===e?Ne(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Ae(e){return!0===e?Ne(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Le(e,t,n){var r,o,a,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)a=f([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(a,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(a,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(a,"").toLocaleLowerCase();return n?"dddd"===t?(o=Oo.call(this._weekdaysParse,i),-1!==o?o:null):"ddd"===t?(o=Oo.call(this._shortWeekdaysParse,i),-1!==o?o:null):(o=Oo.call(this._minWeekdaysParse,i),-1!==o?o:null):"dddd"===t?-1!==(o=Oo.call(this._weekdaysParse,i))?o:-1!==(o=Oo.call(this._shortWeekdaysParse,i))?o:(o=Oo.call(this._minWeekdaysParse,i),-1!==o?o:null):"ddd"===t?-1!==(o=Oo.call(this._shortWeekdaysParse,i))?o:-1!==(o=Oo.call(this._weekdaysParse,i))?o:(o=Oo.call(this._minWeekdaysParse,i),-1!==o?o:null):-1!==(o=Oo.call(this._minWeekdaysParse,i))?o:-1!==(o=Oo.call(this._weekdaysParse,i))?o:(o=Oo.call(this._shortWeekdaysParse,i),-1!==o?o:null)}function Ie(e,t,n){var r,o,a;if(this._weekdaysParseExact)return Le.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(o=f([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(o,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(o,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(o,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(a="^"+this.weekdays(o,"")+"|^"+this.weekdaysShort(o,"")+"|^"+this.weekdaysMin(o,""),this._weekdaysParse[r]=new RegExp(a.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&"ddd"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&"dd"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Re(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Pe(e,this.localeData()),this.add(e-t,"d")):t}function He(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Ve(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Te(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function Fe(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ke.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=zo),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Be(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ke.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Do),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ue(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ke.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ao),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ke(){function e(e,t){return t.length-e.length}var t,n,r,o,a,i=[],c=[],s=[],l=[];for(t=0;t<7;t++)n=f([2e3,1]).day(t),r=this.weekdaysMin(n,""),o=this.weekdaysShort(n,""),a=this.weekdays(n,""),i.push(r),c.push(o),s.push(a),l.push(r),l.push(o),l.push(a);for(i.sort(e),c.sort(e),s.sort(e),l.sort(e),t=0;t<7;t++)c[t]=$(c[t]),s[t]=$(s[t]),l[t]=$(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function We(){return this.hours()%12||12}function qe(){return this.hours()||24}function Ye(e,t){F(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ge(e,t){return t._meridiemParse}function $e(e){return"p"===(e+"").toLowerCase().charAt(0)}function Qe(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function Xe(e){return e?e.toLowerCase().replace("_","-"):e}function Ze(e){for(var t,n,r,o,a=0;a0;){if(r=Je(o.slice(0,t).join("-")))return r;if(n&&n.length>=t&&w(o,n,!0)>=t-1)break;t--}a++}return Lo}function Je(t){var n=null;if(!Vo[t]&&"undefined"!==typeof e&&e&&e.exports)try{n=Lo._abbr;!function(){var e=new Error('Cannot find module "./locale"');throw e.code="MODULE_NOT_FOUND",e}(),et(n)}catch(e){}return Vo[t]}function et(e,t){var n;return e&&(n=a(t)?rt(e):tt(e,t),n?Lo=n:"undefined"!==typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),Lo._abbr}function tt(e,t){if(null!==t){var n,r=Ho;if(t.abbr=e,null!=Vo[e])x("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=Vo[e]._config;else if(null!=t.parentLocale)if(null!=Vo[t.parentLocale])r=Vo[t.parentLocale]._config;else{if(null==(n=Je(t.parentLocale)))return Fo[t.parentLocale]||(Fo[t.parentLocale]=[]),Fo[t.parentLocale].push({name:e,config:t}),null;r=n._config}return Vo[e]=new M(E(r,t)),Fo[e]&&Fo[e].forEach(function(e){tt(e.name,e.config)}),et(e),Vo[e]}return delete Vo[e],null}function nt(e,t){if(null!=t){var n,r,o=Ho;r=Je(e),null!=r&&(o=r._config),t=E(o,t),n=new M(t),n.parentLocale=Vo[e],Vo[e]=n,et(e)}else null!=Vo[e]&&(null!=Vo[e].parentLocale?Vo[e]=Vo[e].parentLocale:null!=Vo[e]&&delete Vo[e]);return Vo[e]}function rt(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Lo;if(!n(e)){if(t=Je(e))return t;e=[e]}return Ze(e)}function ot(){return Lr(Vo)}function at(e){var t,n=e._a;return n&&-2===d(e).overflow&&(t=n[ho]<0||n[ho]>11?ho:n[mo]<1||n[mo]>se(n[po],n[ho])?mo:n[vo]<0||n[vo]>24||24===n[vo]&&(0!==n[yo]||0!==n[go]||0!==n[bo])?vo:n[yo]<0||n[yo]>59?yo:n[go]<0||n[go]>59?go:n[bo]<0||n[bo]>999?bo:-1,d(e)._overflowDayOfYear&&(tmo)&&(t=mo),d(e)._overflowWeeks&&-1===t&&(t=_o),d(e)._overflowWeekday&&-1===t&&(t=wo),d(e).overflow=t),e}function it(e,t,n){return null!=e?e:null!=t?t:n}function ct(e){var n=new Date(t.now());return e._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function st(e){var t,n,r,o,a,i=[];if(!e._d){for(r=ct(e),e._w&&null==e._a[mo]&&null==e._a[ho]&<(e),null!=e._dayOfYear&&(a=it(e._a[po],r[po]),(e._dayOfYear>J(a)||0===e._dayOfYear)&&(d(e)._overflowDayOfYear=!0),n=_e(a,0,e._dayOfYear),e._a[ho]=n.getUTCMonth(),e._a[mo]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=i[t]=r[t];for(;t<7;t++)e._a[t]=i[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[vo]&&0===e._a[yo]&&0===e._a[go]&&0===e._a[bo]&&(e._nextDay=!0,e._a[vo]=0),e._d=(e._useUTC?_e:be).apply(null,i),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[vo]=24),e._w&&"undefined"!==typeof e._w.d&&e._w.d!==o&&(d(e).weekdayMismatch=!0)}}function lt(e){var t,n,r,o,a,i,c,s;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)a=1,i=4,n=it(t.GG,e._a[po],Ce(St(),1,4).year),r=it(t.W,1),((o=it(t.E,1))<1||o>7)&&(s=!0);else{a=e._locale._week.dow,i=e._locale._week.doy;var l=Ce(St(),a,i);n=it(t.gg,e._a[po],l.year),r=it(t.w,l.week),null!=t.d?((o=t.d)<0||o>6)&&(s=!0):null!=t.e?(o=t.e+a,(t.e<0||t.e>6)&&(s=!0)):o=a}r<1||r>xe(n,a,i)?d(e)._overflowWeeks=!0:null!=s?d(e)._overflowWeekday=!0:(c=Oe(n,r,o,a,i),e._a[po]=c.year,e._dayOfYear=c.dayOfYear)}function ut(e){var t,n,r,o,a,i,c=e._i,s=Bo.exec(c)||Uo.exec(c);if(s){for(d(e).iso=!0,t=0,n=Wo.length;t0&&d(e).unusedInput.push(i),c=c.slice(c.indexOf(r)+r.length),l+=r.length),qr[a]?(r?d(e).empty=!1:d(e).unusedTokens.push(a),Z(a,r,e)):e._strict&&!r&&d(e).unusedTokens.push(a);d(e).charsLeftOver=s-l,c.length>0&&d(e).unusedInput.push(c),e._a[vo]<=12&&!0===d(e).bigHour&&e._a[vo]>0&&(d(e).bigHour=void 0),d(e).parsedDateParts=e._a.slice(0),d(e).meridiem=e._meridiem,e._a[vo]=bt(e._locale,e._a[vo],e._meridiem),st(e),at(e)}function bt(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(r=e.isPM(n),r&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function _t(e){var t,n,r,o,a;if(0===e._f.length)return d(e).invalidFormat=!0,void(e._d=new Date(NaN));for(o=0;othis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Yt(){if(!a(this._isDSTShifted))return this._isDSTShifted;var e={};if(v(e,this),e=Ct(e),e._a){var t=e._isUTC?f(e._a):St(e._a);this._isDSTShifted=this.isValid()&&w(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Gt(){return!!this.isValid()&&!this._isUTC}function $t(){return!!this.isValid()&&this._isUTC}function Qt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Xt(e,t){var n,r,o,a=e,c=null;return Dt(e)?a={ms:e._milliseconds,d:e._days,M:e._months}:i(e)?(a={},t?a[t]=e:a.milliseconds=e):(c=ta.exec(e))?(n="-"===c[1]?-1:1,a={y:0,d:_(c[mo])*n,h:_(c[vo])*n,m:_(c[yo])*n,s:_(c[go])*n,ms:_(At(1e3*c[bo]))*n}):(c=na.exec(e))?(n="-"===c[1]?-1:1,a={y:Zt(c[2],n),M:Zt(c[3],n),w:Zt(c[4],n),d:Zt(c[5],n),h:Zt(c[6],n),m:Zt(c[7],n),s:Zt(c[8],n)}):null==a?a={}:"object"===typeof a&&("from"in a||"to"in a)&&(o=en(St(a.from),St(a.to)),a={},a.ms=o.milliseconds,a.M=o.months),r=new zt(a),Dt(e)&&l(e,"_locale")&&(r._locale=e._locale),r}function Zt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Jt(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function en(e,t){var n;return e.isValid()&&t.isValid()?(t=Rt(t,e),e.isBefore(t)?n=Jt(e,t):(n=Jt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function tn(e,t){return function(n,r){var o,a;return null===r||isNaN(+r)||(x(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),a=n,n=r,r=a),n="string"===typeof n?+n:n,o=Xt(n,r),nn(this,o,e),this}}function nn(e,n,r,o){var a=n._milliseconds,i=At(n._days),c=At(n._months);e.isValid()&&(o=null==o||o,c&&de(e,re(e,"Month")+c*r),i&&oe(e,"Date",re(e,"Date")+i*r),a&&e._d.setTime(e._d.valueOf()+a*r),o&&t.updateOffset(e,i||c))}function rn(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function on(e,n){var r=e||St(),o=Rt(r,this).startOf("day"),a=t.calendarFormat(this,o)||"sameElse",i=n&&(k(n[a])?n[a].call(this,r):n[a]);return this.format(i||this.localeData().calendar(a,this,St(r)))}function an(){return new y(this)}function cn(e,t){var n=g(e)?e:St(e);return!(!this.isValid()||!n.isValid())&&(t=L(t)||"millisecond","millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()9999?K(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):k(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",K(n,"Z")):K(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function yn(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",o=t+'[")]';return this.format(n+r+"-MM-DD[T]HH:mm:ss.SSS"+o)}function gn(e){e||(e=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);var n=K(this,e);return this.localeData().postformat(n)}function bn(e,t){return this.isValid()&&(g(e)&&e.isValid()||St(e).isValid())?Xt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function _n(e){return this.from(St(),e)}function wn(e,t){return this.isValid()&&(g(e)&&e.isValid()||St(e).isValid())?Xt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function On(e){return this.to(St(),e)}function Cn(e){var t;return void 0===e?this._locale._abbr:(t=rt(e),null!=t&&(this._locale=t),this)}function xn(){return this._locale}function kn(e,t){return(e%t+t)%t}function Sn(e,t,n){return e<100&&e>=0?new Date(e+400,t,n)-la:new Date(e,t,n).valueOf()}function En(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-la:Date.UTC(e,t,n)}function Mn(e){var n;if(void 0===(e=L(e))||"millisecond"===e||!this.isValid())return this;var r=this._isUTC?En:Sn;switch(e){case"year":n=r(this.year(),0,1);break;case"quarter":n=r(this.year(),this.month()-this.month()%3,1);break;case"month":n=r(this.year(),this.month(),1);break;case"week":n=r(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":n=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":n=r(this.year(),this.month(),this.date());break;case"hour":n=this._d.valueOf(),n-=kn(n+(this._isUTC?0:this.utcOffset()*ca),sa);break;case"minute":n=this._d.valueOf(),n-=kn(n,ca);break;case"second":n=this._d.valueOf(),n-=kn(n,ia)}return this._d.setTime(n),t.updateOffset(this,!0),this}function jn(e){var n;if(void 0===(e=L(e))||"millisecond"===e||!this.isValid())return this;var r=this._isUTC?En:Sn;switch(e){case"year":n=r(this.year()+1,0,1)-1;break;case"quarter":n=r(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":n=r(this.year(),this.month()+1,1)-1;break;case"week":n=r(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":n=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":n=r(this.year(),this.month(),this.date()+1)-1;break;case"hour":n=this._d.valueOf(),n+=sa-kn(n+(this._isUTC?0:this.utcOffset()*ca),sa)-1;break;case"minute":n=this._d.valueOf(),n+=ca-kn(n,ca)-1;break;case"second":n=this._d.valueOf(),n+=ia-kn(n,ia)-1}return this._d.setTime(n),t.updateOffset(this,!0),this}function Pn(){return this._d.valueOf()-6e4*(this._offset||0)}function Tn(){return Math.floor(this.valueOf()/1e3)}function Nn(){return new Date(this.valueOf())}function zn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function Dn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function An(){return this.isValid()?this.toISOString():null}function Ln(){return h(this)}function In(){return u({},d(this))}function Rn(){return d(this).overflow}function Hn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Vn(e,t){F(0,[e,e.length],0,t)}function Fn(e){return Wn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Bn(e){return Wn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Un(){return xe(this.year(),1,4)}function Kn(){var e=this.localeData()._week;return xe(this.year(),e.dow,e.doy)}function Wn(e,t,n,r,o){var a;return null==e?Ce(this,r,o).year:(a=xe(e,r,o),t>a&&(t=a),qn.call(this,e,t,n,r,o))}function qn(e,t,n,r,o){var a=Oe(e,t,n,r,o),i=_e(a.year,0,a.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}function Yn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Gn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")}function $n(e,t){t[bo]=_(1e3*("0."+e))}function Qn(){return this._isUTC?"UTC":""}function Xn(){return this._isUTC?"Coordinated Universal Time":""}function Zn(e){return St(1e3*e)}function Jn(){return St.apply(null,arguments).parseZone()}function er(e){return e}function tr(e,t,n,r){var o=rt(),a=f().set(r,t);return o[n](a,e)}function nr(e,t,n){if(i(e)&&(t=e,e=void 0),e=e||"",null!=t)return tr(e,t,n,"month");var r,o=[];for(r=0;r<12;r++)o[r]=tr(e,r,n,"month");return o}function rr(e,t,n,r){"boolean"===typeof e?(i(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,i(t)&&(n=t,t=void 0),t=t||"");var o=rt(),a=e?o._week.dow:0;if(null!=n)return tr(t,(n+a)%7,r,"day");var c,s=[];for(c=0;c<7;c++)s[c]=tr(t,(c+a)%7,r,"day");return s}function or(e,t){return nr(e,t,"months")}function ar(e,t){return nr(e,t,"monthsShort")}function ir(e,t,n){return rr(e,t,n,"weekdays")}function cr(e,t,n){return rr(e,t,n,"weekdaysShort")}function sr(e,t,n){return rr(e,t,n,"weekdaysMin")}function lr(){var e=this._data;return this._milliseconds=ya(this._milliseconds),this._days=ya(this._days),this._months=ya(this._months),e.milliseconds=ya(e.milliseconds),e.seconds=ya(e.seconds),e.minutes=ya(e.minutes),e.hours=ya(e.hours),e.months=ya(e.months),e.years=ya(e.years),this}function ur(e,t,n,r){var o=Xt(t,n);return e._milliseconds+=r*o._milliseconds,e._days+=r*o._days,e._months+=r*o._months,e._bubble()}function fr(e,t){return ur(this,e,t,1)}function pr(e,t){return ur(this,e,t,-1)}function dr(e){return e<0?Math.floor(e):Math.ceil(e)}function hr(){var e,t,n,r,o,a=this._milliseconds,i=this._days,c=this._months,s=this._data;return a>=0&&i>=0&&c>=0||a<=0&&i<=0&&c<=0||(a+=864e5*dr(vr(c)+i),i=0,c=0),s.milliseconds=a%1e3,e=b(a/1e3),s.seconds=e%60,t=b(e/60),s.minutes=t%60,n=b(t/60),s.hours=n%24,i+=b(n/24),o=b(mr(i)),c+=o,i-=dr(vr(o)),r=b(c/12),c%=12,s.days=i,s.months=c,s.years=r,this}function mr(e){return 4800*e/146097}function vr(e){return 146097*e/4800}function yr(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if("month"===(e=L(e))||"quarter"===e||"year"===e)switch(t=this._days+r/864e5,n=this._months+mr(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(vr(this._months)),e){case"week":return t/7+r/6048e5;case"day":return t+r/864e5;case"hour":return 24*t+r/36e5;case"minute":return 1440*t+r/6e4;case"second":return 86400*t+r/1e3;case"millisecond":return Math.floor(864e5*t)+r;default:throw new Error("Unknown unit "+e)}}function gr(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*_(this._months/12):NaN}function br(e){return function(){return this.as(e)}}function _r(){return Xt(this)}function wr(e){return e=L(e),this.isValid()?this[e+"s"]():NaN}function Or(e){return function(){return this.isValid()?this._data[e]:NaN}}function Cr(){return b(this.days()/7)}function xr(e,t,n,r,o){return o.relativeTime(t||1,!!n,e,r)}function kr(e,t,n){var r=Xt(e).abs(),o=Da(r.as("s")),a=Da(r.as("m")),i=Da(r.as("h")),c=Da(r.as("d")),s=Da(r.as("M")),l=Da(r.as("y")),u=o<=Aa.ss&&["s",o]||o0,u[4]=n,xr.apply(null,u)}function Sr(e){return void 0===e?Da:"function"===typeof e&&(Da=e,!0)}function Er(e,t){return void 0!==Aa[e]&&(void 0===t?Aa[e]:(Aa[e]=t,"s"===e&&(Aa.ss=t-1),!0))}function Mr(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=kr(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function jr(e){return(e>0)-(e<0)||+e}function Pr(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r=La(this._milliseconds)/1e3,o=La(this._days),a=La(this._months);e=b(r/60),t=b(e/60),r%=60,e%=60,n=b(a/12),a%=12;var i=n,c=a,s=o,l=t,u=e,f=r?r.toFixed(3).replace(/\.?0+$/,""):"",p=this.asSeconds();if(!p)return"P0D";var d=p<0?"-":"",h=jr(this._months)!==jr(p)?"-":"",m=jr(this._days)!==jr(p)?"-":"",v=jr(this._milliseconds)!==jr(p)?"-":"";return d+"P"+(i?h+i+"Y":"")+(c?h+c+"M":"")+(s?m+s+"D":"")+(l||u||f?"T":"")+(l?v+l+"H":"")+(u?v+u+"M":"")+(f?v+f+"S":"")}var Tr,Nr;Nr=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r68?1900:2e3)};var Oo,Co=ne("FullYear",!0);Oo=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;tthis?this:e:m()}),Zo=function(){return Date.now?Date.now():+new Date},Jo=["year","quarter","month","week","day","hour","minute","second","millisecond"];Lt("Z",":"),Lt("ZZ",""),q("Z",co),q("ZZ",co),Q(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=It(co,e)});var ea=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var ta=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,na=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Xt.fn=zt.prototype,Xt.invalid=Nt;var ra=tn(1,"add"),oa=tn(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var aa=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)}),ia=1e3,ca=60*ia,sa=60*ca,la=3506328*sa;F(0,["gg",2],0,function(){return this.weekYear()%100}),F(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Vn("gggg","weekYear"),Vn("ggggg","weekYear"),Vn("GGGG","isoWeekYear"),Vn("GGGGG","isoWeekYear"),A("weekYear","gg"),A("isoWeekYear","GG"),R("weekYear",1),R("isoWeekYear",1),q("G",ao),q("g",ao),q("GG",Zr,Gr),q("gg",Zr,Gr),q("GGGG",no,Qr),q("gggg",no,Qr),q("GGGGG",ro,Xr),q("ggggg",ro,Xr),X(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,r){t[r.substr(0,2)]=_(e)}),X(["gg","GG"],function(e,n,r,o){n[o]=t.parseTwoDigitYear(e)}),F("Q",0,"Qo","quarter"),A("quarter","Q"),R("quarter",7),q("Q",Yr),Q("Q",function(e,t){t[ho]=3*(_(e)-1)}),F("D",["DD",2],"Do","date"),A("date","D"),R("date",9),q("D",Zr),q("DD",Zr,Gr),q("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),Q(["D","DD"],mo),Q("Do",function(e,t){t[mo]=_(e.match(Zr)[0])});var ua=ne("Date",!0);F("DDD",["DDDD",3],"DDDo","dayOfYear"),A("dayOfYear","DDD"),R("dayOfYear",4),q("DDD",to),q("DDDD",$r),Q(["DDD","DDDD"],function(e,t,n){n._dayOfYear=_(e)}),F("m",["mm",2],0,"minute"),A("minute","m"),R("minute",14),q("m",Zr),q("mm",Zr,Gr),Q(["m","mm"],yo);var fa=ne("Minutes",!1);F("s",["ss",2],0,"second"),A("second","s"),R("second",15),q("s",Zr),q("ss",Zr,Gr),Q(["s","ss"],go);var pa=ne("Seconds",!1);F("S",0,0,function(){return~~(this.millisecond()/100)}),F(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),F(0,["SSS",3],0,"millisecond"),F(0,["SSSS",4],0,function(){return 10*this.millisecond()}),F(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),F(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),F(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),F(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),F(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),A("millisecond","ms"),R("millisecond",16),q("S",to,Yr),q("SS",to,Gr),q("SSS",to,$r);var da;for(da="SSSS";da.length<=9;da+="S")q(da,oo);for(da="S";da.length<=9;da+="S")Q(da,$n);var ha=ne("Milliseconds",!1);F("z",0,0,"zoneAbbr"),F("zz",0,0,"zoneName");var ma=y.prototype;ma.add=ra,ma.calendar=on,ma.clone=an,ma.diff=dn,ma.endOf=jn,ma.format=gn,ma.from=bn,ma.fromNow=_n,ma.to=wn,ma.toNow=On,ma.get=ae,ma.invalidAt=Rn,ma.isAfter=cn,ma.isBefore=sn,ma.isBetween=ln,ma.isSame=un,ma.isSameOrAfter=fn,ma.isSameOrBefore=pn,ma.isValid=Ln,ma.lang=aa,ma.locale=Cn,ma.localeData=xn,ma.max=Xo,ma.min=Qo,ma.parsingFlags=In,ma.set=ie,ma.startOf=Mn,ma.subtract=oa,ma.toArray=zn,ma.toObject=Dn,ma.toDate=Nn,ma.toISOString=vn,ma.inspect=yn,ma.toJSON=An,ma.toString=mn,ma.unix=Tn,ma.valueOf=Pn,ma.creationData=Hn,ma.year=Co,ma.isLeapYear=te,ma.weekYear=Fn,ma.isoWeekYear=Bn,ma.quarter=ma.quarters=Yn,ma.month=he,ma.daysInMonth=me,ma.week=ma.weeks=Me,ma.isoWeek=ma.isoWeeks=je,ma.weeksInYear=Kn,ma.isoWeeksInYear=Un,ma.date=ua,ma.day=ma.days=Re,ma.weekday=He,ma.isoWeekday=Ve,ma.dayOfYear=Gn,ma.hour=ma.hours=Ro,ma.minute=ma.minutes=fa,ma.second=ma.seconds=pa,ma.millisecond=ma.milliseconds=ha,ma.utcOffset=Vt,ma.utc=Bt,ma.local=Ut,ma.parseZone=Kt,ma.hasAlignedHourOffset=Wt,ma.isDST=qt,ma.isLocal=Gt,ma.isUtcOffset=$t,ma.isUtc=Qt,ma.isUTC=Qt,ma.zoneAbbr=Qn,ma.zoneName=Xn,ma.dates=C("dates accessor is deprecated. Use date instead.",ua),ma.months=C("months accessor is deprecated. Use month instead",he),ma.years=C("years accessor is deprecated. Use year instead",Co),ma.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ft),ma.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Yt);var va=M.prototype;va.calendar=j,va.longDateFormat=P,va.invalidDate=T,va.ordinal=N,va.preparse=er,va.postformat=er,va.relativeTime=z,va.pastFuture=D,va.set=S,va.months=le,va.monthsShort=ue,va.monthsParse=pe,va.monthsRegex=ye,va.monthsShortRegex=ve,va.week=ke,va.firstDayOfYear=Ee,va.firstDayOfWeek=Se,va.weekdays=ze,va.weekdaysMin=Ae,va.weekdaysShort=De,va.weekdaysParse=Ie,va.weekdaysRegex=Fe,va.weekdaysShortRegex=Be,va.weekdaysMinRegex=Ue,va.isPM=$e,va.meridiem=Qe,et("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===_(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),t.lang=C("moment.lang is deprecated. Use moment.locale instead.",et),t.langData=C("moment.langData is deprecated. Use moment.localeData instead.",rt);var ya=Math.abs,ga=br("ms"),ba=br("s"),_a=br("m"),wa=br("h"),Oa=br("d"),Ca=br("w"),xa=br("M"),ka=br("Q"),Sa=br("y"),Ea=Or("milliseconds"),Ma=Or("seconds"),ja=Or("minutes"),Pa=Or("hours"),Ta=Or("days"),Na=Or("months"),za=Or("years"),Da=Math.round,Aa={ss:44,s:45,m:45,h:22,d:26,M:11},La=Math.abs,Ia=zt.prototype;return Ia.isValid=Tt,Ia.abs=lr,Ia.add=fr,Ia.subtract=pr,Ia.as=yr,Ia.asMilliseconds=ga,Ia.asSeconds=ba,Ia.asMinutes=_a,Ia.asHours=wa,Ia.asDays=Oa,Ia.asWeeks=Ca,Ia.asMonths=xa,Ia.asQuarters=ka,Ia.asYears=Sa,Ia.valueOf=gr,Ia._bubble=hr,Ia.clone=_r,Ia.get=wr,Ia.milliseconds=Ea,Ia.seconds=Ma,Ia.minutes=ja,Ia.hours=Pa,Ia.days=Ta,Ia.weeks=Cr,Ia.months=Na,Ia.years=za,Ia.humanize=Mr,Ia.toISOString=Pr,Ia.toString=Pr,Ia.toJSON=Pr,Ia.locale=Cn,Ia.localeData=xn,Ia.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Pr),Ia.lang=aa,F("X",0,0,"unix"),F("x",0,0,"valueOf"),q("x",ao),q("X",so),Q("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),Q("x",function(e,t,n){n._d=new Date(_(e))}),t.version="2.24.0",function(e){Tr=e}(St),t.fn=ma,t.min=Mt,t.max=jt,t.now=Zo,t.utc=f,t.unix=Zn,t.months=or,t.isDate=c,t.locale=et,t.invalid=m,t.duration=Xt,t.isMoment=g,t.weekdays=ir,t.parseZone=Jn,t.localeData=rt,t.isDuration=Dt,t.monthsShort=ar,t.weekdaysMin=sr,t.defineLocale=tt,t.updateLocale=nt,t.locales=ot,t.weekdaysShort=cr,t.normalizeUnits=L,t.relativeTimeRounding=Sr,t.relativeTimeThreshold=Er,t.calendarFormat=rn,t.prototype=ma,t.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},t})}).call(t,n(129)(e))},function(e,t,n){"use strict";var r=n(34),o=n.n(r),a={};t.a=function(e,t,n){e||a[n]||(o()(!1,"[antd: ".concat(t,"] ").concat(n)),a[n]=!0)}},function(e,t,n){"use strict";function r(e,t){for(var n=a()({},e),r=0;r=a)return e;switch(e){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(e){return"[Circular]"}break;default:return e}}),c=t[r];r=r.F1&&t<=r.F12)return!1;switch(t){case r.ALT:case r.CAPS_LOCK:case r.CONTEXT_MENU:case r.CTRL:case r.DOWN:case r.END:case r.ESC:case r.HOME:case r.INSERT:case r.LEFT:case r.MAC_FF_META:case r.META:case r.NUMLOCK:case r.NUM_CENTER:case r.PAGE_DOWN:case r.PAGE_UP:case r.PAUSE:case r.PRINT_SCREEN:case r.RIGHT:case r.SHIFT:case r.UP:case r.WIN_KEY:case r.WIN_KEY_RIGHT:return!1;default:return!0}},r.isCharacterKey=function(e){if(e>=r.ZERO&&e<=r.NINE)return!0;if(e>=r.NUM_ZERO&&e<=r.NUM_MULTIPLY)return!0;if(e>=r.A&&e<=r.Z)return!0;if(-1!==window.navigation.userAgent.indexOf("WebKit")&&0===e)return!0;switch(e){case r.SPACE:case r.QUESTION_MARK:case r.NUM_PLUS:case r.NUM_MINUS:case r.NUM_PERIOD:case r.NUM_DIVISION:case r.SEMICOLON:case r.DASH:case r.EQUALS:case r.COMMA:case r.PERIOD:case r.SLASH:case r.APOSTROPHE:case r.SINGLE_QUOTE:case r.OPEN_SQUARE_BRACKET:case r.BACKSLASH:case r.CLOSE_SQUARE_BRACKET:return!0;default:return!1}},t.a=r},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var o=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,c,s=r(e),l=1;l-1?e[n]:void 0}function c(){for(var e=arguments.length,t=new Array(e),n=0;n children");return g.a.createElement(O.a,{key:n.key,ref:function(t){e.childrenRefs[n.key]=t},animation:t.animation,transitionName:t.transitionName,transitionEnter:t.transitionEnter,transitionAppear:t.transitionAppear,transitionLeave:t.transitionLeave},n)}));var o=t.component;if(o){var a=t;return"string"===typeof o&&(a=i()({className:t.className,style:t.style},t.componentProps)),g.a.createElement(o,a,r)}return r[0]||null}}]),t}(g.a.Component);k.isAnimate=!0,k.propTypes={component:_.a.any,componentProps:_.a.object,animation:_.a.object,transitionName:_.a.oneOfType([_.a.string,_.a.object]),transitionEnter:_.a.bool,transitionAppear:_.a.bool,exclusive:_.a.bool,transitionLeave:_.a.bool,onEnd:_.a.func,onEnter:_.a.func,onLeave:_.a.func,onAppear:_.a.func,showProp:_.a.string,children:_.a.node},k.defaultProps={animation:{},component:"span",componentProps:{},transitionEnter:!0,transitionLeave:!0,transitionAppear:!1,onEnd:o,onEnter:o,onLeave:o,onAppear:o};var S=function(){var e=this;this.performEnter=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillEnter(e.handleDoneAdding.bind(e,t,"enter")))},this.performAppear=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillAppear(e.handleDoneAdding.bind(e,t,"appear")))},this.handleDoneAdding=function(t,n){var o=e.props;if(delete e.currentlyAnimatingKeys[t],!o.exclusive||o===e.nextProps){var a=Object(w.e)(r(o));e.isValidChildByKey(a,t)?"appear"===n?C.a.allowAppearCallback(o)&&(o.onAppear(t),o.onEnd(t,!0)):C.a.allowEnterCallback(o)&&(o.onEnter(t),o.onEnd(t,!0)):e.performLeave(t)}},this.performLeave=function(t){e.childrenRefs[t]&&(e.currentlyAnimatingKeys[t]=!0,e.childrenRefs[t].componentWillLeave(e.handleDoneLeaving.bind(e,t)))},this.handleDoneLeaving=function(t){var n=e.props;if(delete e.currentlyAnimatingKeys[t],!n.exclusive||n===e.nextProps){var o=Object(w.e)(r(n));if(e.isValidChildByKey(o,t))e.performEnter(t);else{var a=function(){C.a.allowLeaveCallback(n)&&(n.onLeave(t),n.onEnd(t,!1))};Object(w.c)(e.state.children,o,n.showProp)?a():e.setState({children:o},a)}}}};t.a=k},function(e,t,n){var r=n(64),o=n(40),a=n(93),i=n(84),c=n(91),s=function(e,t,n){var l,u,f,p=e&s.F,d=e&s.G,h=e&s.S,m=e&s.P,v=e&s.B,y=e&s.W,g=d?o:o[t]||(o[t]={}),b=g.prototype,_=d?r:h?r[t]:(r[t]||{}).prototype;d&&(n=t);for(l in n)(u=!p&&_&&void 0!==_[l])&&c(g,l)||(f=u?_[l]:n[l],g[l]=d&&"function"!=typeof _[l]?n[l]:v&&u?a(f,r):y&&_[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):m&&"function"==typeof f?a(Function.call,f):f,m&&((g.virtual||(g.virtual={}))[l]=f,e&s.R&&b&&!b[l]&&i(b,l,f)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){"use strict";var r=n(480),o=n(1176),a=n(1177),i=n(1178),c=n(1179),s=n(1180);t.a={required:r.a,whitespace:o.a,type:a.a,range:i.a,enum:c.a,pattern:s.a}},function(e,t,n){"use strict";var r=n(49),o=n(1386),a=n(89),i=n(25),c=n(1387),s=n(1389),l=n(199),u=n(1392),f=n(1393),p=n(24),d=n(1394),h=n(527),m=n(1395),v=n(1396),y=i.OrderedSet,g={replaceText:function(e,t,n,o,a){var i=h(e,t),c=m(i,t),s=r.create({style:o||y(),entity:a||null});return f(c,c.getSelectionAfter(),n,s)},insertText:function(e,t,n,r,o){return t.isCollapsed()||p(!1),g.replaceText(e,t,n,r,o)},moveText:function(e,t,n){var r=l(e,t),o=g.removeRange(e,t,"backward");return g.replaceWithFragment(o,n,r)},replaceWithFragment:function(e,t,n){var r=h(e,t),o=m(r,t);return u(o,o.getSelectionAfter(),n)},removeRange:function(e,t,n){var r=void 0,o=void 0,i=void 0,c=void 0;t.getIsBackward()&&(t=t.merge({anchorKey:t.getFocusKey(),anchorOffset:t.getFocusOffset(),focusKey:t.getAnchorKey(),focusOffset:t.getAnchorOffset(),isBackward:!1})),r=t.getAnchorKey(),o=t.getFocusKey(),i=e.getBlockForKey(r),c=e.getBlockForKey(o);var l=t.getStartOffset(),u=t.getEndOffset(),f=i.getEntityAt(l),p=c.getEntityAt(u-1);if(r===o&&f&&f===p){var d=s(e.getEntityMap(),i,c,t,n);return m(e,d)}var v=t;a.draft_segmented_entities_behavior&&(v=s(e.getEntityMap(),i,c,t,n));var y=h(e,v);return m(y,v)},splitBlock:function(e,t){var n=h(e,t),r=m(n,t);return v(r,r.getSelectionAfter())},applyInlineStyle:function(e,t,n){return o.add(e,t,n)},removeInlineStyle:function(e,t,n){return o.remove(e,t,n)},setBlockType:function(e,t,n){return d(e,t,function(e){return e.merge({type:n,depth:0})})},setBlockData:function(e,t,n){return d(e,t,function(e){return e.merge({data:n})})},mergeBlockData:function(e,t,n){return d(e,t,function(e){return e.merge({data:e.getData().merge(n)})})},applyEntity:function(e,t,n){var r=h(e,t);return c(r,t,n)}};e.exports=g},function(e,t,n){"use strict";function r(e){var t=[];return a.a.Children.forEach(e,function(e){t.push(e)}),t}t.a=r;var o=n(0),a=n.n(o)},function(e,t,n){"use strict";function r(e){return(r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(){return o=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:m;return r(this,t),o(this,e.call(this,g(n)))}return a(t,e),t.prototype.getKey=function(){return this.get("key")},t.prototype.getType=function(){return this.get("type")},t.prototype.getText=function(){return this.get("text")},t.prototype.getCharacterList=function(){return this.get("characterList")},t.prototype.getLength=function(){return this.getText().length},t.prototype.getDepth=function(){return this.get("depth")},t.prototype.getData=function(){return this.get("data")},t.prototype.getInlineStyleAt=function(e){var t=this.getCharacterList().get(e);return t?t.getStyle():h},t.prototype.getEntityAt=function(e){var t=this.getCharacterList().get(e);return t?t.getEntity():null},t.prototype.getChildKeys=function(){return this.get("children")},t.prototype.getParentKey=function(){return this.get("parent")},t.prototype.getPrevSiblingKey=function(){return this.get("prevSibling")},t.prototype.getNextSiblingKey=function(){return this.get("nextSibling")},t.prototype.findStyleRanges=function(e,t){s(this.getCharacterList(),v,e,t)},t.prototype.findEntityRanges=function(e,t){s(this.getCharacterList(),y,e,t)},t}(p(m));e.exports=b},function(e,t,n){"use strict";var r=n(3);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(734))},function(e,t,n){var r=n(94),o=n(338),a=n(217),i=Object.defineProperty;t.f=n(65)?Object.defineProperty:function(e,t,n){if(r(e),t=a(t,!0),r(n),o)try{return i(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){"use strict";function r(e){return e&&e.ownerDocument||document}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t){function n(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=n},function(e,t,n){var r=n(380),o="object"==typeof self&&self&&self.Object===Object&&self,a=r||o||Function("return this")();e.exports=a},function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o});var r=function(){for(var e=arguments.length,t=new Array(e),n=0;n=t||n<0||S&&r>=_}function d(){var e=a();if(p(e))return h(e);O=setTimeout(d,f(e))}function h(e){return O=void 0,E&&g?r(e):(g=b=void 0,w)}function m(){void 0!==O&&clearTimeout(O),x=0,g=C=b=O=void 0}function v(){return void 0===O?w:h(a())}function y(){var e=a(),n=p(e);if(g=arguments,b=this,C=e,n){if(void 0===O)return u(C);if(S)return O=setTimeout(d,t),r(C)}return void 0===O&&(O=setTimeout(d,t)),w}var g,b,_,w,O,C,x=0,k=!1,S=!1,E=!0;if("function"!=typeof e)throw new TypeError(c);return t=i(t)||0,o(n)&&(k=!!n.leading,S="maxWait"in n,_=S?s(i(n.maxWait)||0,t):_,E="trailing"in n?!!n.trailing:E),y.cancel=m,y.flush=v,y}var o=n(60),a=n(759),i=n(381),c="Expected a function",s=Math.max,l=Math.min;e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.create=t.connect=t.Provider=void 0;var o=n(1006),a=r(o),i=n(1007),c=r(i),s=n(1008),l=r(s);t.Provider=a.default,t.connect=c.default,t.create=l.default},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){"use strict";function r(){return r=Object.assign||function(e){for(var t=1;t=0||o.indexOf("Bottom")>=0?i.top="".concat(a.height-t.offset[1],"px"):(o.indexOf("Top")>=0||o.indexOf("bottom")>=0)&&(i.top="".concat(-t.offset[1],"px")),o.indexOf("left")>=0||o.indexOf("Right")>=0?i.left="".concat(a.width-t.offset[0],"px"):(o.indexOf("right")>=0||o.indexOf("Left")>=0)&&(i.left="".concat(-t.offset[0],"px")),e.style.transformOrigin="".concat(i.left," ").concat(i.top)}},n.saveTooltip=function(e){n.tooltip=e},n.renderTooltip=function(e){var t=e.getPopupContainer,r=e.getPrefixCls,a=u(n),i=a.props,c=a.state,s=i.prefixCls,l=i.title,f=i.overlay,p=i.openClassName,m=i.getPopupContainer,y=i.getTooltipContainer,b=i.children,_=r("tooltip",s),w=c.visible;"visible"in i||!n.isNoTitle()||(w=!1);var O=n.getDisabledCompatibleChildren(h.isValidElement(b)?b:h.createElement("span",null,b)),C=O.props,x=g()(C.className,o({},p||"".concat(_,"-open"),!0));return h.createElement(v.default,d({},n.props,{prefixCls:_,getTooltipContainer:m||y||t,ref:n.saveTooltip,builtinPlacements:n.getPlacements(),overlay:f||l||"",visible:w,onVisibleChange:n.onVisibleChange,onPopupAlign:n.onPopupAlign}),w?Object(h.cloneElement)(O,{className:x}):O)},n.state={visible:!!e.visible||!!e.defaultVisible},n}return f(t,e),c(t,[{key:"getPopupDomNode",value:function(){return this.tooltip.getPopupDomNode()}},{key:"getPlacements",value:function(){var e=this.props,t=e.builtinPlacements,n=e.arrowPointAtCenter,r=e.autoAdjustOverflow;return t||Object(b.a)({arrowPointAtCenter:n,verticalArrowShift:8,autoAdjustOverflow:r})}},{key:"getDisabledCompatibleChildren",value:function(e){if((e.type.__ANT_BUTTON||"button"===e.type)&&e.props.disabled){var t=w(e.props.style,["position","left","right","top","bottom","float","display","zIndex"]),n=t.picked,r=t.omitted,o=d({display:"inline-block"},n,{cursor:"not-allowed",width:e.props.block?"100%":null}),a=d({},r,{pointerEvents:"none"}),i=Object(h.cloneElement)(e,{style:a,className:null});return h.createElement("span",{style:o,className:e.props.className},i)}return e}},{key:"isNoTitle",value:function(){var e=this.props,t=e.title,n=e.overlay;return!t&&!n}},{key:"render",value:function(){return h.createElement(_.a,null,this.renderTooltip)}}],[{key:"getDerivedStateFromProps",value:function(e){return"visible"in e?{visible:e.visible}:null}}]),t}(h.Component);O.defaultProps={placement:"top",transitionName:"zoom-big-fast",mouseEnterDelay:.1,mouseLeaveDelay:.1,arrowPointAtCenter:!1,autoAdjustOverflow:!0},Object(m.polyfill)(O),t.a=O},function(e,t,n){"use strict";var r=n(1384),o=n(145),a=n(49),i=n(1400),c=n(104),s=n(293),l=n(296),u=n(533),f=n(1401),p=n(535),d=n(200),h=n(46),m=n(531),v=n(30),y=n(304),g=n(549),b=n(125),_=n(1462),w=n(547),O=n(1465),C=n(80),x=n(550),k=n(1470),S={Editor:f,EditorBlock:p,EditorState:v,CompositeDecorator:i,Entity:d,EntityInstance:m,BlockMapBuilder:o,CharacterMetadata:a,ContentBlock:c,ContentState:s,SelectionState:b,AtomicBlockUtils:r,KeyBindingUtil:y,Modifier:h,RichUtils:g,DefaultDraftBlockRenderMap:l,DefaultDraftInlineStyle:u,convertFromHTML:w,convertFromRaw:O,convertToRaw:_,genKey:C,getDefaultKeyBinding:x,getVisibleSelectionRect:k};e.exports=S},function(e,t,n){"use strict";var r=n(1385);e.exports=r},function(e,t,n){"use strict";function r(){}function o(){return""}function a(){return window.document}var i=n(8),c=n.n(i),s=n(4),l=n.n(s),u=n(5),f=n.n(u),p=n(6),d=n.n(p),h=n(0),m=n.n(h),v=n(1),y=n.n(v),g=n(9),b=(n.n(g),n(183)),_=n(55),w=n(184),O=n(248),C=n(2),x=n.n(C),k=n(428),S=n(1011),E=["onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur","onContextMenu"],M=!!g.createPortal,j={rcTrigger:y.a.shape({onPopupMouseDown:y.a.func})},P=function(e){function t(n){l()(this,t);var r=f()(this,e.call(this,n));T.call(r);var o=void 0;return o="popupVisible"in n?!!n.popupVisible:!!n.defaultPopupVisible,r.prevPopupVisible=o,r.state={popupVisible:o},r}return d()(t,e),t.prototype.getChildContext=function(){return{rcTrigger:{onPopupMouseDown:this.onPopupMouseDown}}},t.prototype.componentWillMount=function(){var e=this;E.forEach(function(t){e["fire"+t]=function(n){e.fireEvents(t,n)}})},t.prototype.componentDidMount=function(){this.componentDidUpdate({},{popupVisible:this.state.popupVisible})},t.prototype.componentWillReceiveProps=function(e){var t=e.popupVisible;void 0!==t&&this.setState({popupVisible:t})},t.prototype.componentDidUpdate=function(e,t){var n=this.props,r=this.state,o=function(){t.popupVisible!==r.popupVisible&&n.afterPopupVisibleChange(r.popupVisible)};if(M||this.renderComponent(null,o),this.prevPopupVisible=t.popupVisible,r.popupVisible){var a=void 0;return this.clickOutsideHandler||!this.isClickToHide()&&!this.isContextMenuToShow()||(a=n.getDocument(),this.clickOutsideHandler=Object(_.a)(a,"mousedown",this.onDocumentClick)),this.touchOutsideHandler||(a=a||n.getDocument(),this.touchOutsideHandler=Object(_.a)(a,"touchstart",this.onDocumentClick)),!this.contextMenuOutsideHandler1&&this.isContextMenuToShow()&&(a=a||n.getDocument(),this.contextMenuOutsideHandler1=Object(_.a)(a,"scroll",this.onContextMenuClose)),void(!this.contextMenuOutsideHandler2&&this.isContextMenuToShow()&&(this.contextMenuOutsideHandler2=Object(_.a)(window,"blur",this.onContextMenuClose)))}this.clearOutsideHandler()},t.prototype.componentWillUnmount=function(){this.clearDelayTimer(),this.clearOutsideHandler(),clearTimeout(this.mouseDownTimeout)},t.prototype.getPopupDomNode=function(){return this._component&&this._component.getPopupDomNode?this._component.getPopupDomNode():null},t.prototype.getPopupAlign=function(){var e=this.props,t=e.popupPlacement,n=e.popupAlign,r=e.builtinPlacements;return t&&r?Object(k.a)(r,t,n):n},t.prototype.setPopupVisible=function(e,t){var n=this.props.alignPoint;this.clearDelayTimer(),this.state.popupVisible!==e&&("popupVisible"in this.props||this.setState({popupVisible:e}),this.props.onPopupVisibleChange(e)),n&&t&&this.setPoint(t)},t.prototype.delaySetPopupVisible=function(e,t,n){var r=this,o=1e3*t;if(this.clearDelayTimer(),o){var a=n?{pageX:n.pageX,pageY:n.pageY}:null;this.delayTimer=setTimeout(function(){r.setPopupVisible(e,a),r.clearDelayTimer()},o)}else this.setPopupVisible(e,n)},t.prototype.clearDelayTimer=function(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=null)},t.prototype.clearOutsideHandler=function(){this.clickOutsideHandler&&(this.clickOutsideHandler.remove(),this.clickOutsideHandler=null),this.contextMenuOutsideHandler1&&(this.contextMenuOutsideHandler1.remove(),this.contextMenuOutsideHandler1=null),this.contextMenuOutsideHandler2&&(this.contextMenuOutsideHandler2.remove(),this.contextMenuOutsideHandler2=null),this.touchOutsideHandler&&(this.touchOutsideHandler.remove(),this.touchOutsideHandler=null)},t.prototype.createTwoChains=function(e){var t=this.props.children.props,n=this.props;return t[e]&&n[e]?this["fire"+e]:t[e]||n[e]},t.prototype.isClickToShow=function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("click")||-1!==n.indexOf("click")},t.prototype.isContextMenuToShow=function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("contextMenu")||-1!==n.indexOf("contextMenu")},t.prototype.isClickToHide=function(){var e=this.props,t=e.action,n=e.hideAction;return-1!==t.indexOf("click")||-1!==n.indexOf("click")},t.prototype.isMouseEnterToShow=function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("hover")||-1!==n.indexOf("mouseEnter")},t.prototype.isMouseLeaveToHide=function(){var e=this.props,t=e.action,n=e.hideAction;return-1!==t.indexOf("hover")||-1!==n.indexOf("mouseLeave")},t.prototype.isFocusToShow=function(){var e=this.props,t=e.action,n=e.showAction;return-1!==t.indexOf("focus")||-1!==n.indexOf("focus")},t.prototype.isBlurToHide=function(){var e=this.props,t=e.action,n=e.hideAction;return-1!==t.indexOf("focus")||-1!==n.indexOf("blur")},t.prototype.forcePopupAlign=function(){this.state.popupVisible&&this._component&&this._component.alignInstance&&this._component.alignInstance.forceAlign()},t.prototype.fireEvents=function(e,t){var n=this.props.children.props[e];n&&n(t);var r=this.props[e];r&&r(t)},t.prototype.close=function(){this.setPopupVisible(!1)},t.prototype.render=function(){var e=this,t=this.state.popupVisible,n=this.props,r=n.children,o=n.forceRender,a=n.alignPoint,i=n.className,c=m.a.Children.only(r),s={key:"trigger"};this.isContextMenuToShow()?s.onContextMenu=this.onContextMenu:s.onContextMenu=this.createTwoChains("onContextMenu"),this.isClickToHide()||this.isClickToShow()?(s.onClick=this.onClick,s.onMouseDown=this.onMouseDown,s.onTouchStart=this.onTouchStart):(s.onClick=this.createTwoChains("onClick"),s.onMouseDown=this.createTwoChains("onMouseDown"),s.onTouchStart=this.createTwoChains("onTouchStart")),this.isMouseEnterToShow()?(s.onMouseEnter=this.onMouseEnter,a&&(s.onMouseMove=this.onMouseMove)):s.onMouseEnter=this.createTwoChains("onMouseEnter"),this.isMouseLeaveToHide()?s.onMouseLeave=this.onMouseLeave:s.onMouseLeave=this.createTwoChains("onMouseLeave"),this.isFocusToShow()||this.isBlurToHide()?(s.onFocus=this.onFocus,s.onBlur=this.onBlur):(s.onFocus=this.createTwoChains("onFocus"),s.onBlur=this.createTwoChains("onBlur"));var l=x()(c&&c.props&&c.props.className,i);l&&(s.className=l);var u=m.a.cloneElement(c,s);if(!M)return m.a.createElement(w.a,{parent:this,visible:t,autoMount:!1,forceRender:o,getComponent:this.getComponent,getContainer:this.getContainer},function(t){var n=t.renderComponent;return e.renderComponent=n,u});var f=void 0;return(t||this._component||o)&&(f=m.a.createElement(O.a,{key:"portal",getContainer:this.getContainer,didUpdate:this.handlePortalUpdate},this.getComponent())),[u,f]},t}(m.a.Component);P.propTypes={children:y.a.any,action:y.a.oneOfType([y.a.string,y.a.arrayOf(y.a.string)]),showAction:y.a.any,hideAction:y.a.any,getPopupClassNameFromAlign:y.a.any,onPopupVisibleChange:y.a.func,afterPopupVisibleChange:y.a.func,popup:y.a.oneOfType([y.a.node,y.a.func]).isRequired,popupStyle:y.a.object,prefixCls:y.a.string,popupClassName:y.a.string,className:y.a.string,popupPlacement:y.a.string,builtinPlacements:y.a.object,popupTransitionName:y.a.oneOfType([y.a.string,y.a.object]),popupAnimation:y.a.any,mouseEnterDelay:y.a.number,mouseLeaveDelay:y.a.number,zIndex:y.a.number,focusDelay:y.a.number,blurDelay:y.a.number,getPopupContainer:y.a.func,getDocument:y.a.func,forceRender:y.a.bool,destroyPopupOnHide:y.a.bool,mask:y.a.bool,maskClosable:y.a.bool,onPopupAlign:y.a.func,popupAlign:y.a.object,popupVisible:y.a.bool,defaultPopupVisible:y.a.bool,maskTransitionName:y.a.oneOfType([y.a.string,y.a.object]),maskAnimation:y.a.string,stretch:y.a.string,alignPoint:y.a.bool},P.contextTypes=j,P.childContextTypes=j,P.defaultProps={prefixCls:"rc-trigger-popup",getPopupClassNameFromAlign:o,getDocument:a,onPopupVisibleChange:r,afterPopupVisibleChange:r,onPopupAlign:r,popupClassName:"",mouseEnterDelay:0,mouseLeaveDelay:.1,focusDelay:0,blurDelay:.15,popupStyle:{},destroyPopupOnHide:!1,popupAlign:{},defaultPopupVisible:!1,mask:!1,maskClosable:!0,action:[],showAction:[],hideAction:[]};var T=function(){var e=this;this.onMouseEnter=function(t){var n=e.props.mouseEnterDelay;e.fireEvents("onMouseEnter",t),e.delaySetPopupVisible(!0,n,n?null:t)},this.onMouseMove=function(t){e.fireEvents("onMouseMove",t),e.setPoint(t)},this.onMouseLeave=function(t){e.fireEvents("onMouseLeave",t),e.delaySetPopupVisible(!1,e.props.mouseLeaveDelay)},this.onPopupMouseEnter=function(){e.clearDelayTimer()},this.onPopupMouseLeave=function(t){t.relatedTarget&&!t.relatedTarget.setTimeout&&e._component&&e._component.getPopupDomNode&&Object(b.a)(e._component.getPopupDomNode(),t.relatedTarget)||e.delaySetPopupVisible(!1,e.props.mouseLeaveDelay)},this.onFocus=function(t){e.fireEvents("onFocus",t),e.clearDelayTimer(),e.isFocusToShow()&&(e.focusTime=Date.now(),e.delaySetPopupVisible(!0,e.props.focusDelay))},this.onMouseDown=function(t){e.fireEvents("onMouseDown",t),e.preClickTime=Date.now()},this.onTouchStart=function(t){e.fireEvents("onTouchStart",t),e.preTouchTime=Date.now()},this.onBlur=function(t){e.fireEvents("onBlur",t),e.clearDelayTimer(),e.isBlurToHide()&&e.delaySetPopupVisible(!1,e.props.blurDelay)},this.onContextMenu=function(t){t.preventDefault(),e.fireEvents("onContextMenu",t),e.setPopupVisible(!0,t)},this.onContextMenuClose=function(){e.isContextMenuToShow()&&e.close()},this.onClick=function(t){if(e.fireEvents("onClick",t),e.focusTime){var n=void 0;if(e.preClickTime&&e.preTouchTime?n=Math.min(e.preClickTime,e.preTouchTime):e.preClickTime?n=e.preClickTime:e.preTouchTime&&(n=e.preTouchTime),Math.abs(n-e.focusTime)<20)return;e.focusTime=0}e.preClickTime=0,e.preTouchTime=0,t&&t.preventDefault&&t.preventDefault();var r=!e.state.popupVisible;(e.isClickToHide()&&!r||r&&e.isClickToShow())&&e.setPopupVisible(!e.state.popupVisible,t)},this.onPopupMouseDown=function(){var t=e.context.rcTrigger,n=void 0===t?{}:t;e.hasPopupMouseDown=!0,clearTimeout(e.mouseDownTimeout),e.mouseDownTimeout=setTimeout(function(){e.hasPopupMouseDown=!1},0),n.onPopupMouseDown&&n.onPopupMouseDown.apply(n,arguments)},this.onDocumentClick=function(t){if(!e.props.mask||e.props.maskClosable){var n=t.target,r=Object(g.findDOMNode)(e);Object(b.a)(r,n)||e.hasPopupMouseDown||e.close()}},this.getRootDomNode=function(){return Object(g.findDOMNode)(e)},this.getPopupClassNameFromAlign=function(t){var n=[],r=e.props,o=r.popupPlacement,a=r.builtinPlacements,i=r.prefixCls,c=r.alignPoint,s=r.getPopupClassNameFromAlign;return o&&a&&n.push(Object(k.b)(a,i,t,c)),s&&n.push(s(t)),n.join(" ")},this.getComponent=function(){var t=e.props,n=t.prefixCls,r=t.destroyPopupOnHide,o=t.popupClassName,a=t.action,i=t.onPopupAlign,s=t.popupAnimation,l=t.popupTransitionName,u=t.popupStyle,f=t.mask,p=t.maskAnimation,d=t.maskTransitionName,h=t.zIndex,v=t.popup,y=t.stretch,g=t.alignPoint,b=e.state,_=b.popupVisible,w=b.point,O=e.getPopupAlign(),C={};return e.isMouseEnterToShow()&&(C.onMouseEnter=e.onPopupMouseEnter),e.isMouseLeaveToHide()&&(C.onMouseLeave=e.onPopupMouseLeave),C.onMouseDown=e.onPopupMouseDown,C.onTouchStart=e.onPopupMouseDown,m.a.createElement(S.a,c()({prefixCls:n,destroyPopupOnHide:r,visible:_,point:g&&w,className:o,action:a,align:O,onAlign:i,animation:s,getClassNameFromAlign:e.getPopupClassNameFromAlign},C,{stretch:y,getRootDomNode:e.getRootDomNode,style:u,mask:f,zIndex:h,transitionName:l,maskAnimation:p,maskTransitionName:d,ref:e.savePopup}),"function"===typeof v?v():v)},this.getContainer=function(){var t=e.props,n=document.createElement("div");return n.style.position="absolute",n.style.top="0",n.style.left="0",n.style.width="100%",(t.getPopupContainer?t.getPopupContainer(Object(g.findDOMNode)(e)):t.getDocument().body).appendChild(n),n},this.setPoint=function(t){e.props.alignPoint&&t&&e.setState({point:{pageX:t.pageX,pageY:t.pageY}})},this.handlePortalUpdate=function(){e.prevPopupVisible!==e.state.popupVisible&&e.props.afterPopupVisibleChange(e.state.popupVisible)},this.savePopup=function(t){e._component=t}};t.a=P},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(210),o=n(209);e.exports=function(e){return r(o(e))}},function(e,t,n){var r=n(337);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){var r=n(74);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){"use strict";var r=n(3);Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o.default}});var o=r(n(746))},function(e,t,n){"use strict";function r(e){return e&&"object"===typeof e&&"default"in e?e.default:e}function o(e,t,n){return Object.defineProperty(e,t,n)}function a(e){return y({},w,e)}function i(e,t,n){var r=[e,t];return r.push(_?n:n.capture),r}function c(e,t,n,r){e.addEventListener.apply(e,i(t,n,r))}function s(e,t,n,r){e.removeEventListener.apply(e,i(t,n,r))}function l(e,t){var n=(e.children,e.target,v(e,["children","target"]));Object.keys(n).forEach(function(e){if("on"===e.substring(0,2)){var r=n[e],o=m(r),i="object"===o,c="function"===o;if(i||c){var s="capture"===e.substr(-7).toLowerCase(),l=e.substring(2).toLowerCase();l=s?l.substring(0,l.length-7):l,i?t(l,r.handler,r.options):t(l,r,a({capture:s}))}}})}function u(e,t){return{handler:e,options:a(t)}}Object.defineProperty(t,"__esModule",{value:!0});var f=r(n(751)),p=r(n(752)),d=r(n(753)),h=r(n(755)),m=r(n(378)),v=r(n(756)),y=r(n(757)),g=r(n(0)),b=(r(n(1)),r(n(379))),_=(r(n(17)),function(){var e=null;return function(){if(null!==e)return e;var t=!1;try{window.addEventListener("test",null,o({},"passive",{get:function(){t=!0}}))}catch(e){}return e=t,t}()}()),w={capture:!1,passive:!1},O=function(e){function t(){return f(this,t),d(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return h(t,e),p(t,[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"shouldComponentUpdate",value:function(e){return!b(this.props,e)}},{key:"componentWillUpdate",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"addListeners",value:function(){this.applyListeners(c)}},{key:"removeListeners",value:function(){this.applyListeners(s)}},{key:"applyListeners",value:function(e){var t=this.props.target;if(t){var n=t;"string"===typeof t&&(n=window[t]),l(this.props,e.bind(null,n))}}},{key:"render",value:function(){return this.props.children||null}}]),t}(g.Component);O.propTypes={},t.withOptions=u,t.default=O},function(e,t,n){function r(e){return null==e?void 0===e?s:c:l&&l in Object(e)?a(e):i(e)}var o=n(138),a=n(760),i=n(761),c="[object Null]",s="[object Undefined]",l=o?o.toStringTag:void 0;e.exports=r},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(841),a=r(o),i=n(843),c=r(i),s="function"===typeof c.default&&"symbol"===typeof a.default?function(e){return typeof e}:function(e){return e&&"function"===typeof c.default&&e.constructor===c.default&&e!==c.default.prototype?"symbol":typeof e};t.default="function"===typeof c.default&&"symbol"===s(a.default)?function(e){return"undefined"===typeof e?"undefined":s(e)}:function(e){return e&&"function"===typeof c.default&&e.constructor===c.default&&e!==c.default.prototype?"symbol":"undefined"===typeof e?"undefined":s(e)}},function(e,t,n){"use strict";function r(e){var t=e.style.display;e.style.display="none",e.offsetHeight,e.style.display=t}function o(e,t,n){var r=n;{if("object"!==("undefined"===typeof t?"undefined":E(t)))return"undefined"!==typeof r?("number"===typeof r&&(r+="px"),void(e.style[t]=r)):j(e,t);for(var a in t)t.hasOwnProperty(a)&&o(e,a,t[a])}}function a(e){var t=void 0,n=void 0,r=void 0,o=e.ownerDocument,a=o.body,i=o&&o.documentElement;return t=e.getBoundingClientRect(),n=t.left,r=t.top,n-=i.clientLeft||a.clientLeft||0,r-=i.clientTop||a.clientTop||0,{left:n,top:r}}function i(e,t){var n=e["page"+(t?"Y":"X")+"Offset"],r="scroll"+(t?"Top":"Left");if("number"!==typeof n){var o=e.document;n=o.documentElement[r],"number"!==typeof n&&(n=o.body[r])}return n}function c(e){return i(e)}function s(e){return i(e,!0)}function l(e){var t=a(e),n=e.ownerDocument,r=n.defaultView||n.parentWindow;return t.left+=c(r),t.top+=s(r),t}function u(e){return null!==e&&void 0!==e&&e==e.window}function f(e){return u(e)?e.document:9===e.nodeType?e:e.ownerDocument}function p(e,t,n){var r=n,o="",a=f(e);return r=r||a.defaultView.getComputedStyle(e,null),r&&(o=r.getPropertyValue(t)||r[t]),o}function d(e,t){var n=e[N]&&e[N][t];if(P.test(n)&&!T.test(t)){var r=e.style,o=r[D],a=e[z][D];e[z][D]=e[N][D],r[D]="fontSize"===t?"1em":n||0,n=r.pixelLeft+A,r[D]=o,e[z][D]=a}return""===n?"auto":n}function h(e,t){return"left"===e?t.useCssRight?"right":e:t.useCssBottom?"bottom":e}function m(e){return"left"===e?"right":"right"===e?"left":"top"===e?"bottom":"bottom"===e?"top":void 0}function v(e,t,n){"static"===o(e,"position")&&(e.style.position="relative");var a=-999,i=-999,c=h("left",n),s=h("top",n),u=m(c),f=m(s);"left"!==c&&(a=999),"top"!==s&&(i=999);var p="",d=l(e);("left"in t||"top"in t)&&(p=Object(S.c)(e)||"",Object(S.e)(e,"none")),"left"in t&&(e.style[u]="",e.style[c]=a+"px"),"top"in t&&(e.style[f]="",e.style[s]=i+"px"),r(e);var v=l(e),y={};for(var g in t)if(t.hasOwnProperty(g)){var b=h(g,n),_="left"===g?a:i,w=d[g]-v[g];y[b]=b===g?_+w:_-w}o(e,y),r(e),("left"in t||"top"in t)&&Object(S.e)(e,p);var O={};for(var C in t)if(t.hasOwnProperty(C)){var x=h(C,n),k=t[C]-d[C];O[x]=C===x?y[x]+k:y[x]-k}o(e,O)}function y(e,t){var n=l(e),r=Object(S.b)(e),o={x:r.x,y:r.y};"left"in t&&(o.x=r.x+t.left-n.left),"top"in t&&(o.y=r.y+t.top-n.top),Object(S.d)(e,o)}function g(e,t,n){if(n.ignoreShake){var r=l(e),o=r.left.toFixed(0),a=r.top.toFixed(0),i=t.left.toFixed(0),c=t.top.toFixed(0);if(o===i&&a===c)return}n.useCssRight||n.useCssBottom?v(e,t,n):n.useCssTransform&&Object(S.a)()in document.body.style?y(e,t,n):v(e,t,n)}function b(e,t){for(var n=0;nr||n<=0)return"";var o=0;if(t>0){for(;t>0&&o=r)return""}else if(t<0){for(o=r;t<0&&00&&c1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return en?n:e}function o(e){e=e.substr(1);var t=new RegExp(".{1,".concat(e.length/3,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map(function(e){return e+e})),n?"rgb(".concat(n.map(function(e){return parseInt(e,16)}).join(", "),")"):""}function a(e){if("#"===e.charAt(0))return a(o(e));var t=e.indexOf("("),n=e.substring(0,t),r=e.substring(t+1,e.length-1).split(",");return r=r.map(function(e){return parseFloat(e)}),{type:n,values:r}}function i(e){var t=e.type,n=e.values;return-1!==t.indexOf("rgb")&&(n=n.map(function(e,t){return t<3?parseInt(e,10):e})),-1!==t.indexOf("hsl")&&(n[1]="".concat(n[1],"%"),n[2]="".concat(n[2],"%")),"".concat(e.type,"(").concat(n.join(", "),")")}function c(e,t){var n=s(e),r=s(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function s(e){var t=a(e);if(-1!==t.type.indexOf("rgb")){var n=t.values.map(function(e){return e/=255,e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return Number((.2126*n[0]+.7152*n[1]+.0722*n[2]).toFixed(3))}return t.values[2]/100}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return s(e)>.5?f(e,t):p(e,t)}function u(e,t){return e?(e=a(e),t=r(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),e.values[3]=t,i(e)):e}function f(e,t){if(!e)return e;if(e=a(e),t=r(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return i(e)}function p(e,t){if(!e)return e;if(e=a(e),t=r(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;return i(e)}var d=n(3);Object.defineProperty(t,"__esModule",{value:!0}),t.convertHexToRGB=o,t.decomposeColor=a,t.recomposeColor=i,t.getContrastRatio=c,t.getLuminance=s,t.emphasize=l,t.fade=u,t.darken=f,t.lighten=p;d(n(17))},function(e,t,n){"use strict";var r=n(3);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.isNumber=t.isString=t.formatMs=t.duration=t.easing=void 0;var o=(r(n(110)),r(n(10))),a=r(n(710)),i=(r(n(17)),{easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"});t.easing=i;var c={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};t.duration=c;var s=function(e){return"".concat(Math.round(e),"ms")};t.formatMs=s;var l=function(e){return"string"===typeof e};t.isString=l;var u=function(e){return!(0,a.default)(parseFloat(e))};t.isNumber=u;var f={easing:i,duration:c,create:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["all"],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(){var n=t.duration,r=void 0===n?c.standard:n,a=t.easing,l=void 0===a?i.easeInOut:a,u=t.delay,f=void 0===u?0:u;(0,o.default)(t,["duration","easing","delay"]);return(Array.isArray(e)?e:[e]).map(function(e){return"".concat(e," ").concat("string"===typeof r?r:s(r)," ").concat(l," ").concat("string"===typeof f?f:s(f))}).join(",")}()},getAutoHeightDuration:function(e){if(!e)return 0;var t=e/36;return Math.round(10*(4+15*Math.pow(t,.25)+t/5))}};t.default=f},function(e,t,n){"use strict";function r(){return a||(a=(0,m.default)())}var o=n(3);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a,i=o(n(12)),c=o(n(21)),s=o(n(18)),l=o(n(19)),u=o(n(22)),f=o(n(23)),p=o(n(29)),d=o(n(0)),h=o(n(109)),m=(o(n(134)),o(n(224))),v=o(n(226)),y=function(){return function(e){var t=function(t){function n(e,t){var o;return(0,s.default)(this,n),o=(0,u.default)(this,(n.__proto__||(0,c.default)(n)).call(this,e,t)),Object.defineProperty((0,p.default)(o),"state",{configurable:!0,enumerable:!0,writable:!0,value:{}}),Object.defineProperty((0,p.default)(o),"unsubscribeId",{configurable:!0,enumerable:!0,writable:!0,value:null}),o.state={theme:v.default.initial(t)||r()},o}return(0,f.default)(n,t),(0,l.default)(n,[{key:"componentDidMount",value:function(){var e=this;this.unsubscribeId=v.default.subscribe(this.context,function(t){e.setState({theme:t})})}},{key:"componentWillUnmount",value:function(){null!==this.unsubscribeId&&v.default.unsubscribe(this.context,this.unsubscribeId)}},{key:"render",value:function(){return d.default.createElement(e,(0,i.default)({theme:this.state.theme},this.props))}}]),n}(d.default.Component);return t.contextTypes=v.default.contextTypes,(0,h.default)(t,e),t}},g=y;t.default=g},function(e,t){function n(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function o(e){if(u===setTimeout)return setTimeout(e,0);if((u===n||!u)&&setTimeout)return u=setTimeout,setTimeout(e,0);try{return u(e,0)}catch(t){try{return u.call(null,e,0)}catch(t){return u.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function i(){m&&d&&(m=!1,d.length?h=d.concat(h):v=-1,h.length&&c())}function c(){if(!m){var e=o(i);m=!0;for(var t=h.length;t;){for(d=h,h=[];++v1)for(var n=1;n=i},t.prototype.isCollapsed=function(){return this.getAnchorKey()===this.getFocusKey()&&this.getAnchorOffset()===this.getFocusOffset()},t.prototype.getStartKey=function(){return this.getIsBackward()?this.getFocusKey():this.getAnchorKey()},t.prototype.getStartOffset=function(){return this.getIsBackward()?this.getFocusOffset():this.getAnchorOffset()},t.prototype.getEndKey=function(){return this.getIsBackward()?this.getAnchorKey():this.getFocusKey()},t.prototype.getEndOffset=function(){return this.getIsBackward()?this.getAnchorOffset():this.getFocusOffset()},t.createEmpty=function(e){return new t({anchorKey:e,anchorOffset:0,focusKey:e,focusOffset:0,isBackward:!1,hasFocus:!1})},t}(l);e.exports=u},function(e,t,n){"use strict";function r(e){return"object"==typeof e?Object.keys(e).filter(function(t){return e[t]}).map(o).join(" "):Array.prototype.map.call(arguments,o).join(" ")}function o(e){return e.replace(/\//g,"-")}e.exports=r},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function t(e){return a(e)?e:j(e)}function n(e){return i(e)?e:P(e)}function r(e){return c(e)?e:T(e)}function o(e){return a(e)&&!s(e)?e:N(e)}function a(e){return!(!e||!e[ln])}function i(e){return!(!e||!e[un])}function c(e){return!(!e||!e[fn])}function s(e){return i(e)||c(e)}function l(e){return!(!e||!e[pn])}function u(e){return e.value=!1,e}function f(e){e&&(e.value=!0)}function p(){}function d(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),o=0;o>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?h(e)+t:t}function v(){return!0}function y(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function g(e,t){return _(e,t,0)}function b(e,t){return _(e,t,t)}function _(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function w(e){this.next=e}function O(e,t,n,r){var o=0===e?t:1===e?n:[t,n];return r?r.value=o:r={value:o,done:!1},r}function C(){return{value:void 0,done:!0}}function x(e){return!!E(e)}function k(e){return e&&"function"===typeof e.next}function S(e){var t=E(e);return t&&t.call(e)}function E(e){var t=e&&(On&&e[On]||e[Cn]);if("function"===typeof t)return t}function M(e){return e&&"number"===typeof e.length}function j(e){return null===e||void 0===e?R():a(e)?e.toSeq():F(e)}function P(e){return null===e||void 0===e?R().toKeyedSeq():a(e)?i(e)?e.toSeq():e.fromEntrySeq():H(e)}function T(e){return null===e||void 0===e?R():a(e)?i(e)?e.entrySeq():e.toIndexedSeq():V(e)}function N(e){return(null===e||void 0===e?R():a(e)?i(e)?e.entrySeq():e:V(e)).toSetSeq()}function z(e){this._array=e,this.size=e.length}function D(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function A(e){this._iterable=e,this.size=e.length||e.size}function L(e){this._iterator=e,this._iteratorCache=[]}function I(e){return!(!e||!e[kn])}function R(){return Sn||(Sn=new z([]))}function H(e){var t=Array.isArray(e)?new z(e).fromEntrySeq():k(e)?new L(e).fromEntrySeq():x(e)?new A(e).fromEntrySeq():"object"===typeof e?new D(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function V(e){var t=B(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function F(e){var t=B(e)||"object"===typeof e&&new D(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function B(e){return M(e)?new z(e):k(e)?new L(e):x(e)?new A(e):void 0}function U(e,t,n,r){var o=e._cache;if(o){for(var a=o.length-1,i=0;i<=a;i++){var c=o[n?a-i:i];if(!1===t(c[1],r?c[0]:i,e))return i+1}return i}return e.__iterateUncached(t,n)}function K(e,t,n,r){var o=e._cache;if(o){var a=o.length-1,i=0;return new w(function(){var e=o[n?a-i:i];return i++>a?C():O(t,r?e[0]:i-1,e[1])})}return e.__iteratorUncached(t,n)}function W(e,t){return t?q(t,e,"",{"":e}):Y(e)}function q(e,t,n,r){return Array.isArray(t)?e.call(r,n,T(t).map(function(n,r){return q(e,n,r,t)})):G(t)?e.call(r,n,P(t).map(function(n,r){return q(e,n,r,t)})):t}function Y(e){return Array.isArray(e)?T(e).map(Y).toList():G(e)?P(e).map(Y).toMap():e}function G(e){return e&&(e.constructor===Object||void 0===e.constructor)}function $(e,t){if(e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1;if("function"===typeof e.valueOf&&"function"===typeof t.valueOf){if(e=e.valueOf(),t=t.valueOf(),e===t||e!==e&&t!==t)return!0;if(!e||!t)return!1}return!("function"!==typeof e.equals||"function"!==typeof t.equals||!e.equals(t))}function Q(e,t){if(e===t)return!0;if(!a(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||i(e)!==i(t)||c(e)!==c(t)||l(e)!==l(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!s(e);if(l(e)){var r=e.entries();return t.every(function(e,t){var o=r.next().value;return o&&$(o[1],e)&&(n||$(o[0],t))})&&r.next().done}var o=!1;if(void 0===e.size)if(void 0===t.size)"function"===typeof e.cacheResult&&e.cacheResult();else{o=!0;var u=e;e=t,t=u}var f=!0,p=t.__iterate(function(t,r){if(n?!e.has(t):o?!$(t,e.get(r,vn)):!$(e.get(r,vn),t))return f=!1,!1});return f&&e.size===p}function X(e,t){if(!(this instanceof X))return new X(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(En)return En;En=this}}function Z(e,t){if(!e)throw new Error(t)}function J(e,t,n){if(!(this instanceof J))return new J(e,t,n);if(Z(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t>>1&1073741824|3221225471&e}function ae(e){if(!1===e||null===e||void 0===e)return 0;if("function"===typeof e.valueOf&&(!1===(e=e.valueOf())||null===e||void 0===e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!==e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)e/=4294967295,n^=e;return oe(n)}if("string"===t)return e.length>Ln?ie(e):ce(e);if("function"===typeof e.hashCode)return e.hashCode();if("object"===t)return se(e);if("function"===typeof e.toString)return ce(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function ie(e){var t=Hn[e];return void 0===t&&(t=ce(e),Rn===In&&(Rn=0,Hn={}),Rn++,Hn[e]=t),t}function ce(e){for(var t=0,n=0;n0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}function ue(e){Z(e!==1/0,"Cannot perform this action with an infinite size.")}function fe(e){return null===e||void 0===e?Oe():pe(e)&&!l(e)?e:Oe().withMutations(function(t){var r=n(e);ue(r.size),r.forEach(function(e,n){return t.set(n,e)})})}function pe(e){return!(!e||!e[Vn])}function de(e,t){this.ownerID=e,this.entries=t}function he(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function me(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function ve(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function ye(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function ge(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&_e(e._root)}function be(e,t){return O(e,t[0],t[1])}function _e(e,t){return{node:e,index:0,__prev:t}}function we(e,t,n,r){var o=Object.create(Fn);return o.size=e,o._root=t,o.__ownerID=n,o.__hash=r,o.__altered=!1,o}function Oe(){return Bn||(Bn=we(0))}function Ce(e,t,n){var r,o;if(e._root){var a=u(yn),i=u(gn);if(r=xe(e._root,e.__ownerID,0,void 0,t,n,a,i),!i.value)return e;o=e.size+(a.value?n===vn?-1:1:0)}else{if(n===vn)return e;o=1,r=new de(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=o,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?we(o,r):Oe()}function xe(e,t,n,r,o,a,i,c){return e?e.update(t,n,r,o,a,i,c):a===vn?e:(f(c),f(i),new ye(t,r,[o,a]))}function ke(e){return e.constructor===ye||e.constructor===ve}function Se(e,t,n,r,o){if(e.keyHash===r)return new ve(t,r,[e.entry,o]);var a,i=(0===n?e.keyHash:e.keyHash>>>n)&mn,c=(0===n?r:r>>>n)&mn;return new he(t,1<>>=1)i[c]=1&n?t[a++]:void 0;return i[r]=o,new me(e,a+1,i)}function Pe(e,t,r){for(var o=[],i=0;i>1&1431655765,e=(858993459&e)+(e>>2&858993459),e=e+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function Le(e,t,n,r){var o=r?e:d(e);return o[t]=n,o}function Ie(e,t,n,r){var o=e.length+1;if(r&&t+1===o)return e[t]=n,e;for(var a=new Array(o),i=0,c=0;c0&&oa?0:a-n,l=i-n;return l>hn&&(l=hn),function(){if(o===l)return $n;var e=t?--l:o++;return r&&r[e]}}function o(e,r,o){var c,s=e&&e.array,l=o>a?0:a-o>>r,u=1+(i-o>>r);return u>hn&&(u=hn),function(){for(;;){if(c){var e=c();if(e!==$n)return e;c=null}if(l===u)return $n;var a=t?--u:l++;c=n(s&&s[a],r-dn,o+(a<=e.size||t<0)return e.withMutations(function(e){t<0?$e(e,t).set(0,n):$e(e,0,t+1).set(t,n)});t+=e._origin;var r=e._tail,o=e._root,a=u(gn);return t>=Xe(e._capacity)?r=qe(r,e.__ownerID,0,t,n,a):o=qe(o,e.__ownerID,e._level,t,n,a),a.value?e.__ownerID?(e._root=o,e._tail=r,e.__hash=void 0,e.__altered=!0,e):Ue(e._origin,e._capacity,e._level,o,r):e}function qe(e,t,n,r,o,a){var i=r>>>n&mn,c=e&&i0){var l=e&&e.array[i],u=qe(l,t,n-dn,r,o,a);return u===l?e:(s=Ye(e,t),s.array[i]=u,s)}return c&&e.array[i]===o?e:(f(a),s=Ye(e,t),void 0===o&&i===s.array.length-1?s.array.pop():s.array[i]=o,s)}function Ye(e,t){return t&&e&&t===e.ownerID?e:new Fe(e?e.array.slice():[],t)}function Ge(e,t){if(t>=Xe(e._capacity))return e._tail;if(t<1<0;)n=n.array[t>>>r&mn],r-=dn;return n}}function $e(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new p,o=e._origin,a=e._capacity,i=o+t,c=void 0===n?a:n<0?a+n:o+n;if(i===o&&c===a)return e;if(i>=c)return e.clear();for(var s=e._level,l=e._root,u=0;i+u<0;)l=new Fe(l&&l.array.length?[void 0,l]:[],r),s+=dn,u+=1<=1<f?new Fe([],r):h;if(h&&d>f&&idn;y-=dn){var g=f>>>y&mn;v=v.array[g]=Ye(v.array[g],r)}v.array[f>>>dn&mn]=h}if(c=d)i-=d,c-=d,s=dn,l=null,m=m&&m.removeBefore(r,0,i);else if(i>o||d>>s&mn;if(b!==d>>>s&mn)break;b&&(u+=(1<o&&(l=l.removeBefore(r,s,i-u)),l&&di&&(i=l.size),a(s)||(l=l.map(function(e){return W(e)})),o.push(l)}return i>e.size&&(e=e.setSize(i)),ze(e,t,o)}function Xe(e){return e>>dn<=hn&&i.size>=2*a.size?(o=i.filter(function(e,t){return void 0!==e&&c!==t}),r=o.toKeyedSeq().map(function(e){return e[0]}).flip().toMap(),e.__ownerID&&(r.__ownerID=o.__ownerID=e.__ownerID)):(r=a.remove(t),o=c===i.size-1?i.pop():i.set(c,void 0))}else if(s){if(n===i.get(c)[1])return e;r=a,o=i.set(c,[t,n])}else r=a.set(t,i.size),o=i.set(i.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=o,e.__hash=void 0,e):et(r,o)}function rt(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function ot(e){this._iter=e,this.size=e.size}function at(e){this._iter=e,this.size=e.size}function it(e){this._iter=e,this.size=e.size}function ct(e){var t=Mt(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=jt,t.__iterateUncached=function(t,n){var r=this;return e.__iterate(function(e,n){return!1!==t(n,e,r)},n)},t.__iteratorUncached=function(t,n){if(t===wn){var r=e.__iterator(t,n);return new w(function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e})}return e.__iterator(t===_n?bn:_n,n)},t}function st(e,t,n){var r=Mt(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,o){var a=e.get(r,vn);return a===vn?o:t.call(n,a,r,e)},r.__iterateUncached=function(r,o){var a=this;return e.__iterate(function(e,o,i){return!1!==r(t.call(n,e,o,i),o,a)},o)},r.__iteratorUncached=function(r,o){var a=e.__iterator(wn,o);return new w(function(){var o=a.next();if(o.done)return o;var i=o.value,c=i[0];return O(r,c,t.call(n,i[1],c,e),o)})},r}function lt(e,t){var n=Mt(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=ct(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=jt,n.__iterate=function(t,n){var r=this;return e.__iterate(function(e,n){return t(e,n,r)},!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function ut(e,t,n,r){var o=Mt(e);return r&&(o.has=function(r){var o=e.get(r,vn);return o!==vn&&!!t.call(n,o,r,e)},o.get=function(r,o){var a=e.get(r,vn);return a!==vn&&t.call(n,a,r,e)?a:o}),o.__iterateUncached=function(o,a){var i=this,c=0;return e.__iterate(function(e,a,s){if(t.call(n,e,a,s))return c++,o(e,r?a:c-1,i)},a),c},o.__iteratorUncached=function(o,a){var i=e.__iterator(wn,a),c=0;return new w(function(){for(;;){var a=i.next();if(a.done)return a;var s=a.value,l=s[0],u=s[1];if(t.call(n,u,l,e))return O(o,r?l:c++,u,a)}})},o}function ft(e,t,n){var r=fe().asMutable();return e.__iterate(function(o,a){r.update(t.call(n,o,a,e),0,function(e){return e+1})}),r.asImmutable()}function pt(e,t,n){var r=i(e),o=(l(e)?Ze():fe()).asMutable();e.__iterate(function(a,i){o.update(t.call(n,a,i,e),function(e){return e=e||[],e.push(r?[i,a]:a),e})});var a=Et(e);return o.map(function(t){return xt(e,a(t))})}function dt(e,t,n,r){var o=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=o:n|=0),y(t,n,o))return e;var a=g(t,o),i=b(n,o);if(a!==a||i!==i)return dt(e.toSeq().cacheResult(),t,n,r);var c,s=i-a;s===s&&(c=s<0?0:s);var l=Mt(e);return l.size=0===c?c:e.size&&c||void 0,!r&&I(e)&&c>=0&&(l.get=function(t,n){return t=m(this,t),t>=0&&tc)return C();var e=o.next();return r||t===_n?e:t===bn?O(t,s-1,void 0,e):O(t,s-1,e.value[1],e)})},l}function ht(e,t,n){var r=Mt(e);return r.__iterateUncached=function(r,o){var a=this;if(o)return this.cacheResult().__iterate(r,o);var i=0;return e.__iterate(function(e,o,c){return t.call(n,e,o,c)&&++i&&r(e,o,a)}),i},r.__iteratorUncached=function(r,o){var a=this;if(o)return this.cacheResult().__iterator(r,o);var i=e.__iterator(wn,o),c=!0;return new w(function(){if(!c)return C();var e=i.next();if(e.done)return e;var o=e.value,s=o[0],l=o[1];return t.call(n,l,s,a)?r===wn?e:O(r,s,l,e):(c=!1,C())})},r}function mt(e,t,n,r){var o=Mt(e);return o.__iterateUncached=function(o,a){var i=this;if(a)return this.cacheResult().__iterate(o,a);var c=!0,s=0;return e.__iterate(function(e,a,l){if(!c||!(c=t.call(n,e,a,l)))return s++,o(e,r?a:s-1,i)}),s},o.__iteratorUncached=function(o,a){var i=this;if(a)return this.cacheResult().__iterator(o,a);var c=e.__iterator(wn,a),s=!0,l=0;return new w(function(){var e,a,u;do{if(e=c.next(),e.done)return r||o===_n?e:o===bn?O(o,l++,void 0,e):O(o,l++,e.value[1],e);var f=e.value;a=f[0],u=f[1],s&&(s=t.call(n,u,a,i))}while(s);return o===wn?e:O(o,a,u,e)})},o}function vt(e,t){var r=i(e),o=[e].concat(t).map(function(e){return a(e)?r&&(e=n(e)):e=r?H(e):V(Array.isArray(e)?e:[e]),e}).filter(function(e){return 0!==e.size});if(0===o.length)return e;if(1===o.length){var s=o[0];if(s===e||r&&i(s)||c(e)&&c(s))return s}var l=new z(o);return r?l=l.toKeyedSeq():c(e)||(l=l.toSetSeq()),l=l.flatten(!0),l.size=o.reduce(function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}},0),l}function yt(e,t,n){var r=Mt(e);return r.__iterateUncached=function(r,o){function i(e,l){var u=this;e.__iterate(function(e,o){return(!t||l0}function Ct(e,n,r){var o=Mt(e);return o.size=new z(r).map(function(e){return e.size}).min(),o.__iterate=function(e,t){for(var n,r=this.__iterator(_n,t),o=0;!(n=r.next()).done&&!1!==e(n.value,o++,this););return o},o.__iteratorUncached=function(e,o){var a=r.map(function(e){return e=t(e),S(o?e.reverse():e)}),i=0,c=!1;return new w(function(){var t;return c||(t=a.map(function(e){return e.next()}),c=t.some(function(e){return e.done})),c?C():O(e,i++,n.apply(null,t.map(function(e){return e.value})))})},o}function xt(e,t){return I(e)?t:e.constructor(t)}function kt(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function St(e){return ue(e.size),h(e)}function Et(e){return i(e)?n:c(e)?r:o}function Mt(e){return Object.create((i(e)?P:c(e)?T:N).prototype)}function jt(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):j.prototype.cacheResult.call(this)}function Pt(e,t){return e>t?1:et?-1:0}function on(e){if(e.size===1/0)return 0;var t=l(e),n=i(e),r=t?1:0;return an(e.__iterate(n?t?function(e,t){r=31*r+cn(ae(e),ae(t))|0}:function(e,t){r=r+cn(ae(e),ae(t))|0}:t?function(e){r=31*r+ae(e)|0}:function(e){r=r+ae(e)|0}),r)}function an(e,t){return t=Pn(t,3432918353),t=Pn(t<<15|t>>>-15,461845907),t=Pn(t<<13|t>>>-13,5),t=(t+3864292196|0)^e,t=Pn(t^t>>>16,2246822507),t=Pn(t^t>>>13,3266489909),t=oe(t^t>>>16)}function cn(e,t){return e^t+2654435769+(e<<6)+(e>>2)|0}var sn=Array.prototype.slice;e(n,t),e(r,t),e(o,t),t.isIterable=a,t.isKeyed=i,t.isIndexed=c,t.isAssociative=s,t.isOrdered=l,t.Keyed=n,t.Indexed=r,t.Set=o;var ln="@@__IMMUTABLE_ITERABLE__@@",un="@@__IMMUTABLE_KEYED__@@",fn="@@__IMMUTABLE_INDEXED__@@",pn="@@__IMMUTABLE_ORDERED__@@",dn=5,hn=1<r?C():O(e,o,n[t?r-o++:o++])})},e(D,P),D.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},D.prototype.has=function(e){return this._object.hasOwnProperty(e)},D.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,o=r.length-1,a=0;a<=o;a++){var i=r[t?o-a:a];if(!1===e(n[i],i,this))return a+1}return a},D.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,o=r.length-1,a=0;return new w(function(){var i=r[t?o-a:a];return a++>o?C():O(e,i,n[i])})},D.prototype[pn]=!0,e(A,T),A.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=this._iterable,r=S(n),o=0;if(k(r))for(var a;!(a=r.next()).done&&!1!==e(a.value,o++,this););return o},A.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterable,r=S(n);if(!k(r))return new w(C);var o=0;return new w(function(){var t=r.next();return t.done?t:O(e,o++,t.value)})},e(L,T),L.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n=this._iterator,r=this._iteratorCache,o=0;o=r.length){var t=n.next();if(t.done)return t;r[o]=t.value}return O(e,o,r[o++])})};var Sn;e(X,T),X.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},X.prototype.get=function(e,t){return this.has(e)?this._value:t},X.prototype.includes=function(e){return $(this._value,e)},X.prototype.slice=function(e,t){var n=this.size;return y(e,t,n)?this:new X(this._value,b(t,n)-g(e,n))},X.prototype.reverse=function(){return this},X.prototype.indexOf=function(e){return $(this._value,e)?0:-1},X.prototype.lastIndexOf=function(e){return $(this._value,e)?this.size:-1},X.prototype.__iterate=function(e,t){for(var n=0;n=0&&t=0&&nn?C():O(e,a++,i)})},J.prototype.equals=function(e){return e instanceof J?this._start===e._start&&this._end===e._end&&this._step===e._step:Q(this,e)};var Mn;e(ee,t),e(te,ee),e(ne,ee),e(re,ee),ee.Keyed=te,ee.Indexed=ne,ee.Set=re;var jn,Pn="function"===typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){e|=0,t|=0;var n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0},Tn=Object.isExtensible,Nn=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}(),zn="function"===typeof WeakMap;zn&&(jn=new WeakMap);var Dn=0,An="__immutablehash__";"function"===typeof Symbol&&(An=Symbol(An));var Ln=16,In=255,Rn=0,Hn={};e(fe,te),fe.of=function(){var e=sn.call(arguments,0);return Oe().withMutations(function(t){for(var n=0;n=e.length)throw new Error("Missing value for key: "+e[n]);t.set(e[n],e[n+1])}})},fe.prototype.toString=function(){return this.__toString("Map {","}")},fe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},fe.prototype.set=function(e,t){return Ce(this,e,t)},fe.prototype.setIn=function(e,t){return this.updateIn(e,vn,function(){return t})},fe.prototype.remove=function(e){return Ce(this,e,vn)},fe.prototype.deleteIn=function(e){return this.updateIn(e,function(){return vn})},fe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},fe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=De(this,Tt(e),t,n);return r===vn?void 0:r},fe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):Oe()},fe.prototype.merge=function(){return Pe(this,void 0,arguments)},fe.prototype.mergeWith=function(e){return Pe(this,e,sn.call(arguments,1))},fe.prototype.mergeIn=function(e){var t=sn.call(arguments,1);return this.updateIn(e,Oe(),function(e){return"function"===typeof e.merge?e.merge.apply(e,t):t[t.length-1]})},fe.prototype.mergeDeep=function(){return Pe(this,Te,arguments)},fe.prototype.mergeDeepWith=function(e){var t=sn.call(arguments,1);return Pe(this,Ne(e),t)},fe.prototype.mergeDeepIn=function(e){var t=sn.call(arguments,1);return this.updateIn(e,Oe(),function(e){return"function"===typeof e.mergeDeep?e.mergeDeep.apply(e,t):t[t.length-1]})},fe.prototype.sort=function(e){return Ze(_t(this,e))},fe.prototype.sortBy=function(e,t){return Ze(_t(this,t,e))},fe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},fe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new p)},fe.prototype.asImmutable=function(){return this.__ensureOwner()},fe.prototype.wasAltered=function(){return this.__altered},fe.prototype.__iterator=function(e,t){return new ge(this,e,t)},fe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate(function(t){return r++,e(t[1],t[0],n)},t),r},fe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?we(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},fe.isMap=pe;var Vn="@@__IMMUTABLE_MAP__@@",Fn=fe.prototype;Fn[Vn]=!0,Fn.delete=Fn.remove,Fn.removeIn=Fn.deleteIn,de.prototype.get=function(e,t,n,r){for(var o=this.entries,a=0,i=o.length;a=Un)return Ee(e,s,r,o);var h=e&&e===this.ownerID,m=h?s:d(s);return p?c?l===u-1?m.pop():m[l]=m.pop():m[l]=[r,o]:m.push([r,o]),h?(this.entries=m,this):new de(e,m)}},he.prototype.get=function(e,t,n,r){void 0===t&&(t=ae(n));var o=1<<((0===e?t:t>>>e)&mn),a=this.bitmap;return 0===(a&o)?r:this.nodes[Ae(a&o-1)].get(e+dn,t,n,r)},he.prototype.update=function(e,t,n,r,o,a,i){void 0===n&&(n=ae(r));var c=(0===t?n:n>>>t)&mn,s=1<=Kn)return je(e,p,l,c,h);if(u&&!h&&2===p.length&&ke(p[1^f]))return p[1^f];if(u&&h&&1===p.length&&ke(h))return h;var m=e&&e===this.ownerID,v=u?h?l:l^s:l|s,y=u?h?Le(p,f,h,m):Re(p,f,m):Ie(p,f,h,m);return m?(this.bitmap=v,this.nodes=y,this):new he(e,v,y)},me.prototype.get=function(e,t,n,r){void 0===t&&(t=ae(n));var o=(0===e?t:t>>>e)&mn,a=this.nodes[o];return a?a.get(e+dn,t,n,r):r},me.prototype.update=function(e,t,n,r,o,a,i){void 0===n&&(n=ae(r));var c=(0===t?n:n>>>t)&mn,s=o===vn,l=this.nodes,u=l[c];if(s&&!u)return this;var f=xe(u,e,t+dn,n,r,o,a,i);if(f===u)return this;var p=this.count;if(u){if(!f&&--p=0&&e>>t&mn;if(r>=this.array.length)return new Fe([],e);var o,a=0===r;if(t>0){var i=this.array[r];if((o=i&&i.removeBefore(e,t-dn,n))===i&&a)return this}if(a&&!o)return this;var c=Ye(this,e);if(!a)for(var s=0;s>>t&mn;if(r>=this.array.length)return this;var o;if(t>0){var a=this.array[r];if((o=a&&a.removeAfter(e,t-dn,n))===a&&r===this.array.length-1)return this}var i=Ye(this,e);return i.array.splice(r+1),o&&(i.array[r]=o),i};var Gn,$n={};e(Ze,fe),Ze.of=function(){return this(arguments)},Ze.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Ze.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Ze.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):tt()},Ze.prototype.set=function(e,t){return nt(this,e,t)},Ze.prototype.remove=function(e){return nt(this,e,vn)},Ze.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Ze.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate(function(t){return t&&e(t[1],t[0],n)},t)},Ze.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Ze.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?et(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Ze.isOrderedMap=Je,Ze.prototype[pn]=!0,Ze.prototype.delete=Ze.prototype.remove;var Qn;e(rt,P),rt.prototype.get=function(e,t){return this._iter.get(e,t)},rt.prototype.has=function(e){return this._iter.has(e)},rt.prototype.valueSeq=function(){return this._iter.valueSeq()},rt.prototype.reverse=function(){var e=this,t=lt(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},rt.prototype.map=function(e,t){var n=this,r=st(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},rt.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?St(this):0,function(o){return e(o,t?--n:n++,r)}),t)},rt.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(_n,t),r=t?St(this):0;return new w(function(){var o=n.next();return o.done?o:O(e,t?--r:r++,o.value,o)})},rt.prototype[pn]=!0,e(ot,T),ot.prototype.includes=function(e){return this._iter.includes(e)},ot.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate(function(t){return e(t,r++,n)},t)},ot.prototype.__iterator=function(e,t){var n=this._iter.__iterator(_n,t),r=0;return new w(function(){var t=n.next();return t.done?t:O(e,r++,t.value,t)})},e(at,N),at.prototype.has=function(e){return this._iter.includes(e)},at.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){return e(t,t,n)},t)},at.prototype.__iterator=function(e,t){var n=this._iter.__iterator(_n,t);return new w(function(){var t=n.next();return t.done?t:O(e,t.value,t.value,t)})},e(it,P),it.prototype.entrySeq=function(){return this._iter.toSeq()},it.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate(function(t){if(t){kt(t);var r=a(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}},t)},it.prototype.__iterator=function(e,t){var n=this._iter.__iterator(_n,t);return new w(function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){kt(r);var o=a(r);return O(e,o?r.get(0):r[0],o?r.get(1):r[1],t)}}})},ot.prototype.cacheResult=rt.prototype.cacheResult=at.prototype.cacheResult=it.prototype.cacheResult=jt,e(Nt,te),Nt.prototype.toString=function(){return this.__toString(Dt(this)+" {","}")},Nt.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},Nt.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},Nt.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=zt(this,Oe()))},Nt.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+Dt(this));if(this._map&&!this._map.has(e)){if(t===this._defaultValues[e])return this}var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:zt(this,n)},Nt.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:zt(this,t)},Nt.prototype.wasAltered=function(){return this._map.wasAltered()},Nt.prototype.__iterator=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterator(e,t)},Nt.prototype.__iterate=function(e,t){var r=this;return n(this._defaultValues).map(function(e,t){return r.get(t)}).__iterate(e,t)},Nt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?zt(this,t,e):(this.__ownerID=e,this._map=t,this)};var Xn=Nt.prototype;Xn.delete=Xn.remove,Xn.deleteIn=Xn.removeIn=Fn.removeIn,Xn.merge=Fn.merge,Xn.mergeWith=Fn.mergeWith,Xn.mergeIn=Fn.mergeIn,Xn.mergeDeep=Fn.mergeDeep,Xn.mergeDeepWith=Fn.mergeDeepWith,Xn.mergeDeepIn=Fn.mergeDeepIn,Xn.setIn=Fn.setIn,Xn.update=Fn.update,Xn.updateIn=Fn.updateIn,Xn.withMutations=Fn.withMutations,Xn.asMutable=Fn.asMutable,Xn.asImmutable=Fn.asImmutable,e(It,re),It.of=function(){return this(arguments)},It.fromKeys=function(e){return this(n(e).keySeq())},It.prototype.toString=function(){return this.__toString("Set {","}")},It.prototype.has=function(e){return this._map.has(e)},It.prototype.add=function(e){return Ht(this,this._map.set(e,!0))},It.prototype.remove=function(e){return Ht(this,this._map.remove(e))},It.prototype.clear=function(){return Ht(this,this._map.clear())},It.prototype.union=function(){var e=sn.call(arguments,0);return e=e.filter(function(e){return 0!==e.size}),0===e.length?this:0!==this.size||this.__ownerID||1!==e.length?this.withMutations(function(t){for(var n=0;n=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Gt(e,t)},qt.prototype.pushAll=function(e){if(e=r(e),0===e.size)return this;ue(e.size);var t=this.size,n=this._head;return e.reverse().forEach(function(e){t++,n={value:e,next:n}}),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Gt(t,n)},qt.prototype.pop=function(){return this.slice(1)},qt.prototype.unshift=function(){return this.push.apply(this,arguments)},qt.prototype.unshiftAll=function(e){return this.pushAll(e)},qt.prototype.shift=function(){return this.pop.apply(this,arguments)},qt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):$t()},qt.prototype.slice=function(e,t){if(y(e,t,this.size))return this;var n=g(e,this.size);if(b(t,this.size)!==this.size)return ne.prototype.slice.call(this,e,t);for(var r=this.size-n,o=this._head;n--;)o=o.next;return this.__ownerID?(this.size=r,this._head=o,this.__hash=void 0,this.__altered=!0,this):Gt(r,o)},qt.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Gt(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},qt.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},qt.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new w(function(){if(r){var t=r.value;return r=r.next,O(e,n++,t)}return C()})},qt.isStack=Yt;var rr="@@__IMMUTABLE_STACK__@@",or=qt.prototype;or[rr]=!0,or.withMutations=Fn.withMutations,or.asMutable=Fn.asMutable,or.asImmutable=Fn.asImmutable,or.wasAltered=Fn.wasAltered;var ar;t.Iterator=w,Qt(t,{toArray:function(){ue(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate(function(t,n){e[n]=t}),e},toIndexedSeq:function(){return new ot(this)},toJS:function(){return this.toSeq().map(function(e){return e&&"function"===typeof e.toJS?e.toJS():e}).__toJS()},toJSON:function(){return this.toSeq().map(function(e){return e&&"function"===typeof e.toJSON?e.toJSON():e}).__toJS()},toKeyedSeq:function(){return new rt(this,!0)},toMap:function(){return fe(this.toKeyedSeq())},toObject:function(){ue(this.size);var e={};return this.__iterate(function(t,n){e[n]=t}),e},toOrderedMap:function(){return Ze(this.toKeyedSeq())},toOrderedSet:function(){return Bt(i(this)?this.valueSeq():this)},toSet:function(){return It(i(this)?this.valueSeq():this)},toSetSeq:function(){return new at(this)},toSeq:function(){return c(this)?this.toIndexedSeq():i(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return qt(i(this)?this.valueSeq():this)},toList:function(){return He(i(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){return xt(this,vt(this,sn.call(arguments,0)))},includes:function(e){return this.some(function(t){return $(t,e)})},entries:function(){return this.__iterator(wn)},every:function(e,t){ue(this.size);var n=!0;return this.__iterate(function(r,o,a){if(!e.call(t,r,o,a))return n=!1,!1}),n},filter:function(e,t){return xt(this,ut(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return ue(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){ue(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate(function(r){n?n=!1:t+=e,t+=null!==r&&void 0!==r?r.toString():""}),t},keys:function(){return this.__iterator(bn)},map:function(e,t){return xt(this,st(this,e,t))},reduce:function(e,t,n){ue(this.size);var r,o;return arguments.length<2?o=!0:r=t,this.__iterate(function(t,a,i){o?(o=!1,r=t):r=e.call(n,r,t,a,i)}),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return xt(this,lt(this,!0))},slice:function(e,t){return xt(this,dt(this,e,t,!0))},some:function(e,t){return!this.every(Jt(e),t)},sort:function(e){return xt(this,_t(this,e))},values:function(){return this.__iterator(_n)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some(function(){return!0})},count:function(e,t){return h(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return ft(this,e,t)},equals:function(e){return Q(this,e)},entrySeq:function(){var e=this;if(e._cache)return new z(e._cache);var t=e.toSeq().map(Zt).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(Jt(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate(function(n,o,a){if(e.call(t,n,o,a))return r=[o,n],!1}),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(v)},flatMap:function(e,t){return xt(this,gt(this,e,t))},flatten:function(e){return xt(this,yt(this,e,!0))},fromEntrySeq:function(){return new it(this)},get:function(e,t){return this.find(function(t,n){return $(n,e)},void 0,t)},getIn:function(e,t){for(var n,r=this,o=Tt(e);!(n=o.next()).done;){var a=n.value;if((r=r&&r.get?r.get(a,vn):vn)===vn)return t}return r},groupBy:function(e,t){return pt(this,e,t)},has:function(e){return this.get(e,vn)!==vn},hasIn:function(e){return this.getIn(e,vn)!==vn},isSubset:function(e){return e="function"===typeof e.includes?e:t(e),this.every(function(t){return e.includes(t)})},isSuperset:function(e){return e="function"===typeof e.isSubset?e:t(e),e.isSubset(this)},keyOf:function(e){return this.findKey(function(t){return $(t,e)})},keySeq:function(){return this.toSeq().map(Xt).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return wt(this,e)},maxBy:function(e,t){return wt(this,t,e)},min:function(e){return wt(this,e?en(e):rn)},minBy:function(e,t){return wt(this,t?en(t):rn,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return xt(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return xt(this,mt(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(Jt(e),t)},sortBy:function(e,t){return xt(this,_t(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return xt(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return xt(this,ht(this,e,t))},takeUntil:function(e,t){return this.takeWhile(Jt(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=on(this))}});var ir=t.prototype;ir[ln]=!0,ir[xn]=ir.values,ir.__toJS=ir.toArray,ir.__toStringMapper=tn,ir.inspect=ir.toSource=function(){return this.toString()},ir.chain=ir.flatMap,ir.contains=ir.includes,Qt(n,{flip:function(){return xt(this,ct(this))},mapEntries:function(e,t){var n=this,r=0;return xt(this,this.toSeq().map(function(o,a){return e.call(t,[a,o],r++,n)}).fromEntrySeq())},mapKeys:function(e,t){var n=this;return xt(this,this.toSeq().flip().map(function(r,o){return e.call(t,r,o,n)}).flip())}});var cr=n.prototype;return cr[un]=!0,cr[xn]=ir.entries,cr.__toJS=ir.toObject,cr.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+tn(e)},Qt(r,{toKeyedSeq:function(){return new rt(this,!1)},filter:function(e,t){return xt(this,ut(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return xt(this,lt(this,!1))},slice:function(e,t){return xt(this,dt(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=g(e,e<0?this.count():this.size);var r=this.slice(0,e);return xt(this,1===n?r:r.concat(d(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return xt(this,yt(this,e,!1))},get:function(e,t){return e=m(this,e),e<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find(function(t,n){return n===e},void 0,t)},has:function(e){return(e=m(this,e))>=0&&(void 0!==this.size?this.size===1/0||e0&&void 0!==arguments[0]?arguments[0]:"vertical";if("undefined"===typeof document||"undefined"===typeof window)return 0;var t="vertical"===e;if(t&&u)return u;if(!t&&f)return f;var n=document.createElement("div");Object.keys(p).forEach(function(e){n.style[e]=p[e]}),t?n.style.overflowY="scroll":n.style.overflowX="scroll",document.body.appendChild(n);var r=0;return t?(r=n.offsetWidth-n.clientWidth,u=r):t||(r=n.offsetHeight-n.clientHeight,f=r),document.body.removeChild(n),r}function o(e,t,n){function r(){for(var r=arguments.length,a=Array(r),i=0;i-1}function p(e,t,n){for(var r=-1,o=null==e?0:e.length;++r-1;);return n}function I(e,t){for(var n=e.length;n--&&O(t,e[n],0)>-1;);return n}function R(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function H(e){return"\\"+kn[e]}function V(e,t){return null==e?ne:e[t]}function F(e){return vn.test(e)}function B(e){return yn.test(e)}function U(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function K(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function W(e,t){return function(n){return e(t(n))}}function q(e,t){for(var n=-1,r=e.length,o=0,a=[];++n>>1,Ie=[["ary",we],["bind",he],["bindKey",me],["curry",ye],["curryRight",ge],["flip",Ce],["partial",be],["partialRight",_e],["rearg",Oe]],Re="[object Arguments]",He="[object Array]",Ve="[object AsyncFunction]",Fe="[object Boolean]",Be="[object Date]",Ue="[object DOMException]",Ke="[object Error]",We="[object Function]",qe="[object GeneratorFunction]",Ye="[object Map]",Ge="[object Number]",$e="[object Null]",Qe="[object Object]",Xe="[object Proxy]",Ze="[object RegExp]",Je="[object Set]",et="[object String]",tt="[object Symbol]",nt="[object Undefined]",rt="[object WeakMap]",ot="[object WeakSet]",at="[object ArrayBuffer]",it="[object DataView]",ct="[object Float32Array]",st="[object Float64Array]",lt="[object Int8Array]",ut="[object Int16Array]",ft="[object Int32Array]",pt="[object Uint8Array]",dt="[object Uint8ClampedArray]",ht="[object Uint16Array]",mt="[object Uint32Array]",vt=/\b__p \+= '';/g,yt=/\b(__p \+=) '' \+/g,gt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,bt=/&(?:amp|lt|gt|quot|#39);/g,_t=/[&<>"']/g,wt=RegExp(bt.source),Ot=RegExp(_t.source),Ct=/<%-([\s\S]+?)%>/g,xt=/<%([\s\S]+?)%>/g,kt=/<%=([\s\S]+?)%>/g,St=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Et=/^\w*$/,Mt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,jt=/[\\^$.*+?()[\]{}|]/g,Pt=RegExp(jt.source),Tt=/^\s+|\s+$/g,Nt=/^\s+/,zt=/\s+$/,Dt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,At=/\{\n\/\* \[wrapped with (.+)\] \*/,Lt=/,? & /,It=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Rt=/\\(\\)?/g,Ht=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Vt=/\w*$/,Ft=/^[-+]0x[0-9a-f]+$/i,Bt=/^0b[01]+$/i,Ut=/^\[object .+?Constructor\]$/,Kt=/^0o[0-7]+$/i,Wt=/^(?:0|[1-9]\d*)$/,qt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Yt=/($^)/,Gt=/['\n\r\u2028\u2029\\]/g,$t="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qt="\\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",Xt="["+Qt+"]",Zt="["+$t+"]",Jt="[a-z\\xdf-\\xf6\\xf8-\\xff]",en="[^\\ud800-\\udfff"+Qt+"\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",tn="\\ud83c[\\udffb-\\udfff]",nn="(?:\\ud83c[\\udde6-\\uddff]){2}",rn="[\\ud800-\\udbff][\\udc00-\\udfff]",on="[A-Z\\xc0-\\xd6\\xd8-\\xde]",an="(?:"+Jt+"|"+en+")",cn="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",sn="(?:\\u200d(?:"+["[^\\ud800-\\udfff]",nn,rn].join("|")+")[\\ufe0e\\ufe0f]?"+cn+")*",ln="[\\ufe0e\\ufe0f]?"+cn+sn,un="(?:"+["[\\u2700-\\u27bf]",nn,rn].join("|")+")"+ln,fn="(?:"+["[^\\ud800-\\udfff]"+Zt+"?",Zt,nn,rn,"[\\ud800-\\udfff]"].join("|")+")",pn=RegExp("['\u2019]","g"),dn=RegExp(Zt,"g"),hn=RegExp(tn+"(?="+tn+")|"+fn+ln,"g"),mn=RegExp([on+"?"+Jt+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?="+[Xt,on,"$"].join("|")+")","(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\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\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?="+[Xt,on+an,"$"].join("|")+")",on+"?"+an+"+(?:['\u2019](?:d|ll|m|re|s|t|ve))?",on+"+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",un].join("|"),"g"),vn=RegExp("[\\u200d\\ud800-\\udfff"+$t+"\\ufe0e\\ufe0f]"),yn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,gn=["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"],bn=-1,_n={};_n[ct]=_n[st]=_n[lt]=_n[ut]=_n[ft]=_n[pt]=_n[dt]=_n[ht]=_n[mt]=!0,_n[Re]=_n[He]=_n[at]=_n[Fe]=_n[it]=_n[Be]=_n[Ke]=_n[We]=_n[Ye]=_n[Ge]=_n[Qe]=_n[Ze]=_n[Je]=_n[et]=_n[rt]=!1;var wn={};wn[Re]=wn[He]=wn[at]=wn[it]=wn[Fe]=wn[Be]=wn[ct]=wn[st]=wn[lt]=wn[ut]=wn[ft]=wn[Ye]=wn[Ge]=wn[Qe]=wn[Ze]=wn[Je]=wn[et]=wn[tt]=wn[pt]=wn[dt]=wn[ht]=wn[mt]=!0,wn[Ke]=wn[We]=wn[rt]=!1;var On={"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e","\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I","\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r","\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ","\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"},Cn={"&":"&","<":"<",">":">",'"':""","'":"'"},xn={"&":"&","<":"<",">":">",""":'"',"'":"'"},kn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Sn=parseFloat,En=parseInt,Mn="object"==typeof e&&e&&e.Object===Object&&e,jn="object"==typeof self&&self&&self.Object===Object&&self,Pn=Mn||jn||Function("return this")(),Tn="object"==typeof t&&t&&!t.nodeType&&t,Nn=Tn&&"object"==typeof r&&r&&!r.nodeType&&r,zn=Nn&&Nn.exports===Tn,Dn=zn&&Mn.process,An=function(){try{var e=Nn&&Nn.require&&Nn.require("util").types;return e||Dn&&Dn.binding&&Dn.binding("util")}catch(e){}}(),Ln=An&&An.isArrayBuffer,In=An&&An.isDate,Rn=An&&An.isMap,Hn=An&&An.isRegExp,Vn=An&&An.isSet,Fn=An&&An.isTypedArray,Bn=S("length"),Un=E(On),Kn=E(Cn),Wn=E(xn),qn=function e(t){function n(e){if(ts(e)&&!dp(e)&&!(e instanceof g)){if(e instanceof o)return e;if(pu.call(e,"__wrapped__"))return Za(e)}return new o(e)}function r(){}function o(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ne}function g(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=De,this.__views__=[]}function E(){var e=new g(this.__wrapped__);return e.__actions__=zo(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=zo(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=zo(this.__views__),e}function $(){if(this.__filtered__){var e=new g(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function J(){var e=this.__wrapped__.value(),t=this.__dir__,n=dp(e),r=t<0,o=n?e.length:0,a=Oa(0,o,this.__views__),i=a.start,c=a.end,s=c-i,l=r?c:i-1,u=this.__iteratees__,f=u.length,p=0,d=Bu(s,this.__takeCount__);if(!n||!r&&o==s&&d==s)return vo(e,this.__actions__);var h=[];e:for(;s--&&p-1}function on(e,t){var n=this.__data__,r=Yn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function an(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function er(e,t,n,r,o,a){var i,s=t&le,l=t&ue,u=t&fe;if(n&&(i=o?n(e,r,o,a):n(e)),i!==ne)return i;if(!es(e))return e;var f=dp(e);if(f){if(i=ka(e),!s)return zo(e,i)}else{var p=Cf(e),d=p==We||p==qe;if(mp(e))return Co(e,s);if(p==Qe||p==Re||d&&!o){if(i=l||d?{}:Sa(e),!s)return l?Lo(e,Qn(i,e)):Ao(e,$n(i,e))}else{if(!wn[p])return o?e:{};i=Ea(e,p,s)}}a||(a=new yn);var h=a.get(e);if(h)return h;if(a.set(e,i),bp(e))return e.forEach(function(r){i.add(er(r,t,n,r,e,a))}),i;if(yp(e))return e.forEach(function(r,o){i.set(o,er(r,t,n,o,e,a))}),i;var m=u?l?ha:da:l?Is:Ls,v=f?ne:m(e);return c(v||e,function(r,o){v&&(o=r,r=e[o]),Bn(i,o,er(r,t,n,o,e,a))}),i}function tr(e){var t=Ls(e);return function(n){return nr(n,e,t)}}function nr(e,t,n){var r=n.length;if(null==e)return!r;for(e=ru(e);r--;){var o=n[r],a=t[o],i=e[o];if(i===ne&&!(o in e)||!a(i))return!1}return!0}function rr(e,t,n){if("function"!=typeof e)throw new iu(ae);return Sf(function(){e.apply(ne,n)},t)}function or(e,t,n,r){var o=-1,a=f,i=!0,c=e.length,s=[],l=t.length;if(!c)return s;n&&(t=d(t,z(n))),r?(a=p,i=!1):t.length>=re&&(a=A,i=!1,t=new hn(t));e:for(;++oo?0:o+n),r=r===ne||r>o?o:gs(r),r<0&&(r+=o),r=n>r?0:bs(r);n0&&n(c)?t>1?lr(c,t-1,n,r,o):h(o,c):r||(o[o.length]=c)}return o}function ur(e,t){return e&&df(e,t,Ls)}function fr(e,t){return e&&hf(e,t,Ls)}function pr(e,t){return u(t,function(t){return Xc(e[t])})}function dr(e,t){t=wo(t,e);for(var n=0,r=t.length;null!=e&&nt}function yr(e,t){return null!=e&&pu.call(e,t)}function gr(e,t){return null!=e&&t in ru(e)}function br(e,t,n){return e>=Bu(t,n)&&e=120&&u.length>=120)?new hn(i&&u):ne}u=e[0];var h=-1,m=c[0];e:for(;++h-1;)c!==e&&Su.call(c,s,1),Su.call(e,s,1);return e}function $r(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==a){var a=o;Pa(o)?Su.call(e,o,1):po(e,o)}}return e}function Qr(e,t){return e+Au(Wu()*(t-e+1))}function Xr(e,t,n,r){for(var o=-1,a=Fu(Du((t-e)/(n||1)),0),i=Zl(a);a--;)i[r?a:++o]=e,e+=n;return i}function Zr(e,t){var n="";if(!e||t<1||t>Te)return n;do{t%2&&(n+=e),(t=Au(t/2))&&(e+=e)}while(t);return n}function Jr(e,t){return Ef(Ba(e,t,Sl),e+"")}function eo(e){return Tn($s(e))}function to(e,t){var n=$s(e);return Ga(n,Jn(t,0,n.length))}function no(e,t,n,r){if(!es(e))return e;t=wo(t,e);for(var o=-1,a=t.length,i=a-1,c=e;null!=c&&++oo?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var a=Zl(o);++r>>1,i=e[a];null!==i&&!ps(i)&&(n?i<=t:i=re){var l=t?null:bf(e);if(l)return Y(l);i=!1,o=A,s=new hn}else s=t?[]:c;e:for(;++r=r?e:oo(e,t,n)}function Co(e,t){if(t)return e.slice();var n=e.length,r=Ou?Ou(n):new e.constructor(n);return e.copy(r),r}function xo(e){var t=new e.constructor(e.byteLength);return new wu(t).set(new wu(e)),t}function ko(e,t){var n=t?xo(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function So(e){var t=new e.constructor(e.source,Vt.exec(e));return t.lastIndex=e.lastIndex,t}function Eo(e){return sf?ru(sf.call(e)):{}}function Mo(e,t){var n=t?xo(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function jo(e,t){if(e!==t){var n=e!==ne,r=null===e,o=e===e,a=ps(e),i=t!==ne,c=null===t,s=t===t,l=ps(t);if(!c&&!l&&!a&&e>t||a&&i&&s&&!c&&!l||r&&i&&s||!n&&s||!o)return 1;if(!r&&!a&&!l&&e=c)return s;return s*("desc"==n[r]?-1:1)}}return e.index-t.index}function To(e,t,n,r){for(var o=-1,a=e.length,i=n.length,c=-1,s=t.length,l=Fu(a-i,0),u=Zl(s+l),f=!r;++c1?n[o-1]:ne,i=o>2?n[2]:ne;for(a=e.length>3&&"function"==typeof a?(o--,a):ne,i&&Ta(n[0],n[1],i)&&(a=o<3?ne:a,o=1),t=ru(t);++r-1?o[a?t[i]:i]:ne}}function Yo(e){return pa(function(t){var n=t.length,r=n,a=o.prototype.thru;for(e&&t.reverse();r--;){var i=t[r];if("function"!=typeof i)throw new iu(ae);if(a&&!c&&"wrapper"==ma(i))var c=new o([],!0)}for(r=c?r:n;++r1&&g.reverse(),f&&sc))return!1;var l=a.get(e);if(l&&a.get(t))return l==t;var u=-1,f=!0,p=n&de?new hn:ne;for(a.set(e,t),a.set(t,e);++u1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Dt,"{\n/* [wrapped with "+t+"] */\n")}function ja(e){return dp(e)||pp(e)||!!(Eu&&e&&e[Eu])}function Pa(e,t){var n=typeof e;return!!(t=null==t?Te:t)&&("number"==n||"symbol"!=n&&Wt.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Se)return arguments[0]}else t=0;return e.apply(ne,arguments)}}function Ga(e,t){var n=-1,r=e.length,o=r-1;for(t=t===ne?r:t;++n=this.__values__.length;return{done:e,value:e?ne:this.__values__[this.__index__++]}}function Zi(){return this}function Ji(e){for(var t,n=this;n instanceof r;){var o=Za(n);o.__index__=0,o.__values__=ne,t?a.__wrapped__=o:t=o;var a=o;n=n.__wrapped__}return a.__wrapped__=e,t}function ec(){var e=this.__wrapped__;if(e instanceof g){var t=e;return this.__actions__.length&&(t=new g(this)),t=t.reverse(),t.__actions__.push({func:Gi,args:[xi],thisArg:ne}),new o(t,this.__chain__)}return this.thru(xi)}function tc(){return vo(this.__wrapped__,this.__actions__)}function nc(e,t,n){var r=dp(e)?l:ar;return n&&Ta(e,t,n)&&(t=ne),r(e,ya(t,3))}function rc(e,t){return(dp(e)?u:sr)(e,ya(t,3))}function oc(e,t){return lr(uc(e,t),1)}function ac(e,t){return lr(uc(e,t),Pe)}function ic(e,t,n){return n=n===ne?1:gs(n),lr(uc(e,t),n)}function cc(e,t){return(dp(e)?c:ff)(e,ya(t,3))}function sc(e,t){return(dp(e)?s:pf)(e,ya(t,3))}function lc(e,t,n,r){e=Bc(e)?e:$s(e),n=n&&!r?gs(n):0;var o=e.length;return n<0&&(n=Fu(o+n,0)),fs(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&O(e,t,n)>-1}function uc(e,t){return(dp(e)?d:Rr)(e,ya(t,3))}function fc(e,t,n,r){return null==e?[]:(dp(t)||(t=null==t?[]:[t]),n=r?ne:n,dp(n)||(n=null==n?[]:[n]),Kr(e,t,n))}function pc(e,t,n){var r=dp(e)?m:M,o=arguments.length<3;return r(e,ya(t,4),n,o,ff)}function dc(e,t,n){var r=dp(e)?v:M,o=arguments.length<3;return r(e,ya(t,4),n,o,pf)}function hc(e,t){return(dp(e)?u:sr)(e,Mc(ya(t,3)))}function mc(e){return(dp(e)?Tn:eo)(e)}function vc(e,t,n){return t=(n?Ta(e,t,n):t===ne)?1:gs(t),(dp(e)?Nn:to)(e,t)}function yc(e){return(dp(e)?Dn:ro)(e)}function gc(e){if(null==e)return 0;if(Bc(e))return fs(e)?X(e):e.length;var t=Cf(e);return t==Ye||t==Je?e.size:Ar(e).length}function bc(e,t,n){var r=dp(e)?y:ao;return n&&Ta(e,t,n)&&(t=ne),r(e,ya(t,3))}function _c(e,t){if("function"!=typeof t)throw new iu(ae);return e=gs(e),function(){if(--e<1)return t.apply(this,arguments)}}function wc(e,t,n){return t=n?ne:t,t=e&&null==t?e.length:t,aa(e,we,ne,ne,ne,ne,t)}function Oc(e,t){var n;if("function"!=typeof t)throw new iu(ae);return e=gs(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ne),n}}function Cc(e,t,n){t=n?ne:t;var r=aa(e,ye,ne,ne,ne,ne,ne,t);return r.placeholder=Cc.placeholder,r}function xc(e,t,n){t=n?ne:t;var r=aa(e,ge,ne,ne,ne,ne,ne,t);return r.placeholder=xc.placeholder,r}function kc(e,t,n){function r(t){var n=p,r=d;return p=d=ne,g=t,m=e.apply(r,n)}function o(e){return g=e,v=Sf(c,t),b?r(e):m}function a(e){var n=e-y,r=e-g,o=t-n;return _?Bu(o,h-r):o}function i(e){var n=e-y,r=e-g;return y===ne||n>=t||n<0||_&&r>=h}function c(){var e=tp();if(i(e))return s(e);v=Sf(c,a(e))}function s(e){return v=ne,w&&p?r(e):(p=d=ne,m)}function l(){v!==ne&&gf(v),g=0,p=y=d=v=ne}function u(){return v===ne?m:s(tp())}function f(){var e=tp(),n=i(e);if(p=arguments,d=this,y=e,n){if(v===ne)return o(y);if(_)return v=Sf(c,t),r(y)}return v===ne&&(v=Sf(c,t)),m}var p,d,h,m,v,y,g=0,b=!1,_=!1,w=!0;if("function"!=typeof e)throw new iu(ae);return t=_s(t)||0,es(n)&&(b=!!n.leading,_="maxWait"in n,h=_?Fu(_s(n.maxWait)||0,t):h,w="trailing"in n?!!n.trailing:w),f.cancel=l,f.flush=u,f}function Sc(e){return aa(e,Ce)}function Ec(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new iu(ae);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i)||a,i};return n.cache=new(Ec.Cache||an),n}function Mc(e){if("function"!=typeof e)throw new iu(ae);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)}}function jc(e){return Oc(2,e)}function Pc(e,t){if("function"!=typeof e)throw new iu(ae);return t=t===ne?t:gs(t),Jr(e,t)}function Tc(e,t){if("function"!=typeof e)throw new iu(ae);return t=null==t?0:Fu(gs(t),0),Jr(function(n){var r=n[t],o=Oo(n,0,t);return r&&h(o,r),a(e,this,o)})}function Nc(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new iu(ae);return es(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),kc(e,t,{leading:r,maxWait:t,trailing:o})}function zc(e){return wc(e,1)}function Dc(e,t){return cp(_o(t),e)}function Ac(){if(!arguments.length)return[];var e=arguments[0];return dp(e)?e:[e]}function Lc(e){return er(e,fe)}function Ic(e,t){return t="function"==typeof t?t:ne,er(e,fe,t)}function Rc(e){return er(e,le|fe)}function Hc(e,t){return t="function"==typeof t?t:ne,er(e,le|fe,t)}function Vc(e,t){return null==t||nr(e,t,Ls(t))}function Fc(e,t){return e===t||e!==e&&t!==t}function Bc(e){return null!=e&&Jc(e.length)&&!Xc(e)}function Uc(e){return ts(e)&&Bc(e)}function Kc(e){return!0===e||!1===e||ts(e)&&mr(e)==Fe}function Wc(e){return ts(e)&&1===e.nodeType&&!ls(e)}function qc(e){if(null==e)return!0;if(Bc(e)&&(dp(e)||"string"==typeof e||"function"==typeof e.splice||mp(e)||_p(e)||pp(e)))return!e.length;var t=Cf(e);if(t==Ye||t==Je)return!e.size;if(La(e))return!Ar(e).length;for(var n in e)if(pu.call(e,n))return!1;return!0}function Yc(e,t){return Sr(e,t)}function Gc(e,t,n){n="function"==typeof n?n:ne;var r=n?n(e,t):ne;return r===ne?Sr(e,t,ne,n):!!r}function $c(e){if(!ts(e))return!1;var t=mr(e);return t==Ke||t==Ue||"string"==typeof e.message&&"string"==typeof e.name&&!ls(e)}function Qc(e){return"number"==typeof e&&Ru(e)}function Xc(e){if(!es(e))return!1;var t=mr(e);return t==We||t==qe||t==Ve||t==Xe}function Zc(e){return"number"==typeof e&&e==gs(e)}function Jc(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=Te}function es(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function ts(e){return null!=e&&"object"==typeof e}function ns(e,t){return e===t||jr(e,t,ba(t))}function rs(e,t,n){return n="function"==typeof n?n:ne,jr(e,t,ba(t),n)}function os(e){return ss(e)&&e!=+e}function as(e){if(xf(e))throw new eu(oe);return Pr(e)}function is(e){return null===e}function cs(e){return null==e}function ss(e){return"number"==typeof e||ts(e)&&mr(e)==Ge}function ls(e){if(!ts(e)||mr(e)!=Qe)return!1;var t=Cu(e);if(null===t)return!0;var n=pu.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&fu.call(n)==vu}function us(e){return Zc(e)&&e>=-Te&&e<=Te}function fs(e){return"string"==typeof e||!dp(e)&&ts(e)&&mr(e)==et}function ps(e){return"symbol"==typeof e||ts(e)&&mr(e)==tt}function ds(e){return e===ne}function hs(e){return ts(e)&&Cf(e)==rt}function ms(e){return ts(e)&&mr(e)==ot}function vs(e){if(!e)return[];if(Bc(e))return fs(e)?Z(e):zo(e);if(Mu&&e[Mu])return U(e[Mu]());var t=Cf(e);return(t==Ye?K:t==Je?Y:$s)(e)}function ys(e){if(!e)return 0===e?e:0;if((e=_s(e))===Pe||e===-Pe){return(e<0?-1:1)*Ne}return e===e?e:0}function gs(e){var t=ys(e),n=t%1;return t===t?n?t-n:t:0}function bs(e){return e?Jn(gs(e),0,De):0}function _s(e){if("number"==typeof e)return e;if(ps(e))return ze;if(es(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=es(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Tt,"");var n=Bt.test(e);return n||Kt.test(e)?En(e.slice(2),n?2:8):Ft.test(e)?ze:+e}function ws(e){return Do(e,Is(e))}function Os(e){return e?Jn(gs(e),-Te,Te):0===e?e:0}function Cs(e){return null==e?"":uo(e)}function xs(e,t){var n=uf(e);return null==t?n:$n(n,t)}function ks(e,t){return _(e,ya(t,3),ur)}function Ss(e,t){return _(e,ya(t,3),fr)}function Es(e,t){return null==e?e:df(e,ya(t,3),Is)}function Ms(e,t){return null==e?e:hf(e,ya(t,3),Is)}function js(e,t){return e&&ur(e,ya(t,3))}function Ps(e,t){return e&&fr(e,ya(t,3))}function Ts(e){return null==e?[]:pr(e,Ls(e))}function Ns(e){return null==e?[]:pr(e,Is(e))}function zs(e,t,n){var r=null==e?ne:dr(e,t);return r===ne?n:r}function Ds(e,t){return null!=e&&xa(e,t,yr)}function As(e,t){return null!=e&&xa(e,t,gr)}function Ls(e){return Bc(e)?jn(e):Ar(e)}function Is(e){return Bc(e)?jn(e,!0):Lr(e)}function Rs(e,t){var n={};return t=ya(t,3),ur(e,function(e,r,o){Xn(n,t(e,r,o),e)}),n}function Hs(e,t){var n={};return t=ya(t,3),ur(e,function(e,r,o){Xn(n,r,t(e,r,o))}),n}function Vs(e,t){return Fs(e,Mc(ya(t)))}function Fs(e,t){if(null==e)return{};var n=d(ha(e),function(e){return[e]});return t=ya(t),qr(e,n,function(e,n){return t(e,n[0])})}function Bs(e,t,n){t=wo(t,e);var r=-1,o=t.length;for(o||(o=1,e=ne);++rt){var r=e;e=t,t=r}if(n||e%1||t%1){var o=Wu();return Bu(e+o*(t-e+Sn("1e-"+((o+"").length-1))),t)}return Qr(e,t)}function el(e){return qp(Cs(e).toLowerCase())}function tl(e){return(e=Cs(e))&&e.replace(qt,Un).replace(dn,"")}function nl(e,t,n){e=Cs(e),t=uo(t);var r=e.length;n=n===ne?r:Jn(gs(n),0,r);var o=n;return(n-=t.length)>=0&&e.slice(n,o)==t}function rl(e){return e=Cs(e),e&&Ot.test(e)?e.replace(_t,Kn):e}function ol(e){return e=Cs(e),e&&Pt.test(e)?e.replace(jt,"\\$&"):e}function al(e,t,n){e=Cs(e),t=gs(t);var r=t?X(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return Zo(Au(o),n)+e+Zo(Du(o),n)}function il(e,t,n){e=Cs(e),t=gs(t);var r=t?X(e):0;return t&&r>>0)?(e=Cs(e),e&&("string"==typeof t||null!=t&&!gp(t))&&!(t=uo(t))&&F(e)?Oo(Z(e),0,n):e.split(t,n)):[]}function pl(e,t,n){return e=Cs(e),n=null==n?0:Jn(gs(n),0,e.length),t=uo(t),e.slice(n,n+t.length)==t}function dl(e,t,r){var o=n.templateSettings;r&&Ta(e,t,r)&&(t=ne),e=Cs(e),t=kp({},t,o,ia);var a,i,c=kp({},t.imports,o.imports,ia),s=Ls(c),l=D(c,s),u=0,f=t.interpolate||Yt,p="__p += '",d=ou((t.escape||Yt).source+"|"+f.source+"|"+(f===kt?Ht:Yt).source+"|"+(t.evaluate||Yt).source+"|$","g"),h="//# sourceURL="+("sourceURL"in t?t.sourceURL:"lodash.templateSources["+ ++bn+"]")+"\n";e.replace(d,function(t,n,r,o,c,s){return r||(r=o),p+=e.slice(u,s).replace(Gt,H),n&&(a=!0,p+="' +\n__e("+n+") +\n'"),c&&(i=!0,p+="';\n"+c+";\n__p += '"),r&&(p+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),u=s+t.length,t}),p+="';\n";var m=t.variable;m||(p="with (obj) {\n"+p+"\n}\n"),p=(i?p.replace(vt,""):p).replace(yt,"$1").replace(gt,"$1;"),p="function("+(m||"obj")+") {\n"+(m?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(i?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+p+"return __p\n}";var v=Yp(function(){return tu(s,h+"return "+p).apply(ne,l)});if(v.source=p,$c(v))throw v;return v}function hl(e){return Cs(e).toLowerCase()}function ml(e){return Cs(e).toUpperCase()}function vl(e,t,n){if((e=Cs(e))&&(n||t===ne))return e.replace(Tt,"");if(!e||!(t=uo(t)))return e;var r=Z(e),o=Z(t);return Oo(r,L(r,o),I(r,o)+1).join("")}function yl(e,t,n){if((e=Cs(e))&&(n||t===ne))return e.replace(zt,"");if(!e||!(t=uo(t)))return e;var r=Z(e);return Oo(r,0,I(r,Z(t))+1).join("")}function gl(e,t,n){if((e=Cs(e))&&(n||t===ne))return e.replace(Nt,"");if(!e||!(t=uo(t)))return e;var r=Z(e);return Oo(r,L(r,Z(t))).join("")}function bl(e,t){var n=xe,r=ke;if(es(t)){var o="separator"in t?t.separator:o;n="length"in t?gs(t.length):n,r="omission"in t?uo(t.omission):r}e=Cs(e);var a=e.length;if(F(e)){var i=Z(e);a=i.length}if(n>=a)return e;var c=n-X(r);if(c<1)return r;var s=i?Oo(i,0,c).join(""):e.slice(0,c);if(o===ne)return s+r;if(i&&(c+=s.length-c),gp(o)){if(e.slice(c).search(o)){var l,u=s;for(o.global||(o=ou(o.source,Cs(Vt.exec(o))+"g")),o.lastIndex=0;l=o.exec(u);)var f=l.index;s=s.slice(0,f===ne?c:f)}}else if(e.indexOf(uo(o),c)!=c){var p=s.lastIndexOf(o);p>-1&&(s=s.slice(0,p))}return s+r}function _l(e){return e=Cs(e),e&&wt.test(e)?e.replace(bt,Wn):e}function wl(e,t,n){return e=Cs(e),t=n?ne:t,t===ne?B(e)?te(e):b(e):e.match(t)||[]}function Ol(e){var t=null==e?0:e.length,n=ya();return e=t?d(e,function(e){if("function"!=typeof e[1])throw new iu(ae);return[n(e[0]),e[1]]}):[],Jr(function(n){for(var r=-1;++rTe)return[];var n=De,r=Bu(e,De);t=ya(t),e-=De;for(var o=T(r,t);++n1?e[t-1]:ne;return n="function"==typeof n?(e.pop(),n):ne,Ui(e,n)}),qf=pa(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,a=function(t){return Zn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof g&&Pa(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:Gi,args:[a],thisArg:ne}),new o(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ne),e})):this.thru(a)}),Yf=Io(function(e,t,n){pu.call(e,n)?++e[n]:Xn(e,n,1)}),Gf=qo(ci),$f=qo(si),Qf=Io(function(e,t,n){pu.call(e,n)?e[n].push(t):Xn(e,n,[t])}),Xf=Jr(function(e,t,n){var r=-1,o="function"==typeof t,i=Bc(e)?Zl(e.length):[];return ff(e,function(e){i[++r]=o?a(t,e,n):Or(e,t,n)}),i}),Zf=Io(function(e,t,n){Xn(e,n,t)}),Jf=Io(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),ep=Jr(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Ta(e,t[0],t[1])?t=[]:n>2&&Ta(t[0],t[1],t[2])&&(t=[t[0]]),Kr(e,lr(t,1),[])}),tp=Nu||function(){return Pn.Date.now()},np=Jr(function(e,t,n){var r=he;if(n.length){var o=q(n,va(np));r|=be}return aa(e,r,t,n,o)}),rp=Jr(function(e,t,n){var r=he|me;if(n.length){var o=q(n,va(rp));r|=be}return aa(t,r,e,n,o)}),op=Jr(function(e,t){return rr(e,1,t)}),ap=Jr(function(e,t,n){return rr(e,_s(t)||0,n)});Ec.Cache=an;var ip=yf(function(e,t){t=1==t.length&&dp(t[0])?d(t[0],z(ya())):d(lr(t,1),z(ya()));var n=t.length;return Jr(function(r){for(var o=-1,i=Bu(r.length,n);++o=t}),pp=Cr(function(){return arguments}())?Cr:function(e){return ts(e)&&pu.call(e,"callee")&&!ku.call(e,"callee")},dp=Zl.isArray,hp=Ln?z(Ln):xr,mp=Iu||Il,vp=In?z(In):kr,yp=Rn?z(Rn):Mr,gp=Hn?z(Hn):Tr,bp=Vn?z(Vn):Nr,_p=Fn?z(Fn):zr,wp=ta(Ir),Op=ta(function(e,t){return e<=t}),Cp=Ro(function(e,t){if(La(t)||Bc(t))return void Do(t,Ls(t),e);for(var n in t)pu.call(t,n)&&Bn(e,n,t[n])}),xp=Ro(function(e,t){Do(t,Is(t),e)}),kp=Ro(function(e,t,n,r){Do(t,Is(t),e,r)}),Sp=Ro(function(e,t,n,r){Do(t,Ls(t),e,r)}),Ep=pa(Zn),Mp=Jr(function(e,t){e=ru(e);var n=-1,r=t.length,o=r>2?t[2]:ne;for(o&&Ta(t[0],t[1],o)&&(r=1);++n1),t}),Do(e,ha(e),n),r&&(n=er(n,le|ue|fe,sa));for(var o=t.length;o--;)po(n,t[o]);return n}),Lp=pa(function(e,t){return null==e?{}:Wr(e,t)}),Ip=oa(Ls),Rp=oa(Is),Hp=Uo(function(e,t,n){return t=t.toLowerCase(),e+(n?el(t):t)}),Vp=Uo(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),Fp=Uo(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Bp=Bo("toLowerCase"),Up=Uo(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}),Kp=Uo(function(e,t,n){return e+(n?" ":"")+qp(t)}),Wp=Uo(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),qp=Bo("toUpperCase"),Yp=Jr(function(e,t){try{return a(e,ne,t)}catch(e){return $c(e)?e:new eu(e)}}),Gp=pa(function(e,t){return c(t,function(t){t=$a(t),Xn(e,t,np(e[t],e))}),e}),$p=Yo(),Qp=Yo(!0),Xp=Jr(function(e,t){return function(n){return Or(n,e,t)}}),Zp=Jr(function(e,t){return function(n){return Or(e,n,t)}}),Jp=Xo(d),ed=Xo(l),td=Xo(y),nd=ea(),rd=ea(!0),od=Qo(function(e,t){return e+t},0),ad=ra("ceil"),id=Qo(function(e,t){return e/t},1),cd=ra("floor"),sd=Qo(function(e,t){return e*t},1),ld=ra("round"),ud=Qo(function(e,t){return e-t},0);return n.after=_c,n.ary=wc,n.assign=Cp,n.assignIn=xp,n.assignInWith=kp,n.assignWith=Sp,n.at=Ep,n.before=Oc,n.bind=np,n.bindAll=Gp,n.bindKey=rp,n.castArray=Ac,n.chain=qi,n.chunk=Ja,n.compact=ei,n.concat=ti,n.cond=Ol,n.conforms=Cl,n.constant=xl,n.countBy=Yf,n.create=xs,n.curry=Cc,n.curryRight=xc,n.debounce=kc,n.defaults=Mp,n.defaultsDeep=jp,n.defer=op,n.delay=ap,n.difference=jf,n.differenceBy=Pf,n.differenceWith=Tf,n.drop=ni,n.dropRight=ri,n.dropRightWhile=oi,n.dropWhile=ai,n.fill=ii,n.filter=rc,n.flatMap=oc,n.flatMapDeep=ac,n.flatMapDepth=ic,n.flatten=li,n.flattenDeep=ui,n.flattenDepth=fi,n.flip=Sc,n.flow=$p,n.flowRight=Qp,n.fromPairs=pi,n.functions=Ts,n.functionsIn=Ns,n.groupBy=Qf,n.initial=mi,n.intersection=Nf,n.intersectionBy=zf,n.intersectionWith=Df,n.invert=Pp,n.invertBy=Tp,n.invokeMap=Xf,n.iteratee=El,n.keyBy=Zf,n.keys=Ls,n.keysIn=Is,n.map=uc,n.mapKeys=Rs,n.mapValues=Hs,n.matches=Ml,n.matchesProperty=jl,n.memoize=Ec,n.merge=zp,n.mergeWith=Dp,n.method=Xp,n.methodOf=Zp,n.mixin=Pl,n.negate=Mc,n.nthArg=zl,n.omit=Ap,n.omitBy=Vs,n.once=jc,n.orderBy=fc,n.over=Jp,n.overArgs=ip,n.overEvery=ed,n.overSome=td,n.partial=cp,n.partialRight=sp,n.partition=Jf,n.pick=Lp,n.pickBy=Fs,n.property=Dl,n.propertyOf=Al,n.pull=Af,n.pullAll=_i,n.pullAllBy=wi,n.pullAllWith=Oi,n.pullAt=Lf,n.range=nd,n.rangeRight=rd,n.rearg=lp,n.reject=hc,n.remove=Ci,n.rest=Pc,n.reverse=xi,n.sampleSize=vc,n.set=Us,n.setWith=Ks,n.shuffle=yc,n.slice=ki,n.sortBy=ep,n.sortedUniq=Ni,n.sortedUniqBy=zi,n.split=fl,n.spread=Tc,n.tail=Di,n.take=Ai,n.takeRight=Li,n.takeRightWhile=Ii,n.takeWhile=Ri,n.tap=Yi,n.throttle=Nc,n.thru=Gi,n.toArray=vs,n.toPairs=Ip,n.toPairsIn=Rp,n.toPath=Bl,n.toPlainObject=ws,n.transform=Ws,n.unary=zc,n.union=If,n.unionBy=Rf,n.unionWith=Hf,n.uniq=Hi,n.uniqBy=Vi,n.uniqWith=Fi,n.unset=qs,n.unzip=Bi,n.unzipWith=Ui,n.update=Ys,n.updateWith=Gs,n.values=$s,n.valuesIn=Qs,n.without=Vf,n.words=wl,n.wrap=Dc,n.xor=Ff,n.xorBy=Bf,n.xorWith=Uf,n.zip=Kf,n.zipObject=Ki,n.zipObjectDeep=Wi,n.zipWith=Wf,n.entries=Ip,n.entriesIn=Rp,n.extend=xp,n.extendWith=kp,Pl(n,n),n.add=od,n.attempt=Yp,n.camelCase=Hp,n.capitalize=el,n.ceil=ad,n.clamp=Xs,n.clone=Lc,n.cloneDeep=Rc,n.cloneDeepWith=Hc,n.cloneWith=Ic,n.conformsTo=Vc,n.deburr=tl,n.defaultTo=kl,n.divide=id,n.endsWith=nl,n.eq=Fc,n.escape=rl,n.escapeRegExp=ol,n.every=nc,n.find=Gf,n.findIndex=ci,n.findKey=ks,n.findLast=$f,n.findLastIndex=si,n.findLastKey=Ss,n.floor=cd,n.forEach=cc,n.forEachRight=sc,n.forIn=Es,n.forInRight=Ms,n.forOwn=js,n.forOwnRight=Ps,n.get=zs,n.gt=up,n.gte=fp,n.has=Ds,n.hasIn=As,n.head=di,n.identity=Sl,n.includes=lc,n.indexOf=hi,n.inRange=Zs,n.invoke=Np,n.isArguments=pp,n.isArray=dp,n.isArrayBuffer=hp,n.isArrayLike=Bc,n.isArrayLikeObject=Uc,n.isBoolean=Kc,n.isBuffer=mp,n.isDate=vp,n.isElement=Wc,n.isEmpty=qc,n.isEqual=Yc,n.isEqualWith=Gc,n.isError=$c,n.isFinite=Qc,n.isFunction=Xc,n.isInteger=Zc,n.isLength=Jc,n.isMap=yp,n.isMatch=ns,n.isMatchWith=rs,n.isNaN=os,n.isNative=as,n.isNil=cs,n.isNull=is,n.isNumber=ss,n.isObject=es,n.isObjectLike=ts,n.isPlainObject=ls,n.isRegExp=gp,n.isSafeInteger=us,n.isSet=bp,n.isString=fs,n.isSymbol=ps,n.isTypedArray=_p,n.isUndefined=ds,n.isWeakMap=hs,n.isWeakSet=ms,n.join=vi,n.kebabCase=Vp,n.last=yi,n.lastIndexOf=gi,n.lowerCase=Fp,n.lowerFirst=Bp,n.lt=wp,n.lte=Op,n.max=Kl,n.maxBy=Wl,n.mean=ql,n.meanBy=Yl,n.min=Gl,n.minBy=$l,n.stubArray=Ll,n.stubFalse=Il,n.stubObject=Rl,n.stubString=Hl,n.stubTrue=Vl,n.multiply=sd,n.nth=bi,n.noConflict=Tl,n.noop=Nl,n.now=tp,n.pad=al,n.padEnd=il,n.padStart=cl,n.parseInt=sl,n.random=Js,n.reduce=pc,n.reduceRight=dc,n.repeat=ll,n.replace=ul,n.result=Bs,n.round=ld,n.runInContext=e,n.sample=mc,n.size=gc,n.snakeCase=Up,n.some=bc,n.sortedIndex=Si,n.sortedIndexBy=Ei,n.sortedIndexOf=Mi,n.sortedLastIndex=ji,n.sortedLastIndexBy=Pi,n.sortedLastIndexOf=Ti,n.startCase=Kp,n.startsWith=pl,n.subtract=ud,n.sum=Ql,n.sumBy=Xl,n.template=dl,n.times=Fl,n.toFinite=ys,n.toInteger=gs,n.toLength=bs,n.toLower=hl,n.toNumber=_s,n.toSafeInteger=Os,n.toString=Cs,n.toUpper=ml,n.trim=vl,n.trimEnd=yl,n.trimStart=gl,n.truncate=bl,n.unescape=_l,n.uniqueId=Ul,n.upperCase=Wp,n.upperFirst=qp,n.each=cc,n.eachRight=sc,n.first=di,Pl(n,function(){var e={};return ur(n,function(t,r){pu.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION="4.17.11",c(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){n[e].placeholder=n}),c(["drop","take"],function(e,t){g.prototype[e]=function(n){n=n===ne?1:Fu(gs(n),0);var r=this.__filtered__&&!t?new g(this):this.clone();return r.__filtered__?r.__takeCount__=Bu(n,r.__takeCount__):r.__views__.push({size:Bu(n,De),type:e+(r.__dir__<0?"Right":"")}),r},g.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),c(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==Me||3==n;g.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:ya(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),c(["head","last"],function(e,t){var n="take"+(t?"Right":"");g.prototype[e]=function(){return this[n](1).value()[0]}}),c(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");g.prototype[e]=function(){return this.__filtered__?new g(this):this[n](1)}}),g.prototype.compact=function(){return this.filter(Sl)},g.prototype.find=function(e){return this.filter(e).head()},g.prototype.findLast=function(e){return this.reverse().find(e)},g.prototype.invokeMap=Jr(function(e,t){return"function"==typeof e?new g(this):this.map(function(n){return Or(n,e,t)})}),g.prototype.reject=function(e){return this.filter(Mc(ya(e)))},g.prototype.slice=function(e,t){e=gs(e);var n=this;return n.__filtered__&&(e>0||t<0)?new g(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ne&&(t=gs(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},g.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},g.prototype.toArray=function(){return this.take(De)},ur(g.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),a=/^(?:head|last)$/.test(t),i=n[a?"take"+("last"==t?"Right":""):t],c=a||/^find/.test(t);i&&(n.prototype[t]=function(){var t=this.__wrapped__,s=a?[1]:arguments,l=t instanceof g,u=s[0],f=l||dp(t),p=function(e){var t=i.apply(n,h([e],s));return a&&d?t[0]:t};f&&r&&"function"==typeof u&&1!=u.length&&(l=f=!1);var d=this.__chain__,m=!!this.__actions__.length,v=c&&!d,y=l&&!m;if(!c&&f){t=y?t:new g(this);var b=e.apply(t,s);return b.__actions__.push({func:Gi,args:[p],thisArg:ne}),new o(b,d)}return v&&y?e.apply(this,s):(b=this.thru(p),v?a?b.value()[0]:b.value():b)})}),c(["pop","push","shift","sort","splice","unshift"],function(e){var t=cu[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(o&&!this.__chain__){var n=this.value();return t.apply(dp(n)?n:[],e)}return this[r](function(n){return t.apply(dp(n)?n:[],e)})}}),ur(g.prototype,function(e,t){var r=n[t];if(r){var o=r.name+"";(ef[o]||(ef[o]=[])).push({name:t,func:r})}}),ef[Go(ne,me).name]=[{name:"wrapper",func:ne}],g.prototype.clone=E,g.prototype.reverse=$,g.prototype.value=J,n.prototype.at=qf,n.prototype.chain=$i,n.prototype.commit=Qi,n.prototype.next=Xi,n.prototype.plant=Ji,n.prototype.reverse=ec,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=tc,n.prototype.first=n.prototype.head,Mu&&(n.prototype[Mu]=Zi),n}();Pn._=qn,(o=function(){return qn}.call(t,n,t,r))!==ne&&(r.exports=o)}).call(this)}).call(t,n(20),n(129)(e))},function(e,t,n){"use strict";n.d(t,"a",function(){return c}),n.d(t,"b",function(){return s});var r=n(324),o=n(325),a=n(130),i=Object.assign||function(e){for(var t=1;t may have only one child element"),this.unlisten=r.listen(function(){e.setState({match:e.computeMatch(r.location.pathname)})})},t.prototype.componentWillReceiveProps=function(e){c()(this.props.history===e.history,"You cannot change ")},t.prototype.componentWillUnmount=function(){this.unlisten()},t.prototype.render=function(){var e=this.props.children;return e?f.a.Children.only(e):null},t}(f.a.Component);m.propTypes={history:d.a.object.isRequired,children:d.a.node},m.contextTypes={router:d.a.object},m.childContextTypes={router:d.a.object.isRequired},t.a=m},function(e,t,n){"use strict";var r=n(330),o=n.n(r),a={},i=0,c=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=a[n]||(a[n]={});if(r[e])return r[e];var c=[],s=o()(e,c,t),l={re:s,keys:c};return i<1e4&&(r[e]=l,i++),l},s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];"string"===typeof t&&(t={path:t});var r=t,o=r.path,a=r.exact,i=void 0!==a&&a,s=r.strict,l=void 0!==s&&s,u=r.sensitive,f=void 0!==u&&u;if(null==o)return n;var p=c(o,{end:i,strict:l,sensitive:f}),d=p.re,h=p.keys,m=d.exec(e);if(!m)return null;var v=m[0],y=m.slice(1),g=e===v;return i&&!g?null:{path:o,url:"/"===o&&""===v?"/":v,isExact:g,params:h.reduce(function(e,t,n){return e[t.name]=y[n],e},{})}};t.a=s},function(e,t,n){var r=n(212),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t){e.exports=!0},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(94),o=n(652),a=n(215),i=n(213)("IE_PROTO"),c=function(){},s=function(){var e,t=n(339)("iframe"),r=a.length;for(t.style.display="none",n(653).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write("\\r\\n\\t\\r\\n \\r\\n \\r\\n
\\r\\n

\\u8fd9\\u662f\\u4e00\\u4e2a\\u4e00\\u7ea7\\u6807\\u9898

\\r\\n

\\u8fd9\\u662f\\u4e00\\u4e2a\\u6bb5\\u843d

\\r\\n
\\r\\n \\r\\n\\r\\n```\\r\\n\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u663e\\u793a\\u6548\\u679c\\u56fe\\uff1a\\r\\n![](/attachments/download/180646)\\r\\n\\r\\n\\u7531\\u4e0a\\u8fb9\\u7684\\u4ee3\\u7801\\u6bb5\\u53ef\\u4ee5\\u770b\\u51fa\\uff0c\\u4e00\\u4e2a\\u57fa\\u672c\\u7684Boostrap\\u7ed3\\u6784\\u4e3b\\u8981\\u7531\\u4e09\\u90e8\\u5206\\u6784\\u6210\\uff1a\\r\\n1. ``\\u4e2d\\u7684\\u6807\\u9898\\r\\n1. ``\\u4e2d\\u7684\\u6587\\u4ef6\\u5f15\\u7528\\r\\n1. `
`\\u4e2d\\u7684container\\u5bb9\\u5668\\r\\n\\r\\n\\r\\n##### Bootstrap\\u6587\\u4ef6\\u5f15\\u7528\\r\\n\\r\\n\\u6807\\u9898\\u90e8\\u5206\\u4e0d\\u5728\\u6b64\\u8bf4\\u660e\\uff0c\\u4e0eHTML\\u5185\\u5bb9\\u4e00\\u81f4\\u3002`Bootstrap`\\u8bf4\\u767d\\u4e86\\u5c31\\u662f\\u4e00\\u4e2a\\u6837\\u5f0f\\u8868\\u6587\\u4ef6\\uff08`bootstrap.min.css`\\uff09\\u548c\\u4e00\\u4e2a`javascript`\\u6587\\u4ef6\\uff08`bootstrap.min.js`\\uff09\\uff0c\\u5728\\u9875\\u9762\\u91cc\\u628a\\u5b83\\u4eec\\u5f15\\u5165\\u8fdb\\u6765\\u540e\\uff0c\\u5c31\\u53ef\\u4ee5\\u76f4\\u63a5\\u4f7f\\u7528\\u91cc\\u9762\\u7684`CSS`\\u548c\\u5404\\u79cd\\u7ec4\\u4ef6\\u4e86\\u3002\\r\\n\\r\\n- \\u6587\\u4ef6\\u7684\\u5f15\\u5165\\u65b9\\u5f0f\\u4e00\\u822c\\u6709\\u4e24\\u79cd\\u65b9\\u5f0f\\r\\n - \\u8fdc\\u7a0bCDN\\u5f15\\u5165\\uff08\\u672c\\u4f8b\\u91c7\\u7528\\u8fd9\\u79cd\\u65b9\\u6cd5\\u5f15\\u5165\\uff09\\u3002\\u5982\\u4e0b\\u56fe\\uff1a\\r\\n ```html\\r\\n\\r\\n \\r\\n\\t\\r\\n```\\r\\n\\r\\n - \\u672c\\u5730\\u6587\\u4ef6\\u5f15\\u5165\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n ```html\\r\\n\\r\\n\\r\\n\\r\\n```\\r\\n \\u7ec6\\u5fc3\\u5730\\u540c\\u5b66\\u80af\\u5b9a\\u5df2\\u7ecf\\u770b\\u51fa\\u533a\\u522b\\u4e86\\uff0c**\\u5f15\\u7528\\u7684\\u8def\\u5f84\\u4e0d\\u4e00\\u6837**\\u3002\\u8fdc\\u7a0b\\u5f15\\u5165\\u662f\\u4f7f\\u7528CDN\\u6e90\\u4e0a\\u7684\\u8fdc\\u7a0b\\u6587\\u4ef6\\uff0c\\u8fd9\\u6837\\u53ef\\u4ee5\\u8282\\u7ea6\\u672c\\u5730\\u7684\\u5e26\\u5bbd\\u3002\\u800c\\u672c\\u5730\\u65b9\\u5f0f\\u662f\\u628a`Bootstrap`\\u7684\\u6240\\u6709\\u6587\\u4ef6\\u4e0b\\u8f7d\\u5230\\u672c\\u5730\\u540e\\u518d\\u5f15\\u7528\\u5230\\u9875\\u9762\\u4e2d\\u3002\\r\\n \\r\\n \\u6ce8\\u610f\\uff1a\\u5982\\u679c\\u5f15\\u5165\\u7684\\u6587\\u4ef6\\u987a\\u5e8f\\u4e0d\\u5bf9\\uff0c\\u4f1a\\u5bfc\\u81f4\\u9875\\u9762\\u65e0\\u6cd5\\u6b63\\u5e38\\u8fd0\\u884c\\u3002\\u6240\\u4ee5\\u5148\\u5f15\\u5165`bootstrap.min.css`\\uff0c\\u518d\\u5f15\\u5165`jQuery`\\uff0c\\u6700\\u540e\\u5f15\\u5165`bootstrap.min.js`\\u3002\\r\\n\\r\\n\\r\\n##### Bootstrap\\u5c5e\\u6027\\r\\n\\u5728`
`\\u6807\\u7b7e\\u4e2d\\u6dfb\\u52a0container\\u5c5e\\u6027\\uff0c\\u6dfb\\u52a0\\u4e4b\\u540e\\u5185\\u5bb9\\u4f1a\\u88ab\\u9650\\u5236\\u5728\\u5728\\u4e00\\u4e2a\\u56fa\\u5b9a\\u5bbd\\u5ea6\\u7684\\u6805\\u683c\\u5e03\\u5c40\\u7684\\u8303\\u56f4\\u3002\\r\\n- Bootstrap\\u7684`container` \\u7c7b\\u662f\\u975e\\u5e38\\u6709\\u7528\\u7684\\uff0c\\u5b83\\u548c`HTML`\\u7684\\u533a\\u522b\\u662f\\u5b83\\u80fd\\u5728\\u9875\\u9762\\u4e2d\\u521b\\u5efa\\u4e00\\u4e2a\\u5c45\\u4e2d\\u7684\\u533a\\u57df\\uff0c\\u7136\\u540e\\u6211\\u4eec\\u80fd\\u591f\\u628a\\u5176\\u4ed6\\u4f4d\\u7f6e\\u7684\\u5185\\u5bb9\\u653e\\u5230\\u5b83\\u89c4\\u5b9a\\u7684\\u65b9\\u6846\\u5185\\uff0c\\u800c`HTML`\\u662f\\u6ca1\\u6709\\u8fd9\\u4e2a\\u533a\\u57df\\u7684\\u3002\\r\\n- `container`\\u7c7b\\u7b49\\u4ef7\\u4e8e\\u521b\\u5efa\\u4e86\\u4e00\\u4e2a\\u5177\\u6709\\u9759\\u6001\\u5bbd\\u5ea6\\u7684`div`\\u6846\\u3002\\u968f\\u7740\\u6211\\u4eec\\u5b66\\u4e60\\u7684\\u6df1\\u5165\\uff0c\\u6211\\u4eec\\u6e05\\u695a\\u4e86\\u89e3\\u5b83\\u7684\\u7279\\u70b9\\uff0c\\u57fa\\u672c\\u7684\\u8bed\\u53e5\\u5982\\u4e0b\\uff1a\\r\\n `
`\\r\\n- \\u5982\\u679c\\u60f3\\u5c06\\u5185\\u5bb9\\u5145\\u6ee1\\u6574\\u4e2a\\u5e03\\u5c40\\uff0c\\u53ea\\u9700\\u5c06container\\u5c5e\\u6027\\u6539\\u6210container-fluid\\u5c5e\\u6027\\u5373\\u53ef\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n`
`\\r\\n\\r\\n- `Bootstrap`\\u7684`container`\\u7c7b\\u7684\\u4f18\\u70b9\\u5728\\u4e8e\\u5b83\\u662f\\u54cd\\u5e94\\u5f0f\\u7684\\uff0c\\u5b83\\u4f1a\\u4ee5\\u5f53\\u524d\\u5c4f\\u5e55\\u7684\\u5bbd\\u5ea6\\u4e3a\\u57fa\\u7840\\u8ba1\\u7b97\\u51fa\\u6700\\u4f73\\u7684\\u5bbd\\u5ea6\\u4e88\\u4ee5\\u4f7f\\u7528\\uff0c\\u8fd9\\u662f`HTML`\\u6ca1\\u6709\\u7684\\u7279\\u70b9\\u3002\\r\\n\\r\\n\\r\\n#### \\u7f16\\u7a0b\\u8981\\u6c42\\r\\n\\r\\n1. \\u57289\\u884c\\u7684`
`\\u6807\\u7b7e\\u4e2d\\uff0c\\u8bbe\\u7f6e\\u5c5e\\u6027class=\\\"container\\\"\\u3002\\r\\n1. \\u572811\\u884c\\u7684`

`\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"Hello World\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u572812\\u884c\\u7684`

`\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"\\u521b\\u65b0\\u6e90\\u4e8e\\u5b9e\\u8df5\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u586b\\u5199\\u5b8c\\u6bd5\\uff0c\\u70b9\\u51fb\\\"\\u8bc4\\u6d4b\\\"\\u5373\\u53ef\\u3002\\r\\n\\r\\n#### \\u8bc4\\u6d4b\\u8bf4\\u660e\\r\\n\\r\\n\\u5e73\\u53f0\\u5c06\\u81ea\\u52a8\\u7f16\\u8bd1\\u8865\\u5168\\u540e\\u7684\\u4ee3\\u7801\\uff0c\\u5e76\\u6839\\u636e\\u8f93\\u51fa\\u6765\\u5224\\u65ad\\u4ee3\\u7801\\u662f\\u5426\\u6b63\\u786e\\uff01\\r\\n\\r\\n\\r\\n------------------------------------------------------\\r\\n\\u5c06\\u6765\\u7684\\u4f60\\u4e00\\u5b9a\\u4f1a\\u611f\\u8c22\\u73b0\\u5728\\u7684\\u81ea\\u5df1\\uff01\\r\\n\\r\\n![](/attachments/download/176967)\\r\\n\\r\\n\\u606d\\u559c\\u8fc7\\u5173\\uff0c\\u7ee7\\u7eed\\u52a0\\u6cb9\\u5965\\uff01\\r\\n\\r\\n\\r\\n\"},\"game\":{\"id\":152020,\"status\":0,\"myshixun_id\":44997,\"user_id\":12,\"final_score\":0,\"challenge_id\":1135,\"identifier\":\"w8724qbe9mtv\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":2257550,\"star\":0},\"shixun\":{\"id\":386,\"name\":\"Bootstrap\\u5165\\u95e8\",\"gpid\":18892,\"modify_time\":\"2017-11-23T10:13:09+08:00\",\"reset_time\":\"2017-12-08T09:41:30+08:00\",\"language\":\"Html\",\"propaedeutics\":\"\",\"status\":2,\"identifier\":\"mnkfuyvx\"},\"record\":null,\"grade\":9279,\"prev_game\":\"w8724qbe9mtv\",\"next_game\":null,\"username\":\"\\u9ec4\\u4e95\\u6cc9\",\"image_url\":\"avatars/User/0\",\"user_url\":\"/users/Hjqreturn\",\"praise_count\":1,\"user_praise\":true}\n// \t// JavaScript学习手册一:JS简介\n// \t// chooseData = {\"tpm_modified\":false,\"tpm_cases_modified\":false,\"output_sets\":{\"test_sets\":\"{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"-1\\\",\\\"output\\\":\\\"90\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"0\\\",\\\"output\\\":\\\"100\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"2\\\",\\\"output\\\":\\\"120\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"30\\\",\\\"output\\\":\\\"400\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0}\",\"had_test_count\":0,\"test_sets_count\":4,\"had_passed_testsests_error_count\":0},\"latest_output\":null,\"mirror_name\":[\"JavaScript\"],\"has_answer\":true,\"st\":0,\"discusses_count\":2,\"game_count\":3,\"myshixun\":{\"id\":43748,\"shixun_id\":534,\"identifier\":\"q2itywsgz9\",\"gpid\":44848,\"status\":0,\"user_id\":1,\"commit_id\":\"4f61172a0f161173a3fac5e8a71ee4b8fc789bdb\",\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"system_tip\":false},\"challenge\":{\"id\":1765,\"subject\":\"JavaScript\\u53d8\\u91cf\",\"position\":3,\"shixun_id\":534,\"st\":0,\"score\":100,\"path\":\"step3/Variable.js\",\"task_pass\":\"[TOC]\\r\\n\\r\\n---\\r\\n\\r\\n####\\u4efb\\u52a1\\u63cf\\u8ff0\\r\\n[comment]: <> (\\u201c\\u4efb\\u52a1\\u63cf\\u8ff0\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u672c\\u5173\\u8981\\u8ba9\\u5b66\\u751f\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u63cf\\u8ff0\\u8bb2\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u52a0\\u4e00\\u4e2a\\u7b80\\u5355\\u7684\\u4f8b\\u5b50\\u6765\\u8bf4\\u660e,\\u7c7b\\u4f3c\\u4e0b\\u9762\\u8fd9\\u6837)\\r\\n\\r\\n\\u53d8\\u91cf\\u53ef\\u4ee5\\u770b\\u6210\\u8bed\\u8a00\\u4e2d\\u7528\\u6765\\u6807\\u8bb0\\u548c\\u5b58\\u50a8\\u6570\\u636e\\u7684\\u4e00\\u79cd\\u8bb0\\u53f7\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u4efb\\u52a1\\uff1a\\u5b9a\\u4e49\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\uff0c\\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`\\uff0c\\u5e76\\u8d4b\\u503c\\uff0c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\u3002\\u5728\\u51fd\\u6570`variableTest`\\u4e2d\\u589e\\u52a0\\u4ee3\\u7801\\uff0c\\u4f7f\\u51fd\\u6570\\u8f93\\u51fa`100+10*c`\\uff0c\\u5176\\u4e2d`c`\\u4e3a\\u8f93\\u5165\\uff0c\\u51fd\\u6570\\u4f53\\u89c1\\u6d4b\\u8bd5\\u8bf4\\u660e\\u90e8\\u5206\\u3002\\r\\n\\r\\n####\\u76f8\\u5173\\u77e5\\u8bc6\\r\\n[comment]: <> (\\u201c\\u76f8\\u5173\\u77e5\\u8bc6\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u89e3\\u51b3\\u672c\\u5173\\u9700\\u8981\\u7528\\u5230\\u7684\\u77e5\\u8bc6\\u70b9\\u5728\\u8fd9\\u91cc\\u5199\\u6e05\\u695a\\u3001\\u5b8c\\u6574\\u3002\\u6bd4\\u5982\\u8981\\u89e3\\u51b3\\u5b66\\u751f\\u7ee9\\u70b9\\u8ba1\\u7b97\\u7684\\u95ee\\u9898\\uff0c\\u9700\\u8981\\u7528\\u5230if-else\\u63a7\\u5236\\u7ed3\\u6784\\uff0c\\u5b66\\u4e60\\u8005\\u9700\\u8981\\u9996\\u5148\\u77e5\\u9053if-else\\u7684\\u8bed\\u6cd5\\uff0c\\u5c31\\u9700\\u8981\\u5728\\u76f8\\u5173\\u77e5\\u8bc6\\u8fd9\\u91cc\\u628aif-else\\u7684\\u8bed\\u6cd5\\u4ecb\\u7ecd\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u518d\\u5bf9\\u6bcf\\u4e00\\u4e2a\\u77e5\\u8bc6\\u70b9\\u914d\\u4e0a\\u76f8\\u5e94\\u7684\\u4e00\\u4e2a\\u793a\\u4f8b\\u70b9\\u3002\\u8fd9\\u4e00\\u90e8\\u5206\\u7684\\u76ee\\u6807\\u5c31\\u662f\\u5b66\\u751f\\u770b\\u5b8c\\u8fd9\\u4e2a\\u76f8\\u5173\\u77e5\\u8bc6\\u5c31\\u80fd\\u628a\\u672c\\u5173\\u4efb\\u52a1\\u505a\\u51fa\\u6765)\\r\\n\\r\\n\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\r\\n\\u4e0d\\u540c\\u4e8eC\\u6216Java\\uff0cJavaScript\\u662f\\u4e00\\u79cd\\u52a8\\u6001\\u7c7b\\u578b\\u7684\\u8bed\\u8a00,\\u5373\\u7533\\u660e\\u7684\\u65f6\\u5019\\u4e0d\\u6307\\u5b9a\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\uff0c\\u800c\\u5728\\u8fd0\\u884c\\u7684\\u65f6\\u5019\\u6839\\u636e\\u53d8\\u91cf\\u7684\\u5177\\u4f53\\u503c\\u52a8\\u6001\\u7684\\u5224\\u65ad\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\u3002\\r\\nJavaScript\\u7684\\u53d8\\u91cf\\u540d\\u4ee5\\u5b57\\u6bcd\\u6216\\u8005`$`\\u6216\\u8005`_`\\u5f00\\u5934\\uff1b\\u53d8\\u91cf\\u540d\\u53ea\\u80fd\\u542b\\u6709\\u5b57\\u6bcd\\u3001\\u6570\\u5b57\\u3001\\u4e0b\\u5212\\u7ebf\\u548c\\u7f8e\\u5143\\u7b26\\u53f7\\uff1b\\u5927\\u5c0f\\u5199\\u654f\\u611f\\uff1b\\u4e0d\\u80fd\\u4f7f\\u7528\\u4fdd\\u7559\\u7684\\u5173\\u952e\\u5b57\\uff0c\\u5982`html`\\u3001`var`\\u3001`function`\\u7b49\\uff0c\\u8fd9\\u4e00\\u6761\\u4e00\\u5b9a\\u8981\\u8bb0\\u4f4f\\uff0c\\u4f7f\\u7528\\u5173\\u952e\\u5b57\\u9020\\u6210\\u7684\\u9519\\u8bef\\u5f80\\u5f80\\u5f88\\u96be\\u6392\\u9664\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u7533\\u660e\\u3001\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n- \\u53d8\\u91cf\\u7684\\u7533\\u660e\\r\\n\\u5728JavaScript\\u4e2d\\uff0c\\u7533\\u660e\\u53d8\\u91cf\\u4ee5\\u5173\\u952e\\u5b57`var`\\u5f00\\u5934\\uff0c\\u7a7a\\u4e00\\u683c\\u540e\\u518d\\u63a5\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\uff1b\\u5f53\\u7136\\uff0c\\u53ef\\u4ee5\\u4e00\\u6b21\\u7533\\u660e\\u591a\\u4e2a\\u53d8\\u91cf\\uff0c\\u8fd9\\u65f6`var`\\u53ea\\u9700\\u8981\\u51fa\\u73b0\\u4e00\\u6b21\\uff0c\\u591a\\u4e2a\\u53d8\\u91cf\\u540d\\u4e4b\\u95f4\\u7528\\u82f1\\u6587\\u7684\\u9017\\u53f7\\u9694\\u5f00\\u5373\\u53ef\\u3002\\u5982\\uff1a\\r\\n```JavaScript\\r\\nvar myvar1;//\\u7533\\u660e\\u53d8\\u91cf\\\"myvar1\\\"\\r\\nvar myvar2,myvar3,myvar4;//\\u4e00\\u6b21\\u7533\\u660e\\u4e09\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n- \\u53d8\\u91cf\\u7684\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n\\u65e2\\u7136\\u53d8\\u91cf\\u662f\\u7528\\u6765\\u8bb0\\u5f55\\u6570\\u636e\\u7684\\uff0c\\u5982\\u4f55\\u7ed9\\u53d8\\u91cf\\u8d4b\\u503c\\u5462\\uff1f\\u7b80\\u5355\\u6765\\u8bf4\\uff0c\\u548c\\u6570\\u5b66\\u4e2d\\u4e00\\u6837\\uff0c\\u7528\\u4e00\\u4e2a\\u7b49\\u53f7\\u8fde\\u63a5\\u53d8\\u91cf\\u540d\\u548c\\u53d8\\u91cf\\u7684\\u503c\\u5373\\u53ef\\uff0c\\u5bf9\\u4e8e\\u6570\\u5b57\\u7684\\u8d4b\\u503c\\uff0c\\u76f4\\u63a5\\u7528\\u7b49\\u53f7\\u8fde\\u63a5\\u6570\\u5b57\\u548c\\u53d8\\u91cf\\uff0c\\u5bf9\\u4e8e\\u5b57\\u7b26\\u4e32\\u7684\\u8d4b\\u503c\\uff0c\\u9700\\u8981\\u5c06\\u5b57\\u7b26\\u4e32\\u5305\\u542b\\u5728\\u82f1\\u6587\\u53cc\\u5f15\\u53f7\\u4e4b\\u4e2d\\u3002\\r\\n\\u53d8\\u91cf\\u7684\\u7b2c\\u4e00\\u6b21\\u8d4b\\u503c\\u79f0\\u4e4b\\u4e3a\\u521d\\u59cb\\u5316\\u3002\\r\\n\\u4f60\\u53ef\\u80fd\\u5df2\\u7ecf\\u60f3\\u5230\\u4e86\\uff0c\\u7533\\u660e\\u548c\\u521d\\u59cb\\u5316\\u80fd\\u4e00\\u8d77\\u8fdb\\u884c\\u5417\\uff1f\\u7b54\\u6848\\u662f\\u80af\\u5b9a\\u7684\\uff0c\\u4e0b\\u9762\\u6211\\u4eec\\u7ed9\\u51fa\\u5177\\u4f53\\u7684\\u4f8b\\u5b50\\uff1a\\r\\n```JavaScript\\r\\nvar numberVar; //\\u7533\\u660e\\r\\nnumberVar = 1; //\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar stringVar; //\\u7533\\u660e\\r\\nstringVar = \\\"I am a String\\\"; //\\u8d4b\\u503c\\u4e3a\\u5b57\\u7b26\\u4e32\\r\\nvar myNumber = 2; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar myString = \\\"\\u6211\\u662f\\u5b57\\u7b26\\u4e32\\\"; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\r\\nvar number1 = 1,number2 = 2; //\\u4e00\\u6b21\\u7533\\u660e\\u3001\\u8d4b\\u503c\\u591a\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n\\u9700\\u8981\\u6ce8\\u610f\\u7684\\u662f\\uff0c\\u4e00\\u4e2a\\u53d8\\u91cf\\u7ecf\\u8fc7\\u591a\\u6b21\\u8d4b\\u503c\\uff0c\\u5b83\\u7684\\u503c\\u4e3a\\u6700\\u540e\\u4e00\\u6b21\\u8d4b\\u503c\\u7684\\u503c\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u57df\\r\\n\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u8303\\u56f4\\uff0c\\u6216\\u8005\\u8bf4\\u4f5c\\u7528\\u57df\\uff0c\\u662f\\u6307\\u53d8\\u91cf\\u4fdd\\u6301\\u6709\\u6548\\u7684\\u8303\\u56f4\\uff0cJavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u5e7f\\u4e49\\u4e0a\\u6765\\u8bf4\\u5206\\u4e3a\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u3002\\r\\n- \\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\u5728\\u51fd\\u6570\\u5916\\u90e8\\u7533\\u660e\\u7684\\u53d8\\u91cf\\u79f0\\u4e3a\\u5168\\u5c40\\u53d8\\u91cf\\uff0c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u81ea\\u7533\\u660e\\u7684\\u5730\\u65b9\\u8d77\\uff0c\\u5230\\u6574\\u4e2aJavaScript\\u6587\\u4ef6\\u7684\\u672b\\u5c3e\\uff08\\u5305\\u62ec\\u8fd9\\u5176\\u4e2d\\u7684\\u6240\\u6709\\u51fd\\u6570\\u7684\\u5185\\u90e8\\uff09\\u3002\\u4e0b\\u9762\\u662f\\u4e00\\u4e2a\\u4f8b\\u5b50:\\r\\n```\\r\\nvar wholeVar = 12; //\\u7533\\u660e\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction() {\\r\\n\\tvar localVar = 1; //\\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar+localVar); //\\u8f93\\u51fa13\\r\\n}\\r\\nconsole.log(wholeVar); //\\u8f93\\u51fa12\\r\\n```\\r\\n- \\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\u5c40\\u90e8\\u53d8\\u91cf\\u662f\\u6307\\u7533\\u660e\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u7684\\u53d8\\u91cf\\uff0c\\u5176\\u4f5c\\u7528\\u57df\\u4ec5\\u662f\\u672c\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u5728\\u51fd\\u6570\\u5916\\u4e0d\\u53ef\\u7528\\u3002\\r\\n\\u5982\\u679c\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u76f8\\u540c\\uff0c\\u90a3\\u4e48\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u5168\\u5c40\\u53d8\\u91cf\\u4f1a\\u88ab\\u5c40\\u90e8\\u53d8\\u91cf\\u8986\\u76d6\\u3002\\r\\n```JavaScript\\r\\nvar myVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction scope() {\\r\\n\\tvar myVar = 2;//\\u5c40\\u90e8\\u53d8\\u91cf\\uff0c\\u8986\\u76d6\\u4e86\\u4e0a\\u9762\\u7684\\u503c\\r\\n\\tconsole.log(myVar);//\\u8f93\\u51fa2\\r\\n}\\r\\n```\\r\\n- \\u7533\\u660e\\u63d0\\u524d\\r\\nJavaScript\\u5c40\\u90e8\\u53d8\\u91cf\\u6709\\u4e00\\u4e2a\\u5f88\\u91cd\\u8981\\u7684\\u6982\\u5ff5\\uff0c\\u53eb\\u7533\\u660e\\u63d0\\u524d\\uff0c\\u6211\\u4eec\\u5148\\u6765\\u770b\\u4e00\\u4e2a\\u4f8b\\u5b50\\u3002\\r\\n```\\r\\nvar wholeVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction myTest() {\\r\\n\\tconsole.log(wholeVar);\\r\\n\\tvar wholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u5173\\u4e8e\\u7b2c\\u4e09\\u884c\\u7684\\u8f93\\u51fa\\uff0c\\u4f60\\u7684\\u7b2c\\u4e00\\u53cd\\u5e94\\u4e00\\u5b9a\\u662f`1`\\u5427\\uff0c\\u6b63\\u786e\\u7b54\\u6848\\u662f`undefined`\\u3002\\u8fd9\\u662f\\u56e0\\u4e3a\\u5728\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u53d8\\u91cf\\u4e0d\\u8bba\\u5728\\u4f55\\u5904\\u7533\\u660e\\uff0c\\u90fd\\u5e94\\u8be5\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u7533\\u660e\\uff08\\u8d4b\\u503c\\u4e0d\\u4f1a\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u8d4b\\u503c\\uff0c\\u8fd9\\u5c31\\u662f\\u4e0d\\u8f93\\u51fa`2`\\u7684\\u539f\\u56e0\\uff09\\uff0c\\u8fd9\\u5c31\\u662f\\u201c\\u7533\\u660e\\u63d0\\u524d\\u201d\\uff0c\\u6240\\u4ee5\\uff0c\\u4ee5\\u4e0a\\u4ee3\\u7801\\u7b49\\u4ef7\\u4e8e\\uff1a\\r\\n```\\r\\nvar wholeVar = 1;\\r\\nfunction myTest() {\\r\\n\\tvar wholeVar;//\\u7533\\u660e\\u63d0\\u524d\\u4e86\\uff0c\\u8986\\u76d6\\u4e86\\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar);//\\u4e0a\\u9762\\u53ea\\u7533\\u660e\\uff0c\\u6ca1\\u8d4b\\u503c\\r\\n\\twholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u8fd9\\u4e2a\\u5730\\u65b9\\u4e0d\\u592a\\u597d\\u7406\\u89e3\\uff0c\\u6240\\u4ee5\\u6211\\u4eec\\u5728\\u7f16\\u7a0b\\u7684\\u65f6\\u5019\\u5c40\\u90e8\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u6700\\u597d\\u4e0d\\u8981\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u51b2\\u7a81\\u3002\\r\\n\\r\\n\\r\\n\\r\\n####\\u7f16\\u7a0b\\u8981\\u6c42\\r\\n[comment]: <> (\\u201c\\u7f16\\u7a0b\\u8981\\u6c42\\u201d\\u90e8\\u5206\\u8bf4\\u4e00\\u4e0b\\u672c\\u5173\\u8981\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u7684\\u5177\\u4f53\\u8981\\u6c42\\uff0c\\u5e76\\u7ed9\\u51fa\\u76f8\\u5e94\\u4ee3\\u7801\\u7684\\u6846\\u67b6\\uff0c\\u4ee5\\u53ca\\u8981\\u6c42\\u5b66\\u751f\\u586b\\u5199\\u7684\\u90a3\\u4e00\\u5757)\\r\\n\\r\\n\\u672c\\u5173\\u7684\\u7f16\\u7a0b\\u4efb\\u52a1\\u662f\\u8865\\u5168\\u53f3\\u4fa7\\u4ee3\\u7801\\u7247\\u6bb5\\u4e2d`Begin`\\u81f3`End`\\u4e2d\\u95f4\\u7684\\u4ee3\\u7801\\uff0c\\u5177\\u4f53\\u8981\\u6c42\\u5982\\u4e0b\\uff1a\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`,\\u5e76\\u8d4b\\u503c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\uff1b\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\u5e76\\u521d\\u59cb\\u5316\\u4e4b\\uff1b\\r\\n- \\u4e0a\\u9762\\u4e24\\u6b65\\u5fc5\\u987b\\u4f7f\\u5f97\\u51fd\\u6570`variableTest`\\u8fd4\\u56de`100+10*c`\\uff0c`c`\\u4e3a\\u8f93\\u5165\\uff1b\\r\\n- \\u5177\\u4f53\\u8bf7\\u53c2\\u89c1\\u540e\\u7eed\\u6d4b\\u8bd5\\u6837\\u4f8b\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u6d89\\u53ca\\u7684\\u4ee3\\u7801\\u6587\\u4ef6`Variable.js`\\u7684\\u4ee3\\u7801\\u6846\\u67b6\\u5982\\u4e0b\\uff1a\\r\\n\\r\\n```JavaScript\\r\\n/********Begin***************/\\r\\nvar a = 1;\\r\\nfunction variableTest(c) {\\r\\n\\treturn a*c+b;\\r\\n}\\r\\n/**********End****************/\\r\\n```\\r\\n\\r\\n####\\u6d4b\\u8bd5\\u8bf4\\u660e\\r\\n[comment]: <> (\\u201c\\u6d4b\\u8bd5\\u8bf4\\u660e\\u201d\\u90e8\\u5206\\u5982\\u679c\\u5bf9\\u6d4b\\u8bd5\\u8fd0\\u884c\\u6709\\u7279\\u522b\\u9700\\u8981\\u8bf4\\u660e\\u7684\\u53ef\\u4ee5\\u5728\\u6b64\\u5904\\u8bf4\\u660e\\u4e00\\u4e0b\\u3002\\u91cd\\u8981\\u7684\\u662f\\uff0c\\u7ed9\\u51fa\\u51e0\\u7ec4\\u6d4b\\u8bd5\\u6837\\u4f8b)\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8fc7\\u7a0b\\uff1a\\r\\n\\r\\n- \\u5e73\\u53f0\\u5c06\\u8bfb\\u53d6\\u7528\\u6237\\u8865\\u5168\\u540e\\u7684`Variable.js`\\u6587\\u4ef6\\uff1b\\r\\n\\r\\n- \\u8c03\\u7528\\u5176\\u4e2d\\u7684`variableTest()`\\u65b9\\u6cd5\\uff0c\\u5e76\\u8f93\\u5165\\u82e5\\u5e72\\u7ec4\\u6d4b\\u8bd5\\u6570\\u636e\\uff1b\\r\\n\\r\\n- \\u63a5\\u7740\\u6839\\u636e\\u7a0b\\u5e8f\\u7684\\u8f93\\u51fa\\u5224\\u65ad\\u7a0b\\u5e8f\\u662f\\u5426\\u6b63\\u786e\\u3002\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u6d4b\\u8bd5\\u6837\\u4f8b\\uff1a\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`0`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`100`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`1`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`110`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`22`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`330`\\r\\n\\r\\n---\\r\\n\\u6d77\\u5230\\u65e0\\u8fb9\\u5929\\u4f5c\\u5cb8\\uff0c\\u5c71\\u767b\\u7edd\\u9876\\u6211\\u4e3a\\u5cf0\\u3002 \\u2014\\u2014\\u6797\\u5219\\u5f90\\r\\n\\r\\n\\r\\n\\u5982\\u679c\\u4f60\\u89c9\\u5f97\\u8fd9\\u4e00\\u5173\\u7684\\u5185\\u5bb9\\u5bf9\\u4f60\\u6709\\u5e2e\\u52a9\\uff0c\\u8bf7\\u4f60\\u5728\\u4e0b\\u9762\\u70b9\\u8d5e\\u3002\\r\\n\\r\\n\",\"modify_time\":null,\"web_route\":\"\",\"answer\":null},\"game\":{\"id\":146589,\"status\":0,\"myshixun_id\":43748,\"user_id\":1,\"final_score\":0,\"challenge_id\":1765,\"identifier\":\"ts5ojbpz7unk\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":10,\"star\":0,\"modify_time\":null},\"shixun\":{\"id\":534,\"name\":\"JavaScript\\u5b66\\u4e60\\u624b\\u518c\\u4e00\\uff1aJS\\u7b80\\u4ecb\",\"gpid\":42001,\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"language\":\"JavaScript\",\"propaedeutics\":\"####JavaScript\\u7684\\u8d77\\u6e90\\r\\nJavaScript\\u8bde\\u751f\\u4e8e1995\\u5e74\\u3002\\u5728\\u90a3\\u4e2a\\u65f6\\u4ee3\\u7528\\u6237\\u63d0\\u4ea4\\u4e00\\u4e2a\\u8868\\u5355\\u9700\\u8981\\u83b7\\u53d6\\u670d\\u52a1\\u5668\\u7aef\\u7684\\u53cd\\u9988\\uff0c\\u8fd9\\u4e2a\\u65f6\\u95f4\\u5927\\u6982\\u5341\\u51e0\\u79d2\\uff0c\\u5982\\u679c\\u80fd\\u5728\\u5ba2\\u6237\\u7aef\\u5b8c\\u6210\\u4e00\\u4e9b\\u57fa\\u672c\\u7684\\u9a8c\\u8bc1\\u7edd\\u5bf9\\u662f\\u5f88\\u5927\\u7684\\u8fdb\\u6b65\\u3002\\u5f53\\u65f6\\u5982\\u65e5\\u4e2d\\u5929\\u7684Netscape\\u516c\\u53f8\\uff0c\\u51b3\\u5b9a\\u7740\\u624b\\u5f00\\u53d1\\u4e00\\u79cd\\u5ba2\\u6237\\u7aef\\u8bed\\u8a00\\u89e3\\u51b3\\u7b80\\u5355\\u7684\\u8868\\u5355\\u9a8c\\u8bc1\\u3002\\u5c31\\u804c\\u4e8eNetscape\\u516c\\u53f8\\u7684\\u5e03\\u5170\\u767b\\u00b7\\u827e\\u5947\\u5f00\\u59cb\\u7740\\u624b\\u8ba1\\u5212\\u5c061995\\u5e742\\u6708\\u53d1\\u5e03\\u7684LiveScript\\u540c\\u65f6\\u5728\\u6d4f\\u89c8\\u5668\\u548c\\u670d\\u52a1\\u5668\\u4e2d\\u4f7f\\u7528\\u3002Netscape\\u4e0eSun\\u516c\\u53f8\\u6210\\u7acb\\u4e86\\u4e00\\u4e2a\\u5f00\\u53d1\\u8054\\u76df\\u3002Sun\\u516c\\u53f8\\u6b63\\u662fJava\\u7684\\u62e5\\u6709\\u7740\\uff0c\\u800c\\u6b64\\u65f6\\uff0cNetscape\\u4e3a\\u4e86\\u642d\\u4e0a\\u5a92\\u4f53\\u70ed\\u7092Java\\u7684\\u987a\\u98ce\\u8f66\\uff0c\\u4e34\\u65f6\\u628aLiveScript\\u6539\\u540d\\u4e3aJavaScript\\uff0c\\u6240\\u4ee5\\u4ece\\u672c\\u8d28\\u4e0a\\u6765\\u8bf4JavaScript\\u548cJava\\u6ca1\\u4ec0\\u4e48\\u5173\\u7cfb\\u3002\\r\\n\\r\\n1997\\u5e74\\uff0c\\u4ee5JavaScript1.1\\u4e3a\\u84dd\\u672c\\u7684\\u5efa\\u8bae\\u88ab\\u63d0\\u4ea4\\u7ed9\\u4e86\\u6b27\\u6d32\\u8ba1\\u7b97\\u673a\\u5236\\u9020\\u5546\\u534f\\u4f1a\\uff08ECMA\\uff0cEuropean Computer Manufactures Association\\uff09\\uff0c\\u8be5\\u534f\\u4f1a\\u6307\\u5b9a39\\u53f7\\u6280\\u672f\\u59d4\\u5458\\u4f1a\\u8d1f\\u8d23\\u5c06\\u5176\\u8fdb\\u884c\\u6807\\u51c6\\u5316\\uff0cTC39\\u7ecf\\u8fc7\\u6570\\u6708\\u7684\\u52aa\\u529b\\u5b8c\\u6210\\u4e86ECMA-262\\u2014\\u2014\\u5b9a\\u4e49\\u4e86\\u4e00\\u79cd\\u540d\\u4e3aECMAScript\\u7684\\u65b0\\u811a\\u672c\\u8bed\\u8a00\\u7684\\u6807\\u51c6\\u3002\\r\\n \\r\\n\\u73b0\\u5728\\u5f00\\u53d1\\u4eba\\u5458\\u5e38\\u8bf4\\u7684JavaScript\\u5305\\u542b\\u4e09\\u4e2a\\u90e8\\u5206\\uff1aECMAScript\\u3001\\u6d4f\\u89c8\\u5668\\u5bf9\\u8c61\\u6a21\\u578b(BOM) \\u548c\\u6587\\u6863\\u5bf9\\u8c61\\u6a21\\u578b(DOM)\\u3002\\r\\n\\r\\n####JavaScript\\u80fd\\u7528\\u6765\\u5e72\\u4ec0\\u4e48\\r\\nJavaScript\\u4e3b\\u8981\\u7528\\u6765\\u505a\\u7f51\\u9875\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\uff0c\\u5c31\\u662f\\u5927\\u5bb6\\u80fd\\u770b\\u5230\\u7684\\u9875\\u9762\\u7684\\u5f00\\u53d1\\u3002\\u6bd4\\u5982\\u70b9\\u51fb\\u7f51\\u9875\\u4e0a\\u7684Button\\u5b9e\\u73b0\\u7684\\u5f88\\u591a\\u529f\\u80fd\\u3001\\u516c\\u53f8\\u4e3b\\u9875\\u7684\\u8f6e\\u64ad\\u56fe\\u3001\\u6ce8\\u518c\\u65f6\\u4e0a\\u4f20\\u5934\\u50cf\\u65f6\\u7684\\u526a\\u5207\\u7b49\\u7b49\\u4e30\\u5bcc\\u7684\\u9875\\u9762\\u3002\\r\\n\\u9664\\u6b64\\u4e4b\\u5916\\uff0cJavaScript\\u8fd8\\u6709\\u4e00\\u4e9b\\u4e0d\\u5e38\\u7528\\u7684\\u4f7f\\u7528\\u73af\\u5883\\uff0c\\u6bd4\\u5982\\u7528\\u6765\\u5f00\\u53d1\\u5c0f\\u6e38\\u620f\\uff0c\\u505a\\u7f51\\u7ad9\\u540e\\u53f0\\uff0c\\u5f53\\u7136\\u8fd9\\u4e9b\\u5f88\\u5c0f\\u4f17\\uff0c\\u4f5c\\u4e3a\\u4e00\\u4e2a\\u521d\\u5b66\\u8005\\uff0c\\u6211\\u4eec\\u5efa\\u8bae\\u5927\\u5bb6\\u8fd8\\u662f\\u5b66\\u597dJavaSciptt\\u7684\\u57fa\\u7840\\uff0c\\u591a\\u7528\\u5b83\\u6765\\u8fdb\\u884c\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\u3002\",\"status\":2,\"identifier\":\"8arufxzl\",\"test_set_permission\":true,\"webssh\":0,\"user_id\":30144,\"code_hidden\":false,\"task_pass\":false,\"exec_time\":120},\"record\":null,\"grade\":211720,\"prev_game\":\"fshy8ve9gzc6\",\"next_game\":null,\"username\":\"Coder\",\"image_url\":\"avatars/User/1\",\"user_url\":\"/users/innov\",\"praise_count\":0,\"user_praise\":false,\"time_limit\":120,\"tomcat_url\":\"http://117.50.21.112\",\"is_teacher\":true,\"power\":1,\"myshixun_manager\":true}\n// \tthis._handleResponseData(chooseData)\n// \tthis.setState({\n// \t\t...chooseData,\n// \t\tloading: false,\n// \t})\n// \treturn;\n// } \nthis.setState({loading:true,currentGamePassed:false// 切换game时重置passed字段\n});__WEBPACK_IMPORTED_MODULE_1_axios___default.a.get(url,{withCredentials:true}).then(function(response){console.log(response);// {\"status\":1,\"message\":\"Unauthorized. \\u7528\\u6237\\u8ba4\\u8bc1\\u5931\\u8d25.\"}\nif(response.data.status==-1){console.error('获取实训任务信息失败!');_this4.showSnackbar(response.data.message);return;}if(response.data.status==403){window.location.href='/myshixuns/forbidden';return;}if(response.data.status==404){window.location.href='/myshixuns/not_found';return;}_this4._handleResponseData(response.data);}).catch(function(error){console.log(error);});}},{key:'readGameAnswer',value:function readGameAnswer(resData){var game=this.state.game;// game.final_score = resData.final_score;\nthis.setState({game:__WEBPACK_IMPORTED_MODULE_4_immutability_helper___default()(game,{final_score:{$set:resData.final_score}}),grade:resData.grade});}},{key:'closeTaskResultLayer',value:function closeTaskResultLayer(){this.setState({currentGamePassed:false});}},{key:'onRunChooseTestFinish',value:function onRunChooseTestFinish(response){var test_sets=response.test_sets,challenge_chooses_count=response.challenge_chooses_count,choose_correct_num=response.choose_correct_num,grade=response.grade,experience=response.experience,gold=response.gold,had_submmit=response.had_submmit,next_game=response.next_game;var game=this.state.game;var currentGamePassed=false;if(challenge_chooses_count===choose_correct_num){game.status=2;// 2表示评测通过\ngame.next_game=next_game;currentGamePassed=true;this._updateCostTime(true,true);}this.setState({choose_test_cases:response,grade:grade,game:game,next_game:next_game,currentGamePassed:currentGamePassed,currentPassedGameGainGold:gold,currentPassedGameGainExperience:experience});}},{key:'language_display',value:function language_display(data){var _state3=this.state,game=_state3.game,tomcat_url=_state3.tomcat_url;var $=window.$;var challenge=Object.assign({},this.state.challenge);if(challenge.isWeb&&data.port!=-1){// var $result = $(\"#php_display\");\nchallenge.showWebDisplayButton=true;// ActionView处是否出现查看效果按钮\nvar path=challenge.web_route||challenge.path;var webDisplayUrl=tomcat_url+':'+data.port+'/'+path;challenge.webDisplayUrl=webDisplayUrl;challenge.showLanguagePictrue=true;// 评测通过弹出层是否出现查看效果按钮\n}else if(challenge.isAndroid&&data.picture!=0){// https://www.educoder.net/shixuns/qrcode?game_id=218589&_=1525571882782\n$.ajax({url:'/shixuns/qrcode?game_id='+game.id,dataType:'script'});challenge.showLanguagePictrue=true;}else if(data.picture!=0){// 对应服务端erb文件为 _picture_display.html.erb\n$.ajax({url:\"/users/picture_show?game_id=\"+data.picture,cache:false,dataType:'script'});challenge.showLanguagePictrue=true;}this.setState({challenge:challenge});}},{key:'onRunCodeTestFinish',value:function onRunCodeTestFinish(response){console.log('onRunCodeTestFinish',response);var test_sets=response.test_sets,test_sets_count=response.test_sets_count,test_sets_hidden_count=response.test_sets_hidden_count,test_sets_public_count=response.test_sets_public_count,had_test_count=response.had_test_count,had_passed_testsests_error_count=response.had_passed_testsests_error_count,had_passed_testsests_hidden_count=response.had_passed_testsests_hidden_count,had_passed_testsests_public_count=response.had_passed_testsests_public_count,final_score=response.final_score,gold=response.gold,experience=response.experience,latest_output=response.latest_output,status=response.status,had_done=response.had_done,score=response.score,tag_count=response.tag_count,power=response.power,record=response.record,next_game=response.next_game,grade=response.grade,picture=response.picture;var game=this.state.game;var currentGamePassed=this.props.game!==2&&status===2;currentGamePassed&&this.language_display(response);// 评测通过了,立即同步costTime\ncurrentGamePassed&&this._updateCostTime(true,true);if(currentGamePassed){game.status=2;game.next_game=next_game;}var output_sets={\"test_sets\":test_sets,\"had_test_count\":had_test_count,\"test_sets_count\":test_sets_count,\"had_passed_testsests_error_count\":had_passed_testsests_error_count,\"test_sets_hidden_count\":test_sets_hidden_count,\"test_sets_public_count\":test_sets_public_count,\"had_passed_testsests_hidden_count\":had_passed_testsests_hidden_count,\"had_passed_testsests_public_count\":had_passed_testsests_public_count};if(output_sets&&output_sets.test_sets){var test_sets_array=JSON.parse(\"[\"+output_sets.test_sets+\"]\");output_sets.test_sets_array=test_sets_array;}this.setState({testSetsExpandedArray:testSetsExpandedArrayInitVal.slice(0),// 重置测试集展开状态\ncurrentGamePassed:currentGamePassed,currentPassedGameGainGold:gold,currentPassedGameGainExperience:experience,output_sets:output_sets,game:game,next_game:next_game,latest_output:latest_output,record:record,grade:grade,had_done:had_done});}},{key:'testSetUnlock',value:function testSetUnlock(){var _this5=this;var game=this.state.game;var url='/api/v1/games/'+game.identifier+'/check_test_sets';__WEBPACK_IMPORTED_MODULE_1_axios___default.a.get(url,{withCredentials:true}).then(function(response){console.log(response);// TODO status -2 重复操作,直接解锁\nif(response.data.test_sets==-1){console.error('testSetUnlock失败!');_this5.showSnackbar(response.data.message);return;}else{// 被扣除的金币,是负数\nvar deltaScore=response.data.score;// output_sets\nvar output_sets=_this5.state.output_sets;output_sets=Object.assign({},output_sets);var test_sets_array=JSON.parse(\"[\"+response.data.test_sets+\"]\");output_sets.test_sets_array=test_sets_array;_this5.setState({output_sets:output_sets,grade:_this5.state.grade+deltaScore,game:__WEBPACK_IMPORTED_MODULE_4_immutability_helper___default()(game,{test_sets_view:{$set:true}}),testSetsExpandedArray:testSetsExpandedArrayInitVal.slice(0)});_this5.handleGdialogClose();}}).catch(function(error){console.log(error);});}},{key:'handleSnackbarClose',value:function handleSnackbarClose(){this.setState({snackbarOpen:false,snackbarVertical:'',snackbarHorizontal:''});}// 全局的snackbar this.props.showSnackbar调用即可\n},{key:'showSnackbar',value:function showSnackbar(text,vertical,horizontal){this.setState({snackbarOpen:true,snackbarText:text,snackbarVertical:vertical,snackbarHorizontal:horizontal});}/* \r\n TODO 写成HOC组件,更好复用\r\n\t\t全局的Dialog this.props.showDialog调用即可\r\n\t\t@param contentText dialog显示的提示文本 \r\n\t\t@param callback \t确定按钮回调方法\r\n\t\t@param moreButtonsRender 除了“确定”、“取消”按钮外的其他按钮\r\n\t\t@param okButtonText “确定”按钮显示文本,如 继续查看\r\n\t*/},{key:'showDialog',value:function showDialog(params){var contentText=params.contentText,callback=params.callback,moreButtonsRender=params.moreButtonsRender,okButtonText=params.okButtonText;this.dialogOkCallback=callback;this.moreButtonsRender=moreButtonsRender;this.okButtonText=okButtonText;this.setState({gDialogOpen:true,gDialogContentText:contentText});}},{key:'onGdialogOkBtnClick',value:function onGdialogOkBtnClick(){this.dialogOkCallback&&this.dialogOkCallback();// this.setState({\n// \tgDialogOpen: true\n// })\n}},{key:'handleGdialogClose',value:function handleGdialogClose(){this.setState({gDialogOpen:false});}},{key:'render',value:function render(){var _this6=this;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__TPIContext__[\"a\" /* default */].Provider,{value:Object.assign({},this.state,{onRunCodeTestFinish:this.onRunCodeTestFinish,onRunChooseTestFinish:this.onRunChooseTestFinish,testSetUnlock:this.testSetUnlock,onTestSetHeaderClick:this.onTestSetHeaderClick,readGameAnswer:this.readGameAnswer,onShowPrevStage:this.onShowPrevStage,onShowNextStage:this.onShowNextStage,praisePlus:this.praisePlus,onGamePassed:this.onGamePassed,closeTaskResultLayer:function closeTaskResultLayer(){return _this6.closeTaskResultLayer();},onPathChange:this.onPathChange,updateChallengePath:this.updateChallengePath,showSnackbar:this.showSnackbar,showDialog:this.showDialog,handleGdialogClose:function handleGdialogClose(){return _this6.handleGdialogClose();},onShowUpdateDialog:this.onShowUpdateDialog,updateDialogClose:this.updateDialogClose,match:this.props.match})},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog___default.a,{open:this.state.gDialogOpen,onClose:function onClose(){return _this6.handleGdialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},this.state.gDialogContentText)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Button___default.a,{onClick:function onClick(){return _this6.handleGdialogClose();},color:'primary'},'\\u5173\\u95ED'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this6.onGdialogOkBtnClick();},color:'primary',autoFocus:true},this.okButtonText?this.okButtonText:'确定'),this.moreButtonsRender&&this.moreButtonsRender())),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Snackbar___default.a,{className:\"rootSnackbar\",open:this.state.snackbarOpen,autoHideDuration:3000,anchorOrigin:{vertical:this.state.snackbarVertical||'top',horizontal:this.state.snackbarHorizontal||'center'},onClose:function onClose(){return _this6.handleSnackbarClose();},transition:__WEBPACK_IMPORTED_MODULE_3_material_ui_transitions_Fade___default.a,SnackbarContentProps:{'aria-describedby':'message-id'},resumeHideDuration:2000,message:__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'message-id'},this.state.snackbarText)}),this.props.children);}}]);return TPIContextProvider;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (TPIContextProvider);\n\n/***/ }),\n/* 577 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__context_TPIContext__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context_TPIContextProvider__ = __webpack_require__(576);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Index_js__ = __webpack_require__(391);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = (0, _DOMUtils.supportsHistory)();\n var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + (0, _PathUtils.createPath)(location);\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createBrowserHistory;\n\n/***/ }),\n/* 579 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n/***/ }),\n/* 580 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ECModalHOC;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd__ = __webpack_require__(72);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};return function wrap(WrappedComponent){return function(_Component){_inherits(Wrapper,_Component);function Wrapper(props){_classCallCheck(this,Wrapper);var _this=_possibleConstructorReturn(this,(Wrapper.__proto__||Object.getPrototypeOf(Wrapper)).call(this,props));_this.showModal=function(title,content,okCallback){_this.okCallback=okCallback;_this.setState({titlemessage:title,Modallist:content,Modallisttype:true,singleButton:false});};_this.showSingleButtonModal=function(title,content){_this.setState({titlemessage:title,Modallist:content,Modallisttype:true,singleButton:true});};_this.onCancel=function(){_this.setState({Modallisttype:false});};_this.hidemodeldelete=function(){if(_this.okCallback){_this.okCallback();}_this.onCancel();};_this.state={titlemessage:'',Modallist:false,Modallisttype:false,singleButton:false};return _this;}// 全局的modal this.props.showModal 调用即可\n_createClass(Wrapper,[{key:'render',value:function render(){var _state=this.state,titlemessage=_state.titlemessage,Modallisttype=_state.Modallisttype,Modallist=_state.Modallist,singleButton=_state.singleButton;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd__[\"n\" /* Modal */],{title:titlemessage// visible={modeldelet===true&&listid===list.id?true:false}\n,visible:Modallisttype,className:\"ecmodeldelet\",closable:false,footer:null},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-content'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-text-center font-14'},Modallist)),singleButton?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-submit clearfix',style:{textAlign:'center'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'task-btn task-btn-orange',onClick:this.onCancel},'\\u77E5\\u9053\\u5566')):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-submit clearfix'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{onClick:this.onCancel,className:'task-btn fl'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'task-btn task-btn-orange fr',onClick:this.hidemodeldelete},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent,Object.assign({},this.props,{showModal:this.showModal,showSingleButtonModal:this.showSingleButtonModal})));}}]);return Wrapper;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);};}\n\n/***/ }),\n/* 581 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_educoder__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd__ = __webpack_require__(72);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i').attr('href',_url_origin+'/stylesheets/css/common.css?1525440977'));window['EcLoaded']=true;}var id=0;/**\r\n target_id\r\n position \r\n target_weight\r\n target_contents\r\n\r\n subitem_id\r\n index\r\n subitem_contents\r\n\r\n*/var data=[{\"position\":0,\"target_weight\":0.02,\"target_contents\":\"12\",\"standard_grade\":2,\"subitem_id\":\"65\"},{\"position\":3,\"target_id\":\"0\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":60,\"subitem_id\":\"66\"},{\"position\":4,\"target_weight\":1,\"target_contents\":\"22\",\"standard_grade\":33,\"subitem_id\":\"66\"},{\"position\":11,\"target_id\":\"1\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":61,\"subitem_id\":\"65\"}];var _data=[{target_id:0,position:1,target_weight:0.1,target_contents:'理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',standard_grade:60,// biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\n\"subitem_id\":64,\"index\":\"1-1\",\"subitem_contents\":\"能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"},{target_id:1,position:2,target_weight:0.1,target_contents:'理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',standard_grade:61,// biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\n\"subitem_id\":65,\"index\":\"1-2\",\"subitem_contents\":\"222能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"}];var item={};var EditableCourseSupportSetting=function(_Component){_inherits(EditableCourseSupportSetting,_Component);function EditableCourseSupportSetting(props){_classCallCheck(this,EditableCourseSupportSetting);var _this=_possibleConstructorReturn(this,(EditableCourseSupportSetting.__proto__||Object.getPrototypeOf(EditableCourseSupportSetting)).call(this,props));_this.onRemove=function(k){var fValues=_this.props.form.getFieldsValue();if(// fValues.standard_grade[k] && fValues.standard_grade[k] != 75\n// || fValues.subitem_id[k] \n// || \nfValues.target_contents[k]// || fValues.target_weight[k] \n){_this.props.showModal('提示','确定要删除吗?',function(){_this.remove(k);});}else{_this.remove(k);}};_this.remove=function(k){var form=_this.props.form;// can use data-binding to get\nvar keys=form.getFieldValue('keys');// We need at least one passenger\n// if (keys.length === 1) {\n// return;\n// }\nif(keys.length===1){_this.setState({errorMsg:'至少得保留一条数据'});return;}// 清除悬浮tip\nwindow.$('.data-tip-down').hide();console.log('remove :',k,_this.position2Target_idMap[k]);delete _this.position2Target_idMap[k];// can use data-binding to set\nform.setFieldsValue({keys:keys.filter(function(key){return key!==k;})});};_this._reverseMap=function(map){var newMap={};for(var k in map){newMap[map[k]]=k;}return newMap;};_this.addIfNewKeyExist=function(newKey,index_arg){_this.setState({addOrDeleting:true});var form=_this.props.form;var keys=form.getFieldValue('keys');/**\r\n [0,1,2,3]\r\n ['11', '22', '33', '44']\r\n ->\r\n [0,1,2,3,4]\r\n ['11', '22', empty, '33', '44']\r\n\r\n */var target_weight=form.getFieldValue('target_weight');var target_contents=form.getFieldValue('target_contents');var standard_grade=form.getFieldValue('standard_grade');var subitem_id=form.getFieldValue('subitem_id');keys.splice(index_arg,0,newKey);// position2Target_idMap \n// {1:2, 2:3, 3:4, 4:6 } --> {1:2, 2:3, 3:7, 4:4, 5:6 }\n// 更新key/position 映射到target_id的map\n// 两次revers,用这个结构,达到给position加1的效果\nvar reverseMap=_this._reverseMap(_this.position2Target_idMap);for(var i=index_arg;i state.\n * Instead it \"reduces\" actions into URL query parameter state. NOT redux state.\n */\nfunction urlQueryReducer(action, location) {\n var updateType = action && action.meta && action.meta.updateType;\n\n switch (updateType) {\n case _UrlUpdateTypes2.default.replaceIn:\n return (0, _updateUrlQueryFromAction.replaceInUrlQueryFromAction)(action, location);\n case _UrlUpdateTypes2.default.replace:\n return (0, _updateUrlQueryFromAction.replaceUrlQueryFromAction)(action, location);\n case _UrlUpdateTypes2.default.pushIn:\n return (0, _updateUrlQueryFromAction.pushInUrlQueryFromAction)(action, location);\n case _UrlUpdateTypes2.default.push:\n return (0, _updateUrlQueryFromAction.pushUrlQueryFromAction)(action, location);\n default:\n break;\n }\n\n if (false) {\n console.warn('urlQueryReducer encountered unhandled action.meta.updateType ' + updateType + '.', // eslint-disable-line no-console\n 'action =', action);\n }\n\n return undefined;\n}\n\n/***/ }),\n/* 587 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return subscriptionShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return storeShape; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n\n\nvar subscriptionShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({\n trySubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n tryUnsubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n notifyNestedSubs: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n isSubscribed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired\n});\n\nvar storeShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({\n subscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n dispatch: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n getState: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired\n});\n\n/***/ }),\n/* 588 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = connectAdvanced;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__ = __webpack_require__(1644);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__ = __webpack_require__(587);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\n\n\n\n\nvar hotReloadingVersion = 0;\nvar dummyState = {};\nfunction noop() {}\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n\n return selector;\n}\n\nfunction connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory) {\n var _contextTypes, _childContextTypes;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$getDisplayName = _ref.getDisplayName,\n getDisplayName = _ref$getDisplayName === undefined ? function (name) {\n return 'ConnectAdvanced(' + name + ')';\n } : _ref$getDisplayName,\n _ref$methodName = _ref.methodName,\n methodName = _ref$methodName === undefined ? 'connectAdvanced' : _ref$methodName,\n _ref$renderCountProp = _ref.renderCountProp,\n renderCountProp = _ref$renderCountProp === undefined ? undefined : _ref$renderCountProp,\n _ref$shouldHandleStat = _ref.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref$shouldHandleStat === undefined ? true : _ref$shouldHandleStat,\n _ref$storeKey = _ref.storeKey,\n storeKey = _ref$storeKey === undefined ? 'store' : _ref$storeKey,\n _ref$withRef = _ref.withRef,\n withRef = _ref$withRef === undefined ? false : _ref$withRef,\n connectOptions = _objectWithoutProperties(_ref, ['getDisplayName', 'methodName', 'renderCountProp', 'shouldHandleStateChanges', 'storeKey', 'withRef']);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__[\"a\" /* storeShape */], _contextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__[\"b\" /* subscriptionShape */], _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__[\"b\" /* subscriptionShape */], _childContextTypes);\n\n return function wrapWithConnect(WrappedComponent) {\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(typeof WrappedComponent == 'function', 'You must pass a component to the function returned by ' + (methodName + '. Instead received ' + JSON.stringify(WrappedComponent)));\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a , ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }\n\n Connect.prototype.getChildContext = function getChildContext() {\n var _ref2;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref2 = {}, _ref2[subscriptionKey] = subscription || this.context[subscriptionKey], _ref2;\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return;\n\n // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(withRef, 'To access the wrapped instance, you need to specify ' + ('{ withRef: true } in the options argument of the ' + methodName + '() call.'));\n return this.wrappedInstance;\n };\n\n Connect.prototype.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n Connect.prototype.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n Connect.prototype.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return;\n\n // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__[\"a\" /* default */](this.store, parentSub, this.onStateChange.bind(this));\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n Connect.prototype.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n Connect.prototype.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n Connect.prototype.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props;\n // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n var withExtras = _extends({}, props);\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n Connect.prototype.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return Object(__WEBPACK_IMPORTED_MODULE_2_react__[\"createElement\"])(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(__WEBPACK_IMPORTED_MODULE_2_react__[\"Component\"]);\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (false) {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector();\n\n // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n this.initSubscription();\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default()(Connect, WrappedComponent);\n };\n}\n\n/***/ }),\n/* 589 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = wrapMapToPropsConstant;\n/* unused harmony export getDependsOnOwnProps */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = wrapMapToPropsFunc;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__ = __webpack_require__(590);\n\n\nfunction wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n}\n\n// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n}\n\n// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n };\n\n // allow detectFactoryAndVerify to get ownProps\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (false) verifyPlainObject(props, displayName, methodName);\n\n return props;\n };\n\n return proxy;\n };\n}\n\n/***/ }),\n/* 590 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(1648);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warning__ = __webpack_require__(314);\n\n\n\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__[\"a\" /* default */])(value)) {\n Object(__WEBPACK_IMPORTED_MODULE_1__warning__[\"a\" /* default */])(methodName + '() in ' + displayName + ' must return a plain object. Instead received ' + value + '.');\n }\n}\n\n/***/ }),\n/* 591 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root_js__ = __webpack_require__(1650);\n\n\n/** Built-in value references. */\nvar Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__[\"a\" /* default */].Symbol;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Symbol);\n\n\n/***/ }),\n/* 592 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.__RewireAPI__ = exports.__ResetDependency__ = exports.__set__ = exports.__Rewire__ = exports.__GetDependency__ = exports.__get__ = exports.createMatchSelector = exports.getAction = exports.getLocation = exports.routerMiddleware = exports.connectRouter = exports.ConnectedRouter = exports.routerActions = exports.goForward = exports.goBack = exports.go = exports.replace = exports.push = exports.CALL_HISTORY_METHOD = exports.LOCATION_CHANGE = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createAll = __webpack_require__(1664);\n\nvar _createAll2 = _interopRequireDefault(_createAll);\n\nvar _plain = __webpack_require__(1669);\n\nvar _plain2 = _interopRequireDefault(_plain);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _get__2 = _get__('createAll')(_get__('plainStructure'));\n\nvar LOCATION_CHANGE = _get__2.LOCATION_CHANGE,\n CALL_HISTORY_METHOD = _get__2.CALL_HISTORY_METHOD,\n push = _get__2.push,\n replace = _get__2.replace,\n go = _get__2.go,\n goBack = _get__2.goBack,\n goForward = _get__2.goForward,\n routerActions = _get__2.routerActions,\n ConnectedRouter = _get__2.ConnectedRouter,\n connectRouter = _get__2.connectRouter,\n routerMiddleware = _get__2.routerMiddleware,\n getLocation = _get__2.getLocation,\n getAction = _get__2.getAction,\n createMatchSelector = _get__2.createMatchSelector;\nexports.LOCATION_CHANGE = LOCATION_CHANGE;\nexports.CALL_HISTORY_METHOD = CALL_HISTORY_METHOD;\nexports.push = push;\nexports.replace = replace;\nexports.go = go;\nexports.goBack = goBack;\nexports.goForward = goForward;\nexports.routerActions = routerActions;\nexports.ConnectedRouter = ConnectedRouter;\nexports.connectRouter = connectRouter;\nexports.routerMiddleware = routerMiddleware;\nexports.getLocation = getLocation;\nexports.getAction = getAction;\nexports.createMatchSelector = createMatchSelector;\n\nfunction _getGlobalObject() {\n try {\n if (!!global) {\n return global;\n }\n } catch (e) {\n try {\n if (!!window) {\n return window;\n }\n } catch (e) {\n return this;\n }\n }\n}\n\n;\nvar _RewireModuleId__ = null;\n\nfunction _getRewireModuleId__() {\n if (_RewireModuleId__ === null) {\n var globalVariable = _getGlobalObject();\n\n if (!globalVariable.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__) {\n globalVariable.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__ = 0;\n }\n\n _RewireModuleId__ = __$$GLOBAL_REWIRE_NEXT_MODULE_ID__++;\n }\n\n return _RewireModuleId__;\n}\n\nfunction _getRewireRegistry__() {\n var theGlobalVariable = _getGlobalObject();\n\n if (!theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__) {\n theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__ = Object.create(null);\n }\n\n return __$$GLOBAL_REWIRE_REGISTRY__;\n}\n\nfunction _getRewiredData__() {\n var moduleId = _getRewireModuleId__();\n\n var registry = _getRewireRegistry__();\n\n var rewireData = registry[moduleId];\n\n if (!rewireData) {\n registry[moduleId] = Object.create(null);\n rewireData = registry[moduleId];\n }\n\n return rewireData;\n}\n\n(function registerResetAll() {\n var theGlobalVariable = _getGlobalObject();\n\n if (!theGlobalVariable['__rewire_reset_all__']) {\n theGlobalVariable['__rewire_reset_all__'] = function () {\n theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__ = Object.create(null);\n };\n }\n})();\n\nvar INTENTIONAL_UNDEFINED = '__INTENTIONAL_UNDEFINED__';\nvar _RewireAPI__ = {};\n\n(function () {\n function addPropertyToAPIObject(name, value) {\n Object.defineProperty(_RewireAPI__, name, {\n value: value,\n enumerable: false,\n configurable: true\n });\n }\n\n addPropertyToAPIObject('__get__', _get__);\n addPropertyToAPIObject('__GetDependency__', _get__);\n addPropertyToAPIObject('__Rewire__', _set__);\n addPropertyToAPIObject('__set__', _set__);\n addPropertyToAPIObject('__reset__', _reset__);\n addPropertyToAPIObject('__ResetDependency__', _reset__);\n addPropertyToAPIObject('__with__', _with__);\n})();\n\nfunction _get__(variableName) {\n var rewireData = _getRewiredData__();\n\n if (rewireData[variableName] === undefined) {\n return _get_original__(variableName);\n } else {\n var value = rewireData[variableName];\n\n if (value === INTENTIONAL_UNDEFINED) {\n return undefined;\n } else {\n return value;\n }\n }\n}\n\nfunction _get_original__(variableName) {\n switch (variableName) {\n case 'createAll':\n return _createAll2.default;\n\n case 'plainStructure':\n return _plain2.default;\n }\n\n return undefined;\n}\n\nfunction _assign__(variableName, value) {\n var rewireData = _getRewiredData__();\n\n if (rewireData[variableName] === undefined) {\n return _set_original__(variableName, value);\n } else {\n return rewireData[variableName] = value;\n }\n}\n\nfunction _set_original__(variableName, _value) {\n switch (variableName) {}\n\n return undefined;\n}\n\nfunction _update_operation__(operation, variableName, prefix) {\n var oldValue = _get__(variableName);\n\n var newValue = operation === '++' ? oldValue + 1 : oldValue - 1;\n\n _assign__(variableName, newValue);\n\n return prefix ? newValue : oldValue;\n}\n\nfunction _set__(variableName, value) {\n var rewireData = _getRewiredData__();\n\n if ((typeof variableName === 'undefined' ? 'undefined' : _typeof(variableName)) === 'object') {\n Object.keys(variableName).forEach(function (name) {\n rewireData[name] = variableName[name];\n });\n } else {\n if (value === undefined) {\n rewireData[variableName] = INTENTIONAL_UNDEFINED;\n } else {\n rewireData[variableName] = value;\n }\n\n return function () {\n _reset__(variableName);\n };\n }\n}\n\nfunction _reset__(variableName) {\n var rewireData = _getRewiredData__();\n\n delete rewireData[variableName];\n\n if (Object.keys(rewireData).length == 0) {\n delete _getRewireRegistry__()[_getRewireModuleId__];\n }\n\n ;\n}\n\nfunction _with__(object) {\n var rewireData = _getRewiredData__();\n\n var rewiredVariableNames = Object.keys(object);\n var previousValues = {};\n\n function reset() {\n rewiredVariableNames.forEach(function (variableName) {\n rewireData[variableName] = previousValues[variableName];\n });\n }\n\n return function (callback) {\n rewiredVariableNames.forEach(function (variableName) {\n previousValues[variableName] = rewireData[variableName];\n rewireData[variableName] = object[variableName];\n });\n var result = callback();\n\n if (!!result && typeof result.then == 'function') {\n result.then(reset).catch(reset);\n } else {\n reset();\n }\n\n return result;\n };\n}\n\nexports.__get__ = _get__;\nexports.__GetDependency__ = _get__;\nexports.__Rewire__ = _set__;\nexports.__set__ = _set__;\nexports.__ResetDependency__ = _reset__;\nexports.__RewireAPI__ = _RewireAPI__;\nexports.default = _RewireAPI__;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 593 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 594 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(81);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i -> style={{ margin:\"0px\" }}>\r\n\tmargin-top -> marginTop\r\n\tonclick -> onClick 驼峰\r\n\t\r\n\t-------------------------- 模板语法相关\r\n\t页面都在前端组装、渲染\r\n\t\trails模板的 if等逻辑改成js实现\r\n\t\t客户端需要能判断 User.current.manager_of_shixun?(comment.dis_id)\r\n\t\r\n\t-------------------------- 现有ui控件的使用方式\r\n\t方案1: 换成对应的react组件,然后再调用(控件简单时推荐)\r\n\t方案2: 在react环境中使用若干jquery插件(控件复杂,又无react环境下的替代方案时考虑使用)\r\n\t\r\n\t-------------------------- \r\n\t需要服务端提供对应的rest api\r\n\t\r\n\r\n*/var _origin=window.location.origin;/*\r\n\t用到的props: \r\n\t\tuser user_url image_url\r\n\t\t\r\n\t\tloadingComments--\r\n\t\tcomment_count_without_reply\t\r\n\t\tcurrentPage\r\n\t\tcomments\r\n\t\t\r\n\t\t接口\r\n\t\tdeleteComment\t\t\t删除\r\n\t\tonPaginationChange 翻页变化\r\n\t\tcommentPraise\t\t\t点赞\r\n\t\thiddenComment\t\t\t隐藏\r\n\t\trewardCode\t\t\t\t奖励\r\n\r\n*/var Comments=function(_Component){_inherits(Comments,_Component);function Comments(props){_classCallCheck(this,Comments);var _this=_possibleConstructorReturn(this,(Comments.__proto__||Object.getPrototypeOf(Comments)).call(this,props));_this.parseCommentContent=function(oldContent){// startsWith IE11报错 edu_application.js有pollify\nif(oldContent&&oldContent.startsWith('<')&&oldContent.endsWith('>')){// 如果是html\n// if (oldContent && /<[a-z][\\s\\S]*>/i.test(oldContent)) {\t// 如果是html\n}else if(window.$('#md_div').length){// 有这个临时处理md内容的dom\nwindow.$('#md_div').html('');// markdown to html\nvar markdwonParser=window.editormd.markdownToHTML(\"md_div\",{markdown:oldContent,emoji:true,htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,tex:true,// 默认不解析\nflowChart:true,// 默认不解析\nsequenceDiagram:true// 默认不解析\n});oldContent=window.$('#md_div').html();}return oldContent;};_this.handleDialogClose=_this.handleDialogClose.bind(_this);_this.handleGoldRewardDialogClose=_this.handleGoldRewardDialogClose.bind(_this);_this.state={dialogOpen:false,goldRewardDialogOpen:false,goldRewardInput:'',showReplyEditorFlag:false,// false->true or true->false时切换editor显示或隐藏\ncurrentReplyComment:null};return _this;}_createClass(Comments,[{key:'componentWillUnmount',value:function componentWillUnmount(){var $=window.$;$(document).off(\"onReply\");}},{key:'componentDidMount',value:function componentDidMount(){var _this2=this;setTimeout(function(){var $=window.$;// 绑定后会自动off? 加timeout试试\n$(document).on(\"onReply\",function(e,args){var commentContent=args.commentContent,id=args.id,editor=args.editor;_this2.props.replyComment(commentContent,id,editor);});},1000);}},{key:'initReply',value:function initReply(comment){// 如果配置的使用kindEditor\nif(window.__useKindEditor===true){var user=this.props.user;console.log('initReply ',comment);var $=window.$;var id=comment.id;var reply_message_el='#reply_message_'+id;var reply_iconup_el='#reply_iconup_'+id;if($(reply_message_el).html()==\"\"){$(\".reply_to_message\").html(\"\");$(reply_message_el).html('
\\n
\"0?1442652658\"
\\n
\\n
\\n
\\n \\n
\\n \\n \\u53D1\\u9001\\n
\\n

\\n
\\n
\\n
\\n
\\n
\\n');//\" ide语法识别\n$(reply_iconup_el).show();$(function(){window.sd_create_editor_from_data(id,null,\"100%\",\"Discuss\");});}else{if($(reply_message_el).is(':visible')){$(reply_message_el).hide();}else{$(reply_message_el).show();}// $(reply_message_el).html(\"\");\n// $(reply_iconup_el).hide();\n}}else{// MD\nthis.setState({currentReplyComment:comment,showReplyEditorFlag:!this.state.showReplyEditorFlag});}}},{key:'renderChildenComments',value:function renderChildenComments(comment){var _this3=this;if(!comment.children||comment.children.length===0){return'';}var user=this.props.user;var childCommentsElement=comment.children.map(function(item,index){var _content=_this3.parseCommentContent(item.content);return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{key:index,className:'childComment'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Info clearfix mt3'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'t_info fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:_origin+'/users/'+item.user_login,className:'content-username hide fl'},item.username),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'t_area fl'},item.time),item.reward?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:'\\u5DF2\\u5956\\u52B1\\u91D1\\u5E01'+item.reward,disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',style:{marginLeft:'20px',cursor:'default'},className:'rewarded color-grey-8 font-12 fl '+(item.admin===true?'':'normalUser')},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-gift mr5 color-orange fl',style:{display:'inline'}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},item.reward))):''),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'fr mr10 orig_reply lineh-20'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'hidden_discuss_btn_952'}),comment.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this3.showGoldRewardDialog(comment,item);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"给TA奖励金币\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-jiangli fl'}))):\"\",comment.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:item.hidden?\"取消隐藏\":\"隐藏评论\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this3.onCommentBtnClick(comment,item,item.hidden?'hiddenCancel':'hidden');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{style:{display:'inline'},className:(item.hidden?'iconfont icon-yincangbiyan':'fa fa-eye')+' mr5'}))):\"\",comment.admin===true||item.can_delete||item.user_id===user.user_id?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"删除\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',id:'delete_reply_118_952',onClick:function onClick(){return _this3.onCommentBtnClick(comment,item,'delete');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-shanchu mr5'}))):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_content clearfix',id:'reply_content_'+item.id},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'color-grey-3 break_word_comments',id:'reply_content_'+item.id},item.hidden&&comment.admin===false&&comment.manager===false?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange font-16'},'\\u8FDD\\u89C4\\u8BC4\\u8BBA\\u5DF2\\u88AB\\u5C4F\\u853D\\uFF01'):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{dangerouslySetInnerHTML:{__html:_content}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}))));});return childCommentsElement;}},{key:'renderComments',value:function renderComments(){var _this4=this;var _props=this.props,comments=_props.comments,currentUser=_props.currentUser,deleteComment=_props.deleteComment,commentPraise=_props.commentPraise,hiddenComment=_props.hiddenComment,user=_props.user;var _state=this.state,showReplyEditorFlag=_state.showReplyEditorFlag,currentReplyComment=_state.currentReplyComment;if(!comments||comments.length===0){return;}// \"https://www.educoder.net/users/m02945638\"\nvar commentsElement=comments.map(function(item,index){var _content=_this4.parseCommentContent(item.content);return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_item_cont df clearfix',key:index},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Face fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:_origin+'/users/'+item.user_login,target:'_blank'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('img',{alt:'\\u7528\\u6237\\u5934\\u50CF',height:'50',src:_origin+'/images/'+item.image_url,width:'50'}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'t_content fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Reply'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_orig_content',style:{margin:\"0px\"}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Info clearfix mt3'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'t_info fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:_origin+'/users/'+item.user_login,className:'content-username hide fl'},item.username),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'t_area fl'},item.time),item.position&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl color-light-green font-14 ml15'},'[\\u7B2C',item.position,'\\u5173]'),item.reward?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:'\\u5DF2\\u5956\\u52B1\\u91D1\\u5E01'+item.reward,disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',style:{marginLeft:'20px',cursor:'default'},className:'rewarded color-grey-8 font-12 fl '+(item.admin===true?'':'normalUser')},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-gift mr5 color-orange fl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},item.reward))):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_content clearfix',id:'reply_content_'+item.id},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'color-grey-3 break_word_comments',id:'reply_content_'+item.id},item.hidden&&item.admin===false&&item.manager===false?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange font-16'},'\\u8FDD\\u89C4\\u8BC4\\u8BBA\\u5DF2\\u88AB\\u5C4F\\u853D\\uFF01'):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{dangerouslySetInnerHTML:{__html:_content}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'childrenCommentsView'},item&&item.children&&item.children.length?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'trangle'}):'',_this4.renderChildenComments(item)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'fr orig_reply'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'hidden_discuss_btn_952'}),item.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this4.showGoldRewardDialog(item);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"给TA奖励金币\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-jiangli mr5 fl'}))):\"\",item.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:item.hidden?\"取消隐藏\":\"隐藏评论\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8 fl mt2',onClick:function onClick(){return _this4.onCommentBtnClick(item,'',item.hidden?'hiddenCancel':'hidden');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:' '+(item.hidden?'iconfont icon-yincangbiyan':'fa fa-eye')+' mr5'}))):\"\",item.admin&&(!item.children||item.children.length===0)?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"删除\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this4.onCommentBtnClick(item,'','delete');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-shanchu mr5'}))):'',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"回复\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'color-grey-8',onClick:function onClick(){return _this4.initReply(item);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-huifu1 mr5'}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'reply_praise_count_952'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:item.user_praise?\"取消点赞\":\"点赞\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'fr mr5 '+(item.user_praise?'color-orange03':'color-grey-8'),onClick:function onClick(){return commentPraise(item.id);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:item.user_praise?\"iconfont icon-dianzan mr5\":\"iconfont icon-dianzan-xian mr5\"}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fr font-14'},item.praise_count?item.praise_count:''))))),window.__useKindEditor?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__CommentItemKEEditor__[\"a\" /* default */],{showReplyEditorFlag:showReplyEditorFlag,currentReplyComment:currentReplyComment,item:item,user:user}):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__CommentItemMDEditor__[\"a\" /* default */],{showReplyEditorFlag:showReplyEditorFlag,currentReplyComment:currentReplyComment,item:item,user:user})))));});/*\r\n\t\t\t/users/reply_to?reply_id=${item.id}&type=Challenge&user_activity_id=118\r\n\t\t*//*\t\r\n\t\t\tonclick=\"delete_confirm_box_2('<%= discuss_path(comment, :challenge_id => @game_challenge) %>', '确定要删除该条回复吗?')\"\r\n\t\t\tdelete按钮\r\n\t\t\tid=`delete_reply_<%=@game_challenge.id %>_<%=comment.id %>`\r\n\r\n\t\t*/return commentsElement;}},{key:'onCommentBtnClick',value:function onCommentBtnClick(comment,childComment,dialogType){this.comment=comment;this.childComment=childComment;this.setState({dialogOpen:true,dialogType:dialogType});}},{key:'handleDialogClose',value:function handleDialogClose(){this.setState({dialogOpen:false});}},{key:'onDialogOkBtnClick',value:function onDialogOkBtnClick(){var _props2=this.props,deleteComment=_props2.deleteComment,hiddenComment=_props2.hiddenComment;var dialogType=this.state.dialogType;if(dialogType==='delete'){deleteComment(this.comment,this.childComment?this.childComment.id:'');}else if(dialogType==='hidden'||dialogType==='hiddenCancel'){hiddenComment(this.comment,this.childComment?this.childComment.id:'');}this.setState({dialogOpen:false});}},{key:'showGoldRewardDialog',value:function showGoldRewardDialog(comment,childComment){if(comment.admin===true){this.comment=comment;this.childComment=childComment;this.setState({goldRewardDialogOpen:true});}}},{key:'handleGoldRewardDialogClose',value:function handleGoldRewardDialogClose(){this.setState({goldRewardDialogOpen:false});}},{key:'onGoldRewardDialogOkBtnClick',value:function onGoldRewardDialogOkBtnClick(){console.log('onGoldRewardDialogOkBtnClick');var goldRewardInput=this.state.goldRewardInput;if(!goldRewardInput||goldRewardInput==='0'||goldRewardInput.indexOf('-')!==-1){this.setState({goldRewardInputError:true});return;}else{this.setState({goldRewardDialogOpen:false});this.props.rewardCode(this.comment,this.childComment,goldRewardInput);}}},{key:'onGoldRewardInputChange',value:function onGoldRewardInputChange(event){this.setState({goldRewardInput:event.target.value,goldRewardInputError:false});}},{key:'render',value:function render(){var _this5=this;var _props3=this.props,deleteComment=_props3.deleteComment,onPaginationChange=_props3.onPaginationChange,comment_count_without_reply=_props3.comment_count_without_reply,currentPage=_props3.currentPage,comments=_props3.comments;var _state2=this.state,dialogOpen=_state2.dialogOpen,goldRewardDialogOpen=_state2.goldRewardDialogOpen,dialogType=_state2.dialogType,goldRewardInputError=_state2.goldRewardInputError;var goldRewardInputErrorObj=goldRewardInputError?{'error':'error'}:{};return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog___default.a,{open:dialogOpen,onClose:this.handleDialogClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},dialogType==='delete'?'确定要删除该条回复吗?':dialogType==='hidden'?'确定要隐藏该条回复吗?':dialogType==='hiddenCancel'?'确定要取消隐藏该条回复吗?':'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{onClick:this.handleDialogClose,color:'primary'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this5.onDialogOkBtnClick();},color:'primary',autoFocus:true},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog___default.a,{open:goldRewardDialogOpen,onClose:this.handleGoldRewardDialogClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"奖励设置\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Form__[\"FormControl\"],Object.assign({},goldRewardInputErrorObj,{'aria-describedby':'name-error-text'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Input__[\"InputLabel\"],{htmlFor:'goldReward'},'\\u8BF7\\u8F93\\u5165\\u5956\\u52B1\\u7684\\u91D1\\u5E01\\u6570\\u91CF'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Input___default.a,{id:'goldReward',type:'number',value:this.state.goldRewardInput,onChange:function onChange(e){return _this5.onGoldRewardInputChange(e);}}),goldRewardInputError?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Form__[\"FormHelperText\"],{id:'name-error-text'},'\\u5956\\u52B1\\u91D1\\u5E01\\u4E0D\\u80FD\\u4E3A\\u7A7A\\u6216\\u8D1F\\u6570'):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{onClick:this.handleGoldRewardDialogClose,color:'primary'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this5.onGoldRewardDialogOkBtnClick();},color:'primary',autoFocus:true},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'panel-comment_item'},this.renderComments()),comment_count_without_reply>10?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'paginationSection'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_rc_pagination__[\"a\" /* default */],{onChange:onPaginationChange,current:currentPage,total:comment_count_without_reply})):'',comment_count_without_reply==0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'noCommentTitle'},'\\u6682\\u65F6\\u8FD8\\u6CA1\\u6709\\u8BC4\\u8BBA\\uFF0C\\u5FEB\\u6765show\\u51FA\\u4F60\\u7684idea\\u5427\\uFF01'):''));}}]);return Comments;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (Comments);\n\n/***/ }),\n/* 598 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 599 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__LoginDialog_css__ = __webpack_require__(779);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__LoginDialog_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__LoginDialog_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_educoder__ = __webpack_require__(42);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i去注册\").show();}else{$(\"#pass_name_input\").next().find(\"p\").html(\"该邮箱尚未绑定,你可以登录后去绑定\").show();}}else{$(\"#pass_name_input\").next().find(\"p\").hide();if(type==6){$(\"#send_code_notice\").html(data.msg).show();}else{var uurl=window.gotoEmail(data.link);$(\"#send_code_notice\").html(\"验证码已经发送到您的邮箱,去查收\").show();}time(btn);}});}else{$(\"#passlogin_error_notice\").show();}}}}var LoginDialog=function(_Component){_inherits(LoginDialog,_Component);function LoginDialog(props){_classCallCheck(this,LoginDialog);var _this=_possibleConstructorReturn(this,(LoginDialog.__proto__||Object.getPrototypeOf(LoginDialog)).call(this,props));_this.enter=function(num){_this.setState({login:num,speedy:1,dialogBox:'dialogBox'});};_this.register=function(num){_this.setState({login:1,speedy:num,dialogBox:'dialogBox2'});};_this.loginChange=function(){var reg=/^(\\w-*\\.*)+@(\\w-?)+(\\.\\w{2,})+$/;var reg1=/^1\\d{10}$/;var reg2=/^[a-zA-z]\\w{3,14}$/;var value=_this.refs.loginPassText.value;var valuenum=value.length;if(valuenum>0){if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){_this.setState({regular:1});return;}else{_this.setState({loginValue:value});_this.setState({regular:0});}}else{_this.setState({loginValue:value});}};_this.passwordChange=function(){var value=_this.refs.passwordText.value;var valuenum=value.length;_this.setState({disabled:false});_this.setState({bottonclass:'log-botton mt5 edu-back-blue'});if(valuenum==0){_this.setState({bottonclass:'log-botton mt5'});_this.setState({disabled:true});}_this.setState({passValue:value});};_this.handleInputChange=function(event){var target=event.target;var value=target.type==='checkbox'?target.checked:target.value;var name=target.name;_this.setState(_defineProperty({},name,value));if(value==true){_this.setState({isGoingValue:1});}else{_this.setState({isGoingValue:0});}};_this.shortcutIdChange=function(){var reg=/^(\\w-*\\.*)+@(\\w-?)+(\\.\\w{2,})+$/;var reg1=/^1\\d{10}$/;var reg2=/^[a-zA-z]\\w{3,14}$/;var value=_this.refs.shortcutText.value;var valuenum=value.length;if(valuenum>0){if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){_this.setState({shortcutnum:0});_this.setState({disabledType:true});_this.setState({gaincode:'gain-code'});return;}else{_this.setState({gaincode:'gain-code edu-back-blue'});_this.setState({shortcutValue:value});_this.setState({shortcutnum:1});_this.setState({disabledType:false});}}else{_this.setState({shortcutValue:value});}};_this.authCodeChange=function(){var value=_this.refs.authCodeText.value;var valuenum=value.length;if(valuenum>3){_this.setState({authCodeType:false});_this.setState({authCodeclass:'log-botton mt5 edu-back-blue'});}else if(valuenum==0){_this.setState({authCodeType:true});_this.setState({authCodeclass:'log-botton mt5'});}};_this.get_login_verification_code=function(){get_login_verification_code($('#get_verification_code')[0]);};_this.dragWrapper=function(){var $=window.$;$.fn.drag=function(options){var x,drag=this,isMove=false,defaults={};var options=$.extend(defaults,options);var handler=drag.find('.handler');var drag_bg=drag.find('.drag_bg');var text=drag.find('.drag_text');var maxWidth=100;//鼠标按下时候的x轴的位置\nhandler.mousedown(function(e){isMove=true;x=e.pageX-parseInt(handler.css('left'),10);maxWidth=drag.width()-handler.width()-2;//能滑动的最大间距\n});$(document).mousemove(function(e){var _x=e.pageX-x;// _x = e.pageX - (e.pageX - parseInt(handler.css('left'), 10)) = x\nif(isMove){if(_x>0&&_x<=maxWidth){handler.css({'left':_x});drag_bg.css({'width':_x});}else if(_x>maxWidth){//鼠标指针移动距离达到最大时清空事件\ndragOk();}}}).mouseup(function(e){isMove=false;var _x=e.pageX-x;if(_x').attr('href',_url_origin+'/stylesheets/educoder/edu-main.css'));$('head').append($('').attr('href',_url_origin+'/stylesheets/educoder/edu-all.css'));}}},{key:'render',value:function render(){var _this3=this;var _state=this.state,open=_state.open,login=_state.login,speedy=_state.speedy,loginValue=_state.loginValue,regular=_state.regular,isGoing=_state.isGoing,isGoingValue=_state.isGoingValue,disabled=_state.disabled,bottonclass=_state.bottonclass,dialogBox=_state.dialogBox,shortcutnum=_state.shortcutnum,disabledType=_state.disabledType,gaincode=_state.gaincode,authCodeType=_state.authCodeType,authCodeclass=_state.authCodeclass,isRender=_state.isRender;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:true,id:'DialogID',style:{display:isRender==false?'none':''},onClose:function onClose(){return _this3.handleDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:dialogBox},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'closeIcon',onClick:function onClick(){_this3.handleDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{'class':'iconfont icon-shanchudiao'})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'log_reg_content'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('ul',{className:'log_nav clearfix'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{className:login==0?'active':'',onClick:function onClick(){_this3.enter(0);}},'\\u767B\\u5F55'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{className:speedy==0?'active':'',onClick:function onClick(){_this3.register(0);}},'\\u5FEB\\u6377\\u767B\\u5F55')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'login-panel',id:'login-panel-1',style:{display:login==0?'block':'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('form',{acceptCharset:'UTF-8',action:'/login',id:'main_login_form',method:'post'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{\"display\":\"inline\",\"padding\":\"0\",\"margin\":\"0\"}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'utf8',type:'hidden',value:'\\u2713'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'authenticity_token',type:'hidden',value:'NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM='})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'back_url',type:'hidden',value:this.back_url}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'text',className:'input-100-45 mt20',id:'name_loggin_input',ref:'loginPassText',onInput:this.loginChange,name:'username',placeholder:'\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7/\\u7528\\u6237\\u540D'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'username_error_notice',style:{display:regular==0?'none':'block'}},'\\u8BF7\\u8F93\\u5165\\u6709\\u6548\\u7684\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7/\\u7528\\u6237\\u540D')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'password',id:'password_loggin_input',name:'password',ref:'passwordText',onInput:this.passwordChange,className:'input-100-45 mt5',placeholder:'\\u5BC6\\u7801'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'password_error_notice'},'\\u8BF7\\u8F93\\u5165\\u5BC6\\u7801'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{className:bottonclass,href:'javascript:void(0);',id:'psd_login_btn',disabled:disabled},'\\u767B\\u5F55'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mt10'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'checkbox',className:'mr5 magic-checkbox',checked:isGoing,onChange:this.handleInputChange,value:isGoingValue,name:'isGoing',id:'p_autolog'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',{htmlFor:'p_autolog',style:{top:'0px'}},'\\u4E0B\\u6B21\\u81EA\\u52A8\\u767B\\u5F55')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fr'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/account/lost_password',className:'mr3 color-grey-9'},'\\u5FD8\\u8BB0\\u5BC6\\u7801'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('em',{className:'vertical-line'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/user_join',target:'_blank',className:'color-grey-9'},'\\u6CE8\\u518C'))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'login-panel none',id:'login-panel-2',style:{display:speedy==0?'block':'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('form',{acceptCharset:'UTF-8',action:'/login',id:'code_login_form',method:'post'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{\"display\":\"inline\",\"padding\":\"0\",\"margin\":\"0\"}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'utf8',type:'hidden',value:'\\u2713'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'authenticity_token',type:'hidden',value:'NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM='})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'back_url',type:'hidden',value:this.back_url}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'text',id:'pass_name_input',name:'username',ref:'shortcutText',onInput:this.shortcutIdChange,className:'input-100-45 mt20',placeholder:'\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'pass_name_error_notice',style:{display:shortcutnum==0?'block':'none'}},'\\u8BF7\\u8F93\\u5165\\u6709\\u6548\\u7684\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'quick-drag',className:'drag_slider'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'drag_bg'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'drag_text slidetounlock'},'\\u8BF7\\u6309\\u4F4F\\u6ED1\\u5757\\uFF0C\\u62D6\\u52A8\\u5230\\u6700\\u53F3\\u8FB9'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'handler handler_bg'})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'new-login-error',style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{id:'passlogin_error_notice',className:'color-orange edu-txt-left none'},'\\u8BF7\\u5148\\u62D6\\u52A8\\u6ED1\\u5757\\u5B8C\\u6210\\u9A8C\\u8BC1'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mt5'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'text',name:'code',id:'login_verification_code',className:'input-48-45 edu-txt-center fl',ref:'authCodeText',onInput:this.authCodeChange,placeholder:'\\u8BF7\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{className:gaincode,disabled:disabledType,onClick:function onClick(){_this3.get_login_verification_code();},id:'get_verification_code'},'\\u83B7\\u53D6\\u9A8C\\u8BC1\\u7801')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'send_code_notice'},'\\u8BF7\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{href:'javascript:void(0);',className:authCodeclass,disabled:authCodeType,id:'code_login_btn'},'\\u767B\\u5F55'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mt10'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'checkbox',className:'mr5 magic-checkbox',id:'autolog',checked:isGoing,onChange:this.handleInputChange,value:isGoingValue,name:'isGoing'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',{htmlFor:'autolog',style:{\"top\":\"0px\"}},'\\u4E0B\\u6B21\\u81EA\\u52A8\\u767B\\u5F55')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fr'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/account/lost_password',className:'mr3 color-grey-9'},'\\u5FD8\\u8BB0\\u5BC6\\u7801'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('em',{className:'vertical-line'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/user_join',target:'_blank',className:'color-grey-9'},'\\u6CE8\\u518C'))))))));}}]);return LoginDialog;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (LoginDialog);// onkeypress=\"user_login_keypress(event);\"\n// onkeypress=\"user_login_keypress(event);\"\n{/*
\r\n
\r\n
\r\n

\r\n
\r\n
*/}{/*第三方账号登录*/}{/*
\r\n

第三方账号登录

\r\n
\r\n \r\n \r\n \r\n
\r\n
*/}\n\n/***/ }),\n/* 600 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Comments__ = __webpack_require__(597);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__CommentInput__ = __webpack_require__(398);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i (GFM Style)',\n type: 'boolean'\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: false,\n description: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',\n type: 'boolean'\n },\n ghMentions: {\n defaultValue: false,\n description: 'Enables github @mentions',\n type: 'boolean'\n },\n ghMentionsLink: {\n defaultValue: 'https://github.com/{u}',\n description: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',\n type: 'string'\n },\n encodeEmails: {\n defaultValue: true,\n description: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',\n type: 'boolean'\n },\n openLinksInNewWindow: {\n defaultValue: false,\n description: 'Open all links in new windows',\n type: 'boolean'\n },\n backslashEscapesHTMLTags: {\n defaultValue: false,\n description: 'Support for HTML Tag escaping. ex: \\
foo\\
',\n type: 'boolean'\n },\n emoji: {\n defaultValue: false,\n description: 'Enable emoji support. Ex: `this is a :smile: emoji`',\n type: 'boolean'\n },\n underline: {\n defaultValue: false,\n description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``',\n type: 'boolean'\n },\n completeHTMLDocument: {\n defaultValue: false,\n description: 'Outputs a complete html document, including ``, `` and `` tags',\n type: 'boolean'\n },\n metadata: {\n defaultValue: false,\n description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',\n type: 'boolean'\n },\n splitAdjacentBlockquotes: {\n defaultValue: false,\n description: 'Split adjacent blockquote blocks',\n type: 'boolean'\n }\n };\n if (simple === false) {\n return JSON.parse(JSON.stringify(defaultOptions));\n }\n var ret = {};\n for (var opt in defaultOptions) {\n if (defaultOptions.hasOwnProperty(opt)) {\n ret[opt] = defaultOptions[opt].defaultValue;\n }\n }\n return ret;\n}\n\nfunction allOptionsOn () {\n 'use strict';\n var options = getDefaultOpts(true),\n ret = {};\n for (var opt in options) {\n if (options.hasOwnProperty(opt)) {\n ret[opt] = true;\n }\n }\n return ret;\n}\n\r\n/**\n * Created by Tivie on 06-01-2015.\n */\n\n// Private properties\nvar showdown = {},\n parsers = {},\n extensions = {},\n globalOptions = getDefaultOpts(true),\n setFlavor = 'vanilla',\n flavor = {\n github: {\n omitExtraWLInCodeBlocks: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n disableForced4SpacesIndentedSublists: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghCompatibleHeaderId: true,\n ghMentions: true,\n backslashEscapesHTMLTags: true,\n emoji: true,\n splitAdjacentBlockquotes: true\n },\n original: {\n noHeaderId: true,\n ghCodeBlocks: false\n },\n ghost: {\n omitExtraWLInCodeBlocks: true,\n parseImgDimensions: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n smoothLivePreview: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghMentions: false,\n encodeEmails: true\n },\n vanilla: getDefaultOpts(true),\n allOn: allOptionsOn()\n };\n\n/**\n * helper namespace\n * @type {{}}\n */\nshowdown.helper = {};\n\n/**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\nshowdown.extensions = {};\n\n/**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\nshowdown.setOption = function (key, value) {\n 'use strict';\n globalOptions[key] = value;\n return this;\n};\n\n/**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\nshowdown.getOption = function (key) {\n 'use strict';\n return globalOptions[key];\n};\n\n/**\n * Get the global options\n * @static\n * @returns {{}}\n */\nshowdown.getOptions = function () {\n 'use strict';\n return globalOptions;\n};\n\n/**\n * Reset global options to the default values\n * @static\n */\nshowdown.resetOptions = function () {\n 'use strict';\n globalOptions = getDefaultOpts(true);\n};\n\n/**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\nshowdown.setFlavor = function (name) {\n 'use strict';\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n showdown.resetOptions();\n var preset = flavor[name];\n setFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n globalOptions[option] = preset[option];\n }\n }\n};\n\n/**\n * Get the currently set flavor\n * @returns {string}\n */\nshowdown.getFlavor = function () {\n 'use strict';\n return setFlavor;\n};\n\n/**\n * Get the options of a specified flavor. Returns undefined if the flavor was not found\n * @param {string} name Name of the flavor\n * @returns {{}|undefined}\n */\nshowdown.getFlavorOptions = function (name) {\n 'use strict';\n if (flavor.hasOwnProperty(name)) {\n return flavor[name];\n }\n};\n\n/**\n * Get the default options\n * @static\n * @param {boolean} [simple=true]\n * @returns {{}}\n */\nshowdown.getDefaultOptions = function (simple) {\n 'use strict';\n return getDefaultOpts(simple);\n};\n\n/**\n * Get or set a subParser\n *\n * subParser(name) - Get a registered subParser\n * subParser(name, func) - Register a subParser\n * @static\n * @param {string} name\n * @param {function} [func]\n * @returns {*}\n */\nshowdown.subParser = function (name, func) {\n 'use strict';\n if (showdown.helper.isString(name)) {\n if (typeof func !== 'undefined') {\n parsers[name] = func;\n } else {\n if (parsers.hasOwnProperty(name)) {\n return parsers[name];\n } else {\n throw Error('SubParser named ' + name + ' not registered!');\n }\n }\n }\n};\n\n/**\n * Gets or registers an extension\n * @static\n * @param {string} name\n * @param {object|function=} ext\n * @returns {*}\n */\nshowdown.extension = function (name, ext) {\n 'use strict';\n\n if (!showdown.helper.isString(name)) {\n throw Error('Extension \\'name\\' must be a string');\n }\n\n name = showdown.helper.stdExtName(name);\n\n // Getter\n if (showdown.helper.isUndefined(ext)) {\n if (!extensions.hasOwnProperty(name)) {\n throw Error('Extension named ' + name + ' is not registered!');\n }\n return extensions[name];\n\n // Setter\n } else {\n // Expand extension if it's wrapped in a function\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n // Ensure extension is an array\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExtension = validate(ext, name);\n\n if (validExtension.valid) {\n extensions[name] = ext;\n } else {\n throw Error(validExtension.error);\n }\n }\n};\n\n/**\n * Gets all extensions registered\n * @returns {{}}\n */\nshowdown.getAllExtensions = function () {\n 'use strict';\n return extensions;\n};\n\n/**\n * Remove an extension\n * @param {string} name\n */\nshowdown.removeExtension = function (name) {\n 'use strict';\n delete extensions[name];\n};\n\n/**\n * Removes all extensions\n */\nshowdown.resetExtensions = function () {\n 'use strict';\n extensions = {};\n};\n\n/**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\nfunction validate (extension, name) {\n 'use strict';\n\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\n ret = {\n valid: true,\n error: ''\n };\n\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n\n for (var i = 0; i < extension.length; ++i) {\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\n ext = extension[i];\n if (typeof ext !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\n return ret;\n }\n\n if (!showdown.helper.isString(ext.type)) {\n ret.valid = false;\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\n return ret;\n }\n\n var type = ext.type = ext.type.toLowerCase();\n\n // normalize extension type\n if (type === 'language') {\n type = ext.type = 'lang';\n }\n\n if (type === 'html') {\n type = ext.type = 'output';\n }\n\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\n ret.valid = false;\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\n return ret;\n }\n\n if (type === 'listener') {\n if (showdown.helper.isUndefined(ext.listeners)) {\n ret.valid = false;\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\n return ret;\n }\n } else {\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\n ret.valid = false;\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\n return ret;\n }\n }\n\n if (ext.listeners) {\n if (typeof ext.listeners !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\n return ret;\n }\n for (var ln in ext.listeners) {\n if (ext.listeners.hasOwnProperty(ln)) {\n if (typeof ext.listeners[ln] !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\n return ret;\n }\n }\n }\n }\n\n if (ext.filter) {\n if (typeof ext.filter !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\n return ret;\n }\n } else if (ext.regex) {\n if (showdown.helper.isString(ext.regex)) {\n ext.regex = new RegExp(ext.regex, 'g');\n }\n if (!(ext.regex instanceof RegExp)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\n return ret;\n }\n if (showdown.helper.isUndefined(ext.replace)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\n return ret;\n }\n }\n }\n return ret;\n}\n\n/**\n * Validate extension\n * @param {object} ext\n * @returns {boolean}\n */\nshowdown.validateExtension = function (ext) {\n 'use strict';\n\n var validateExtension = validate(ext, null);\n if (!validateExtension.valid) {\n console.warn(validateExtension.error);\n return false;\n }\n return true;\n};\n\r\n/**\n * showdownjs helper functions\n */\n\nif (!showdown.hasOwnProperty('helper')) {\n showdown.helper = {};\n}\n\n/**\n * Check if var is string\n * @static\n * @param {string} a\n * @returns {boolean}\n */\nshowdown.helper.isString = function (a) {\n 'use strict';\n return (typeof a === 'string' || a instanceof String);\n};\n\n/**\n * Check if var is a function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isFunction = function (a) {\n 'use strict';\n var getType = {};\n return a && getType.toString.call(a) === '[object Function]';\n};\n\n/**\n * isArray helper function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isArray = function (a) {\n 'use strict';\n return Array.isArray(a);\n};\n\n/**\n * Check if value is undefined\n * @static\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n */\nshowdown.helper.isUndefined = function (value) {\n 'use strict';\n return typeof value === 'undefined';\n};\n\n/**\n * ForEach helper function\n * Iterates over Arrays and Objects (own properties only)\n * @static\n * @param {*} obj\n * @param {function} callback Accepts 3 params: 1. value, 2. key, 3. the original array/object\n */\nshowdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n if (showdown.helper.isUndefined(obj)) {\n throw new Error('obj param is required');\n }\n\n if (showdown.helper.isUndefined(callback)) {\n throw new Error('callback param is required');\n }\n\n if (!showdown.helper.isFunction(callback)) {\n throw new Error('callback param must be a function/closure');\n }\n\n if (typeof obj.forEach === 'function') {\n obj.forEach(callback);\n } else if (showdown.helper.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n callback(obj[i], i, obj);\n }\n } else if (typeof (obj) === 'object') {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(obj[prop], prop, obj);\n }\n }\n } else {\n throw new Error('obj does not seem to be an array or an iterable object');\n }\n};\n\n/**\n * Standardidize extension name\n * @static\n * @param {string} s extension name\n * @returns {string}\n */\nshowdown.helper.stdExtName = function (s) {\n 'use strict';\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n};\n\nfunction escapeCharactersCallback (wholeMatch, m1) {\n 'use strict';\n var charCodeToEscape = m1.charCodeAt(0);\n return '¨E' + charCodeToEscape + 'E';\n}\n\n/**\n * Callback used to escape characters when passing through String.replace\n * @static\n * @param {string} wholeMatch\n * @param {string} m1\n * @returns {string}\n */\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\n\n/**\n * Escape characters in a string\n * @static\n * @param {string} text\n * @param {string} charsToEscape\n * @param {boolean} afterBackslash\n * @returns {XML|string|void|*}\n */\nshowdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash) {\n 'use strict';\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\n\n if (afterBackslash) {\n regexString = '\\\\\\\\' + regexString;\n }\n\n var regex = new RegExp(regexString, 'g');\n text = text.replace(regex, escapeCharactersCallback);\n\n return text;\n};\n\n/**\n * Unescape HTML entities\n * @param txt\n * @returns {string}\n */\nshowdown.helper.unescapeHTMLEntities = function (txt) {\n 'use strict';\n\n return txt\n .replace(/"/g, '\"')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/&/g, '&');\n};\n\nvar rgxFindMatchPos = function (str, left, right, flags) {\n 'use strict';\n var f = flags || '',\n g = f.indexOf('g') > -1,\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\n l = new RegExp(left, f.replace(/g/g, '')),\n pos = [],\n t, s, m, start, end;\n\n do {\n t = 0;\n while ((m = x.exec(str))) {\n if (l.test(m[0])) {\n if (!(t++)) {\n s = x.lastIndex;\n start = s - m[0].length;\n }\n } else if (t) {\n if (!--t) {\n end = m.index + m[0].length;\n var obj = {\n left: {start: start, end: s},\n match: {start: s, end: m.index},\n right: {start: m.index, end: end},\n wholeMatch: {start: start, end: end}\n };\n pos.push(obj);\n if (!g) {\n return pos;\n }\n }\n }\n }\n } while (t && (x.lastIndex = s));\n\n return pos;\n};\n\n/**\n * matchRecursiveRegExp\n *\n * (c) 2007 Steven Levithan \n * MIT License\n *\n * Accepts a string to search, a left and right format delimiter\n * as regex patterns, and optional regex flags. Returns an array\n * of matches, allowing nested instances of left/right delimiters.\n * Use the \"g\" flag to return all matches, otherwise only the\n * first is returned. Be careful to ensure that the left and\n * right format delimiters produce mutually exclusive matches.\n * Backreferences are not supported within the right delimiter\n * due to how it is internally combined with the left delimiter.\n * When matching strings whose format delimiters are unbalanced\n * to the left or right, the output is intentionally as a\n * conventional regex library with recursion support would\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\n * \"<\" and \">\" as the delimiters (both strings contain a single,\n * balanced instance of \"\").\n *\n * examples:\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\n * returns: []\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\n * returns: [\"t<>\", \"\"]\n * matchRecursiveRegExp(\"
test
\", \"]*>\", \"
\", \"gi\")\n * returns: [\"test\"]\n */\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\n 'use strict';\n\n var matchPos = rgxFindMatchPos (str, left, right, flags),\n results = [];\n\n for (var i = 0; i < matchPos.length; ++i) {\n results.push([\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n ]);\n }\n return results;\n};\n\n/**\n *\n * @param {string} str\n * @param {string|function} replacement\n * @param {string} left\n * @param {string} right\n * @param {string} flags\n * @returns {string}\n */\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\n 'use strict';\n\n if (!showdown.helper.isFunction(replacement)) {\n var repStr = replacement;\n replacement = function () {\n return repStr;\n };\n }\n\n var matchPos = rgxFindMatchPos(str, left, right, flags),\n finalStr = str,\n lng = matchPos.length;\n\n if (lng > 0) {\n var bits = [];\n if (matchPos[0].wholeMatch.start !== 0) {\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\n }\n for (var i = 0; i < lng; ++i) {\n bits.push(\n replacement(\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n )\n );\n if (i < lng - 1) {\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\n }\n }\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\n }\n finalStr = bits.join('');\n }\n return finalStr;\n};\n\n/**\n * Returns the index within the passed String object of the first occurrence of the specified regex,\n * starting the search at fromIndex. Returns -1 if the value is not found.\n *\n * @param {string} str string to search\n * @param {RegExp} regex Regular expression to search\n * @param {int} [fromIndex = 0] Index to start the search\n * @returns {Number}\n * @throws InvalidArgumentError\n */\nshowdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n if (regex instanceof RegExp === false) {\n throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';\n }\n var indexOf = str.substring(fromIndex || 0).search(regex);\n return (indexOf >= 0) ? (indexOf + (fromIndex || 0)) : indexOf;\n};\n\n/**\n * Splits the passed string object at the defined index, and returns an array composed of the two substrings\n * @param {string} str string to split\n * @param {int} index index to split string at\n * @returns {[string,string]}\n * @throws InvalidArgumentError\n */\nshowdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n return [str.substring(0, index), str.substring(index)];\n};\n\n/**\n * Obfuscate an e-mail address through the use of Character Entities,\n * transforming ASCII characters into their equivalent decimal or hex entities.\n *\n * Since it has a random component, subsequent calls to this function produce different results\n *\n * @param {string} mail\n * @returns {string}\n */\nshowdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n var encode = [\n function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n },\n function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n },\n function (ch) {\n return ch;\n }\n ];\n\n mail = mail.replace(/./g, function (ch) {\n if (ch === '@') {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else {\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = (\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\n );\n }\n return ch;\n });\n\n return mail;\n};\n\n/**\n *\n * @param str\n * @param targetLength\n * @param padString\n * @returns {string}\n */\nshowdown.helper.padEnd = function padEnd (str, targetLength, padString) {\n 'use strict';\n /*jshint bitwise: false*/\n // eslint-disable-next-line space-infix-ops\n targetLength = targetLength>>0; //floor if number or convert non-number to 0;\n /*jshint bitwise: true*/\n padString = String(padString || ' ');\n if (str.length > targetLength) {\n return String(str);\n } else {\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n return String(str) + padString.slice(0,targetLength);\n }\n};\n\n/**\n * POLYFILLS\n */\n// use this instead of builtin is undefined for IE8 compatibility\nif (typeof(console) === 'undefined') {\n console = {\n warn: function (msg) {\n 'use strict';\n alert(msg);\n },\n log: function (msg) {\n 'use strict';\n alert(msg);\n },\n error: function (msg) {\n 'use strict';\n throw msg;\n }\n };\n}\n\n/**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\nshowdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n};\n\n/**\n * EMOJIS LIST\n */\nshowdown.helper.emojis = {\n '+1':'\\ud83d\\udc4d',\n '-1':'\\ud83d\\udc4e',\n '100':'\\ud83d\\udcaf',\n '1234':'\\ud83d\\udd22',\n '1st_place_medal':'\\ud83e\\udd47',\n '2nd_place_medal':'\\ud83e\\udd48',\n '3rd_place_medal':'\\ud83e\\udd49',\n '8ball':'\\ud83c\\udfb1',\n 'a':'\\ud83c\\udd70\\ufe0f',\n 'ab':'\\ud83c\\udd8e',\n 'abc':'\\ud83d\\udd24',\n 'abcd':'\\ud83d\\udd21',\n 'accept':'\\ud83c\\ude51',\n 'aerial_tramway':'\\ud83d\\udea1',\n 'airplane':'\\u2708\\ufe0f',\n 'alarm_clock':'\\u23f0',\n 'alembic':'\\u2697\\ufe0f',\n 'alien':'\\ud83d\\udc7d',\n 'ambulance':'\\ud83d\\ude91',\n 'amphora':'\\ud83c\\udffa',\n 'anchor':'\\u2693\\ufe0f',\n 'angel':'\\ud83d\\udc7c',\n 'anger':'\\ud83d\\udca2',\n 'angry':'\\ud83d\\ude20',\n 'anguished':'\\ud83d\\ude27',\n 'ant':'\\ud83d\\udc1c',\n 'apple':'\\ud83c\\udf4e',\n 'aquarius':'\\u2652\\ufe0f',\n 'aries':'\\u2648\\ufe0f',\n 'arrow_backward':'\\u25c0\\ufe0f',\n 'arrow_double_down':'\\u23ec',\n 'arrow_double_up':'\\u23eb',\n 'arrow_down':'\\u2b07\\ufe0f',\n 'arrow_down_small':'\\ud83d\\udd3d',\n 'arrow_forward':'\\u25b6\\ufe0f',\n 'arrow_heading_down':'\\u2935\\ufe0f',\n 'arrow_heading_up':'\\u2934\\ufe0f',\n 'arrow_left':'\\u2b05\\ufe0f',\n 'arrow_lower_left':'\\u2199\\ufe0f',\n 'arrow_lower_right':'\\u2198\\ufe0f',\n 'arrow_right':'\\u27a1\\ufe0f',\n 'arrow_right_hook':'\\u21aa\\ufe0f',\n 'arrow_up':'\\u2b06\\ufe0f',\n 'arrow_up_down':'\\u2195\\ufe0f',\n 'arrow_up_small':'\\ud83d\\udd3c',\n 'arrow_upper_left':'\\u2196\\ufe0f',\n 'arrow_upper_right':'\\u2197\\ufe0f',\n 'arrows_clockwise':'\\ud83d\\udd03',\n 'arrows_counterclockwise':'\\ud83d\\udd04',\n 'art':'\\ud83c\\udfa8',\n 'articulated_lorry':'\\ud83d\\ude9b',\n 'artificial_satellite':'\\ud83d\\udef0',\n 'astonished':'\\ud83d\\ude32',\n 'athletic_shoe':'\\ud83d\\udc5f',\n 'atm':'\\ud83c\\udfe7',\n 'atom_symbol':'\\u269b\\ufe0f',\n 'avocado':'\\ud83e\\udd51',\n 'b':'\\ud83c\\udd71\\ufe0f',\n 'baby':'\\ud83d\\udc76',\n 'baby_bottle':'\\ud83c\\udf7c',\n 'baby_chick':'\\ud83d\\udc24',\n 'baby_symbol':'\\ud83d\\udebc',\n 'back':'\\ud83d\\udd19',\n 'bacon':'\\ud83e\\udd53',\n 'badminton':'\\ud83c\\udff8',\n 'baggage_claim':'\\ud83d\\udec4',\n 'baguette_bread':'\\ud83e\\udd56',\n 'balance_scale':'\\u2696\\ufe0f',\n 'balloon':'\\ud83c\\udf88',\n 'ballot_box':'\\ud83d\\uddf3',\n 'ballot_box_with_check':'\\u2611\\ufe0f',\n 'bamboo':'\\ud83c\\udf8d',\n 'banana':'\\ud83c\\udf4c',\n 'bangbang':'\\u203c\\ufe0f',\n 'bank':'\\ud83c\\udfe6',\n 'bar_chart':'\\ud83d\\udcca',\n 'barber':'\\ud83d\\udc88',\n 'baseball':'\\u26be\\ufe0f',\n 'basketball':'\\ud83c\\udfc0',\n 'basketball_man':'\\u26f9\\ufe0f',\n 'basketball_woman':'\\u26f9\\ufe0f‍\\u2640\\ufe0f',\n 'bat':'\\ud83e\\udd87',\n 'bath':'\\ud83d\\udec0',\n 'bathtub':'\\ud83d\\udec1',\n 'battery':'\\ud83d\\udd0b',\n 'beach_umbrella':'\\ud83c\\udfd6',\n 'bear':'\\ud83d\\udc3b',\n 'bed':'\\ud83d\\udecf',\n 'bee':'\\ud83d\\udc1d',\n 'beer':'\\ud83c\\udf7a',\n 'beers':'\\ud83c\\udf7b',\n 'beetle':'\\ud83d\\udc1e',\n 'beginner':'\\ud83d\\udd30',\n 'bell':'\\ud83d\\udd14',\n 'bellhop_bell':'\\ud83d\\udece',\n 'bento':'\\ud83c\\udf71',\n 'biking_man':'\\ud83d\\udeb4',\n 'bike':'\\ud83d\\udeb2',\n 'biking_woman':'\\ud83d\\udeb4‍\\u2640\\ufe0f',\n 'bikini':'\\ud83d\\udc59',\n 'biohazard':'\\u2623\\ufe0f',\n 'bird':'\\ud83d\\udc26',\n 'birthday':'\\ud83c\\udf82',\n 'black_circle':'\\u26ab\\ufe0f',\n 'black_flag':'\\ud83c\\udff4',\n 'black_heart':'\\ud83d\\udda4',\n 'black_joker':'\\ud83c\\udccf',\n 'black_large_square':'\\u2b1b\\ufe0f',\n 'black_medium_small_square':'\\u25fe\\ufe0f',\n 'black_medium_square':'\\u25fc\\ufe0f',\n 'black_nib':'\\u2712\\ufe0f',\n 'black_small_square':'\\u25aa\\ufe0f',\n 'black_square_button':'\\ud83d\\udd32',\n 'blonde_man':'\\ud83d\\udc71',\n 'blonde_woman':'\\ud83d\\udc71‍\\u2640\\ufe0f',\n 'blossom':'\\ud83c\\udf3c',\n 'blowfish':'\\ud83d\\udc21',\n 'blue_book':'\\ud83d\\udcd8',\n 'blue_car':'\\ud83d\\ude99',\n 'blue_heart':'\\ud83d\\udc99',\n 'blush':'\\ud83d\\ude0a',\n 'boar':'\\ud83d\\udc17',\n 'boat':'\\u26f5\\ufe0f',\n 'bomb':'\\ud83d\\udca3',\n 'book':'\\ud83d\\udcd6',\n 'bookmark':'\\ud83d\\udd16',\n 'bookmark_tabs':'\\ud83d\\udcd1',\n 'books':'\\ud83d\\udcda',\n 'boom':'\\ud83d\\udca5',\n 'boot':'\\ud83d\\udc62',\n 'bouquet':'\\ud83d\\udc90',\n 'bowing_man':'\\ud83d\\ude47',\n 'bow_and_arrow':'\\ud83c\\udff9',\n 'bowing_woman':'\\ud83d\\ude47‍\\u2640\\ufe0f',\n 'bowling':'\\ud83c\\udfb3',\n 'boxing_glove':'\\ud83e\\udd4a',\n 'boy':'\\ud83d\\udc66',\n 'bread':'\\ud83c\\udf5e',\n 'bride_with_veil':'\\ud83d\\udc70',\n 'bridge_at_night':'\\ud83c\\udf09',\n 'briefcase':'\\ud83d\\udcbc',\n 'broken_heart':'\\ud83d\\udc94',\n 'bug':'\\ud83d\\udc1b',\n 'building_construction':'\\ud83c\\udfd7',\n 'bulb':'\\ud83d\\udca1',\n 'bullettrain_front':'\\ud83d\\ude85',\n 'bullettrain_side':'\\ud83d\\ude84',\n 'burrito':'\\ud83c\\udf2f',\n 'bus':'\\ud83d\\ude8c',\n 'business_suit_levitating':'\\ud83d\\udd74',\n 'busstop':'\\ud83d\\ude8f',\n 'bust_in_silhouette':'\\ud83d\\udc64',\n 'busts_in_silhouette':'\\ud83d\\udc65',\n 'butterfly':'\\ud83e\\udd8b',\n 'cactus':'\\ud83c\\udf35',\n 'cake':'\\ud83c\\udf70',\n 'calendar':'\\ud83d\\udcc6',\n 'call_me_hand':'\\ud83e\\udd19',\n 'calling':'\\ud83d\\udcf2',\n 'camel':'\\ud83d\\udc2b',\n 'camera':'\\ud83d\\udcf7',\n 'camera_flash':'\\ud83d\\udcf8',\n 'camping':'\\ud83c\\udfd5',\n 'cancer':'\\u264b\\ufe0f',\n 'candle':'\\ud83d\\udd6f',\n 'candy':'\\ud83c\\udf6c',\n 'canoe':'\\ud83d\\udef6',\n 'capital_abcd':'\\ud83d\\udd20',\n 'capricorn':'\\u2651\\ufe0f',\n 'car':'\\ud83d\\ude97',\n 'card_file_box':'\\ud83d\\uddc3',\n 'card_index':'\\ud83d\\udcc7',\n 'card_index_dividers':'\\ud83d\\uddc2',\n 'carousel_horse':'\\ud83c\\udfa0',\n 'carrot':'\\ud83e\\udd55',\n 'cat':'\\ud83d\\udc31',\n 'cat2':'\\ud83d\\udc08',\n 'cd':'\\ud83d\\udcbf',\n 'chains':'\\u26d3',\n 'champagne':'\\ud83c\\udf7e',\n 'chart':'\\ud83d\\udcb9',\n 'chart_with_downwards_trend':'\\ud83d\\udcc9',\n 'chart_with_upwards_trend':'\\ud83d\\udcc8',\n 'checkered_flag':'\\ud83c\\udfc1',\n 'cheese':'\\ud83e\\uddc0',\n 'cherries':'\\ud83c\\udf52',\n 'cherry_blossom':'\\ud83c\\udf38',\n 'chestnut':'\\ud83c\\udf30',\n 'chicken':'\\ud83d\\udc14',\n 'children_crossing':'\\ud83d\\udeb8',\n 'chipmunk':'\\ud83d\\udc3f',\n 'chocolate_bar':'\\ud83c\\udf6b',\n 'christmas_tree':'\\ud83c\\udf84',\n 'church':'\\u26ea\\ufe0f',\n 'cinema':'\\ud83c\\udfa6',\n 'circus_tent':'\\ud83c\\udfaa',\n 'city_sunrise':'\\ud83c\\udf07',\n 'city_sunset':'\\ud83c\\udf06',\n 'cityscape':'\\ud83c\\udfd9',\n 'cl':'\\ud83c\\udd91',\n 'clamp':'\\ud83d\\udddc',\n 'clap':'\\ud83d\\udc4f',\n 'clapper':'\\ud83c\\udfac',\n 'classical_building':'\\ud83c\\udfdb',\n 'clinking_glasses':'\\ud83e\\udd42',\n 'clipboard':'\\ud83d\\udccb',\n 'clock1':'\\ud83d\\udd50',\n 'clock10':'\\ud83d\\udd59',\n 'clock1030':'\\ud83d\\udd65',\n 'clock11':'\\ud83d\\udd5a',\n 'clock1130':'\\ud83d\\udd66',\n 'clock12':'\\ud83d\\udd5b',\n 'clock1230':'\\ud83d\\udd67',\n 'clock130':'\\ud83d\\udd5c',\n 'clock2':'\\ud83d\\udd51',\n 'clock230':'\\ud83d\\udd5d',\n 'clock3':'\\ud83d\\udd52',\n 'clock330':'\\ud83d\\udd5e',\n 'clock4':'\\ud83d\\udd53',\n 'clock430':'\\ud83d\\udd5f',\n 'clock5':'\\ud83d\\udd54',\n 'clock530':'\\ud83d\\udd60',\n 'clock6':'\\ud83d\\udd55',\n 'clock630':'\\ud83d\\udd61',\n 'clock7':'\\ud83d\\udd56',\n 'clock730':'\\ud83d\\udd62',\n 'clock8':'\\ud83d\\udd57',\n 'clock830':'\\ud83d\\udd63',\n 'clock9':'\\ud83d\\udd58',\n 'clock930':'\\ud83d\\udd64',\n 'closed_book':'\\ud83d\\udcd5',\n 'closed_lock_with_key':'\\ud83d\\udd10',\n 'closed_umbrella':'\\ud83c\\udf02',\n 'cloud':'\\u2601\\ufe0f',\n 'cloud_with_lightning':'\\ud83c\\udf29',\n 'cloud_with_lightning_and_rain':'\\u26c8',\n 'cloud_with_rain':'\\ud83c\\udf27',\n 'cloud_with_snow':'\\ud83c\\udf28',\n 'clown_face':'\\ud83e\\udd21',\n 'clubs':'\\u2663\\ufe0f',\n 'cocktail':'\\ud83c\\udf78',\n 'coffee':'\\u2615\\ufe0f',\n 'coffin':'\\u26b0\\ufe0f',\n 'cold_sweat':'\\ud83d\\ude30',\n 'comet':'\\u2604\\ufe0f',\n 'computer':'\\ud83d\\udcbb',\n 'computer_mouse':'\\ud83d\\uddb1',\n 'confetti_ball':'\\ud83c\\udf8a',\n 'confounded':'\\ud83d\\ude16',\n 'confused':'\\ud83d\\ude15',\n 'congratulations':'\\u3297\\ufe0f',\n 'construction':'\\ud83d\\udea7',\n 'construction_worker_man':'\\ud83d\\udc77',\n 'construction_worker_woman':'\\ud83d\\udc77‍\\u2640\\ufe0f',\n 'control_knobs':'\\ud83c\\udf9b',\n 'convenience_store':'\\ud83c\\udfea',\n 'cookie':'\\ud83c\\udf6a',\n 'cool':'\\ud83c\\udd92',\n 'policeman':'\\ud83d\\udc6e',\n 'copyright':'\\u00a9\\ufe0f',\n 'corn':'\\ud83c\\udf3d',\n 'couch_and_lamp':'\\ud83d\\udecb',\n 'couple':'\\ud83d\\udc6b',\n 'couple_with_heart_woman_man':'\\ud83d\\udc91',\n 'couple_with_heart_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68',\n 'couple_with_heart_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69',\n 'couplekiss_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68',\n 'couplekiss_man_woman':'\\ud83d\\udc8f',\n 'couplekiss_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69',\n 'cow':'\\ud83d\\udc2e',\n 'cow2':'\\ud83d\\udc04',\n 'cowboy_hat_face':'\\ud83e\\udd20',\n 'crab':'\\ud83e\\udd80',\n 'crayon':'\\ud83d\\udd8d',\n 'credit_card':'\\ud83d\\udcb3',\n 'crescent_moon':'\\ud83c\\udf19',\n 'cricket':'\\ud83c\\udfcf',\n 'crocodile':'\\ud83d\\udc0a',\n 'croissant':'\\ud83e\\udd50',\n 'crossed_fingers':'\\ud83e\\udd1e',\n 'crossed_flags':'\\ud83c\\udf8c',\n 'crossed_swords':'\\u2694\\ufe0f',\n 'crown':'\\ud83d\\udc51',\n 'cry':'\\ud83d\\ude22',\n 'crying_cat_face':'\\ud83d\\ude3f',\n 'crystal_ball':'\\ud83d\\udd2e',\n 'cucumber':'\\ud83e\\udd52',\n 'cupid':'\\ud83d\\udc98',\n 'curly_loop':'\\u27b0',\n 'currency_exchange':'\\ud83d\\udcb1',\n 'curry':'\\ud83c\\udf5b',\n 'custard':'\\ud83c\\udf6e',\n 'customs':'\\ud83d\\udec3',\n 'cyclone':'\\ud83c\\udf00',\n 'dagger':'\\ud83d\\udde1',\n 'dancer':'\\ud83d\\udc83',\n 'dancing_women':'\\ud83d\\udc6f',\n 'dancing_men':'\\ud83d\\udc6f‍\\u2642\\ufe0f',\n 'dango':'\\ud83c\\udf61',\n 'dark_sunglasses':'\\ud83d\\udd76',\n 'dart':'\\ud83c\\udfaf',\n 'dash':'\\ud83d\\udca8',\n 'date':'\\ud83d\\udcc5',\n 'deciduous_tree':'\\ud83c\\udf33',\n 'deer':'\\ud83e\\udd8c',\n 'department_store':'\\ud83c\\udfec',\n 'derelict_house':'\\ud83c\\udfda',\n 'desert':'\\ud83c\\udfdc',\n 'desert_island':'\\ud83c\\udfdd',\n 'desktop_computer':'\\ud83d\\udda5',\n 'male_detective':'\\ud83d\\udd75\\ufe0f',\n 'diamond_shape_with_a_dot_inside':'\\ud83d\\udca0',\n 'diamonds':'\\u2666\\ufe0f',\n 'disappointed':'\\ud83d\\ude1e',\n 'disappointed_relieved':'\\ud83d\\ude25',\n 'dizzy':'\\ud83d\\udcab',\n 'dizzy_face':'\\ud83d\\ude35',\n 'do_not_litter':'\\ud83d\\udeaf',\n 'dog':'\\ud83d\\udc36',\n 'dog2':'\\ud83d\\udc15',\n 'dollar':'\\ud83d\\udcb5',\n 'dolls':'\\ud83c\\udf8e',\n 'dolphin':'\\ud83d\\udc2c',\n 'door':'\\ud83d\\udeaa',\n 'doughnut':'\\ud83c\\udf69',\n 'dove':'\\ud83d\\udd4a',\n 'dragon':'\\ud83d\\udc09',\n 'dragon_face':'\\ud83d\\udc32',\n 'dress':'\\ud83d\\udc57',\n 'dromedary_camel':'\\ud83d\\udc2a',\n 'drooling_face':'\\ud83e\\udd24',\n 'droplet':'\\ud83d\\udca7',\n 'drum':'\\ud83e\\udd41',\n 'duck':'\\ud83e\\udd86',\n 'dvd':'\\ud83d\\udcc0',\n 'e-mail':'\\ud83d\\udce7',\n 'eagle':'\\ud83e\\udd85',\n 'ear':'\\ud83d\\udc42',\n 'ear_of_rice':'\\ud83c\\udf3e',\n 'earth_africa':'\\ud83c\\udf0d',\n 'earth_americas':'\\ud83c\\udf0e',\n 'earth_asia':'\\ud83c\\udf0f',\n 'egg':'\\ud83e\\udd5a',\n 'eggplant':'\\ud83c\\udf46',\n 'eight_pointed_black_star':'\\u2734\\ufe0f',\n 'eight_spoked_asterisk':'\\u2733\\ufe0f',\n 'electric_plug':'\\ud83d\\udd0c',\n 'elephant':'\\ud83d\\udc18',\n 'email':'\\u2709\\ufe0f',\n 'end':'\\ud83d\\udd1a',\n 'envelope_with_arrow':'\\ud83d\\udce9',\n 'euro':'\\ud83d\\udcb6',\n 'european_castle':'\\ud83c\\udff0',\n 'european_post_office':'\\ud83c\\udfe4',\n 'evergreen_tree':'\\ud83c\\udf32',\n 'exclamation':'\\u2757\\ufe0f',\n 'expressionless':'\\ud83d\\ude11',\n 'eye':'\\ud83d\\udc41',\n 'eye_speech_bubble':'\\ud83d\\udc41‍\\ud83d\\udde8',\n 'eyeglasses':'\\ud83d\\udc53',\n 'eyes':'\\ud83d\\udc40',\n 'face_with_head_bandage':'\\ud83e\\udd15',\n 'face_with_thermometer':'\\ud83e\\udd12',\n 'fist_oncoming':'\\ud83d\\udc4a',\n 'factory':'\\ud83c\\udfed',\n 'fallen_leaf':'\\ud83c\\udf42',\n 'family_man_woman_boy':'\\ud83d\\udc6a',\n 'family_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_woman_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_woman_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_man_woman_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_woman_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'fast_forward':'\\u23e9',\n 'fax':'\\ud83d\\udce0',\n 'fearful':'\\ud83d\\ude28',\n 'feet':'\\ud83d\\udc3e',\n 'female_detective':'\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f',\n 'ferris_wheel':'\\ud83c\\udfa1',\n 'ferry':'\\u26f4',\n 'field_hockey':'\\ud83c\\udfd1',\n 'file_cabinet':'\\ud83d\\uddc4',\n 'file_folder':'\\ud83d\\udcc1',\n 'film_projector':'\\ud83d\\udcfd',\n 'film_strip':'\\ud83c\\udf9e',\n 'fire':'\\ud83d\\udd25',\n 'fire_engine':'\\ud83d\\ude92',\n 'fireworks':'\\ud83c\\udf86',\n 'first_quarter_moon':'\\ud83c\\udf13',\n 'first_quarter_moon_with_face':'\\ud83c\\udf1b',\n 'fish':'\\ud83d\\udc1f',\n 'fish_cake':'\\ud83c\\udf65',\n 'fishing_pole_and_fish':'\\ud83c\\udfa3',\n 'fist_raised':'\\u270a',\n 'fist_left':'\\ud83e\\udd1b',\n 'fist_right':'\\ud83e\\udd1c',\n 'flags':'\\ud83c\\udf8f',\n 'flashlight':'\\ud83d\\udd26',\n 'fleur_de_lis':'\\u269c\\ufe0f',\n 'flight_arrival':'\\ud83d\\udeec',\n 'flight_departure':'\\ud83d\\udeeb',\n 'floppy_disk':'\\ud83d\\udcbe',\n 'flower_playing_cards':'\\ud83c\\udfb4',\n 'flushed':'\\ud83d\\ude33',\n 'fog':'\\ud83c\\udf2b',\n 'foggy':'\\ud83c\\udf01',\n 'football':'\\ud83c\\udfc8',\n 'footprints':'\\ud83d\\udc63',\n 'fork_and_knife':'\\ud83c\\udf74',\n 'fountain':'\\u26f2\\ufe0f',\n 'fountain_pen':'\\ud83d\\udd8b',\n 'four_leaf_clover':'\\ud83c\\udf40',\n 'fox_face':'\\ud83e\\udd8a',\n 'framed_picture':'\\ud83d\\uddbc',\n 'free':'\\ud83c\\udd93',\n 'fried_egg':'\\ud83c\\udf73',\n 'fried_shrimp':'\\ud83c\\udf64',\n 'fries':'\\ud83c\\udf5f',\n 'frog':'\\ud83d\\udc38',\n 'frowning':'\\ud83d\\ude26',\n 'frowning_face':'\\u2639\\ufe0f',\n 'frowning_man':'\\ud83d\\ude4d‍\\u2642\\ufe0f',\n 'frowning_woman':'\\ud83d\\ude4d',\n 'middle_finger':'\\ud83d\\udd95',\n 'fuelpump':'\\u26fd\\ufe0f',\n 'full_moon':'\\ud83c\\udf15',\n 'full_moon_with_face':'\\ud83c\\udf1d',\n 'funeral_urn':'\\u26b1\\ufe0f',\n 'game_die':'\\ud83c\\udfb2',\n 'gear':'\\u2699\\ufe0f',\n 'gem':'\\ud83d\\udc8e',\n 'gemini':'\\u264a\\ufe0f',\n 'ghost':'\\ud83d\\udc7b',\n 'gift':'\\ud83c\\udf81',\n 'gift_heart':'\\ud83d\\udc9d',\n 'girl':'\\ud83d\\udc67',\n 'globe_with_meridians':'\\ud83c\\udf10',\n 'goal_net':'\\ud83e\\udd45',\n 'goat':'\\ud83d\\udc10',\n 'golf':'\\u26f3\\ufe0f',\n 'golfing_man':'\\ud83c\\udfcc\\ufe0f',\n 'golfing_woman':'\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f',\n 'gorilla':'\\ud83e\\udd8d',\n 'grapes':'\\ud83c\\udf47',\n 'green_apple':'\\ud83c\\udf4f',\n 'green_book':'\\ud83d\\udcd7',\n 'green_heart':'\\ud83d\\udc9a',\n 'green_salad':'\\ud83e\\udd57',\n 'grey_exclamation':'\\u2755',\n 'grey_question':'\\u2754',\n 'grimacing':'\\ud83d\\ude2c',\n 'grin':'\\ud83d\\ude01',\n 'grinning':'\\ud83d\\ude00',\n 'guardsman':'\\ud83d\\udc82',\n 'guardswoman':'\\ud83d\\udc82‍\\u2640\\ufe0f',\n 'guitar':'\\ud83c\\udfb8',\n 'gun':'\\ud83d\\udd2b',\n 'haircut_woman':'\\ud83d\\udc87',\n 'haircut_man':'\\ud83d\\udc87‍\\u2642\\ufe0f',\n 'hamburger':'\\ud83c\\udf54',\n 'hammer':'\\ud83d\\udd28',\n 'hammer_and_pick':'\\u2692',\n 'hammer_and_wrench':'\\ud83d\\udee0',\n 'hamster':'\\ud83d\\udc39',\n 'hand':'\\u270b',\n 'handbag':'\\ud83d\\udc5c',\n 'handshake':'\\ud83e\\udd1d',\n 'hankey':'\\ud83d\\udca9',\n 'hatched_chick':'\\ud83d\\udc25',\n 'hatching_chick':'\\ud83d\\udc23',\n 'headphones':'\\ud83c\\udfa7',\n 'hear_no_evil':'\\ud83d\\ude49',\n 'heart':'\\u2764\\ufe0f',\n 'heart_decoration':'\\ud83d\\udc9f',\n 'heart_eyes':'\\ud83d\\ude0d',\n 'heart_eyes_cat':'\\ud83d\\ude3b',\n 'heartbeat':'\\ud83d\\udc93',\n 'heartpulse':'\\ud83d\\udc97',\n 'hearts':'\\u2665\\ufe0f',\n 'heavy_check_mark':'\\u2714\\ufe0f',\n 'heavy_division_sign':'\\u2797',\n 'heavy_dollar_sign':'\\ud83d\\udcb2',\n 'heavy_heart_exclamation':'\\u2763\\ufe0f',\n 'heavy_minus_sign':'\\u2796',\n 'heavy_multiplication_x':'\\u2716\\ufe0f',\n 'heavy_plus_sign':'\\u2795',\n 'helicopter':'\\ud83d\\ude81',\n 'herb':'\\ud83c\\udf3f',\n 'hibiscus':'\\ud83c\\udf3a',\n 'high_brightness':'\\ud83d\\udd06',\n 'high_heel':'\\ud83d\\udc60',\n 'hocho':'\\ud83d\\udd2a',\n 'hole':'\\ud83d\\udd73',\n 'honey_pot':'\\ud83c\\udf6f',\n 'horse':'\\ud83d\\udc34',\n 'horse_racing':'\\ud83c\\udfc7',\n 'hospital':'\\ud83c\\udfe5',\n 'hot_pepper':'\\ud83c\\udf36',\n 'hotdog':'\\ud83c\\udf2d',\n 'hotel':'\\ud83c\\udfe8',\n 'hotsprings':'\\u2668\\ufe0f',\n 'hourglass':'\\u231b\\ufe0f',\n 'hourglass_flowing_sand':'\\u23f3',\n 'house':'\\ud83c\\udfe0',\n 'house_with_garden':'\\ud83c\\udfe1',\n 'houses':'\\ud83c\\udfd8',\n 'hugs':'\\ud83e\\udd17',\n 'hushed':'\\ud83d\\ude2f',\n 'ice_cream':'\\ud83c\\udf68',\n 'ice_hockey':'\\ud83c\\udfd2',\n 'ice_skate':'\\u26f8',\n 'icecream':'\\ud83c\\udf66',\n 'id':'\\ud83c\\udd94',\n 'ideograph_advantage':'\\ud83c\\ude50',\n 'imp':'\\ud83d\\udc7f',\n 'inbox_tray':'\\ud83d\\udce5',\n 'incoming_envelope':'\\ud83d\\udce8',\n 'tipping_hand_woman':'\\ud83d\\udc81',\n 'information_source':'\\u2139\\ufe0f',\n 'innocent':'\\ud83d\\ude07',\n 'interrobang':'\\u2049\\ufe0f',\n 'iphone':'\\ud83d\\udcf1',\n 'izakaya_lantern':'\\ud83c\\udfee',\n 'jack_o_lantern':'\\ud83c\\udf83',\n 'japan':'\\ud83d\\uddfe',\n 'japanese_castle':'\\ud83c\\udfef',\n 'japanese_goblin':'\\ud83d\\udc7a',\n 'japanese_ogre':'\\ud83d\\udc79',\n 'jeans':'\\ud83d\\udc56',\n 'joy':'\\ud83d\\ude02',\n 'joy_cat':'\\ud83d\\ude39',\n 'joystick':'\\ud83d\\udd79',\n 'kaaba':'\\ud83d\\udd4b',\n 'key':'\\ud83d\\udd11',\n 'keyboard':'\\u2328\\ufe0f',\n 'keycap_ten':'\\ud83d\\udd1f',\n 'kick_scooter':'\\ud83d\\udef4',\n 'kimono':'\\ud83d\\udc58',\n 'kiss':'\\ud83d\\udc8b',\n 'kissing':'\\ud83d\\ude17',\n 'kissing_cat':'\\ud83d\\ude3d',\n 'kissing_closed_eyes':'\\ud83d\\ude1a',\n 'kissing_heart':'\\ud83d\\ude18',\n 'kissing_smiling_eyes':'\\ud83d\\ude19',\n 'kiwi_fruit':'\\ud83e\\udd5d',\n 'koala':'\\ud83d\\udc28',\n 'koko':'\\ud83c\\ude01',\n 'label':'\\ud83c\\udff7',\n 'large_blue_circle':'\\ud83d\\udd35',\n 'large_blue_diamond':'\\ud83d\\udd37',\n 'large_orange_diamond':'\\ud83d\\udd36',\n 'last_quarter_moon':'\\ud83c\\udf17',\n 'last_quarter_moon_with_face':'\\ud83c\\udf1c',\n 'latin_cross':'\\u271d\\ufe0f',\n 'laughing':'\\ud83d\\ude06',\n 'leaves':'\\ud83c\\udf43',\n 'ledger':'\\ud83d\\udcd2',\n 'left_luggage':'\\ud83d\\udec5',\n 'left_right_arrow':'\\u2194\\ufe0f',\n 'leftwards_arrow_with_hook':'\\u21a9\\ufe0f',\n 'lemon':'\\ud83c\\udf4b',\n 'leo':'\\u264c\\ufe0f',\n 'leopard':'\\ud83d\\udc06',\n 'level_slider':'\\ud83c\\udf9a',\n 'libra':'\\u264e\\ufe0f',\n 'light_rail':'\\ud83d\\ude88',\n 'link':'\\ud83d\\udd17',\n 'lion':'\\ud83e\\udd81',\n 'lips':'\\ud83d\\udc44',\n 'lipstick':'\\ud83d\\udc84',\n 'lizard':'\\ud83e\\udd8e',\n 'lock':'\\ud83d\\udd12',\n 'lock_with_ink_pen':'\\ud83d\\udd0f',\n 'lollipop':'\\ud83c\\udf6d',\n 'loop':'\\u27bf',\n 'loud_sound':'\\ud83d\\udd0a',\n 'loudspeaker':'\\ud83d\\udce2',\n 'love_hotel':'\\ud83c\\udfe9',\n 'love_letter':'\\ud83d\\udc8c',\n 'low_brightness':'\\ud83d\\udd05',\n 'lying_face':'\\ud83e\\udd25',\n 'm':'\\u24c2\\ufe0f',\n 'mag':'\\ud83d\\udd0d',\n 'mag_right':'\\ud83d\\udd0e',\n 'mahjong':'\\ud83c\\udc04\\ufe0f',\n 'mailbox':'\\ud83d\\udceb',\n 'mailbox_closed':'\\ud83d\\udcea',\n 'mailbox_with_mail':'\\ud83d\\udcec',\n 'mailbox_with_no_mail':'\\ud83d\\udced',\n 'man':'\\ud83d\\udc68',\n 'man_artist':'\\ud83d\\udc68‍\\ud83c\\udfa8',\n 'man_astronaut':'\\ud83d\\udc68‍\\ud83d\\ude80',\n 'man_cartwheeling':'\\ud83e\\udd38‍\\u2642\\ufe0f',\n 'man_cook':'\\ud83d\\udc68‍\\ud83c\\udf73',\n 'man_dancing':'\\ud83d\\udd7a',\n 'man_facepalming':'\\ud83e\\udd26‍\\u2642\\ufe0f',\n 'man_factory_worker':'\\ud83d\\udc68‍\\ud83c\\udfed',\n 'man_farmer':'\\ud83d\\udc68‍\\ud83c\\udf3e',\n 'man_firefighter':'\\ud83d\\udc68‍\\ud83d\\ude92',\n 'man_health_worker':'\\ud83d\\udc68‍\\u2695\\ufe0f',\n 'man_in_tuxedo':'\\ud83e\\udd35',\n 'man_judge':'\\ud83d\\udc68‍\\u2696\\ufe0f',\n 'man_juggling':'\\ud83e\\udd39‍\\u2642\\ufe0f',\n 'man_mechanic':'\\ud83d\\udc68‍\\ud83d\\udd27',\n 'man_office_worker':'\\ud83d\\udc68‍\\ud83d\\udcbc',\n 'man_pilot':'\\ud83d\\udc68‍\\u2708\\ufe0f',\n 'man_playing_handball':'\\ud83e\\udd3e‍\\u2642\\ufe0f',\n 'man_playing_water_polo':'\\ud83e\\udd3d‍\\u2642\\ufe0f',\n 'man_scientist':'\\ud83d\\udc68‍\\ud83d\\udd2c',\n 'man_shrugging':'\\ud83e\\udd37‍\\u2642\\ufe0f',\n 'man_singer':'\\ud83d\\udc68‍\\ud83c\\udfa4',\n 'man_student':'\\ud83d\\udc68‍\\ud83c\\udf93',\n 'man_teacher':'\\ud83d\\udc68‍\\ud83c\\udfeb',\n 'man_technologist':'\\ud83d\\udc68‍\\ud83d\\udcbb',\n 'man_with_gua_pi_mao':'\\ud83d\\udc72',\n 'man_with_turban':'\\ud83d\\udc73',\n 'tangerine':'\\ud83c\\udf4a',\n 'mans_shoe':'\\ud83d\\udc5e',\n 'mantelpiece_clock':'\\ud83d\\udd70',\n 'maple_leaf':'\\ud83c\\udf41',\n 'martial_arts_uniform':'\\ud83e\\udd4b',\n 'mask':'\\ud83d\\ude37',\n 'massage_woman':'\\ud83d\\udc86',\n 'massage_man':'\\ud83d\\udc86‍\\u2642\\ufe0f',\n 'meat_on_bone':'\\ud83c\\udf56',\n 'medal_military':'\\ud83c\\udf96',\n 'medal_sports':'\\ud83c\\udfc5',\n 'mega':'\\ud83d\\udce3',\n 'melon':'\\ud83c\\udf48',\n 'memo':'\\ud83d\\udcdd',\n 'men_wrestling':'\\ud83e\\udd3c‍\\u2642\\ufe0f',\n 'menorah':'\\ud83d\\udd4e',\n 'mens':'\\ud83d\\udeb9',\n 'metal':'\\ud83e\\udd18',\n 'metro':'\\ud83d\\ude87',\n 'microphone':'\\ud83c\\udfa4',\n 'microscope':'\\ud83d\\udd2c',\n 'milk_glass':'\\ud83e\\udd5b',\n 'milky_way':'\\ud83c\\udf0c',\n 'minibus':'\\ud83d\\ude90',\n 'minidisc':'\\ud83d\\udcbd',\n 'mobile_phone_off':'\\ud83d\\udcf4',\n 'money_mouth_face':'\\ud83e\\udd11',\n 'money_with_wings':'\\ud83d\\udcb8',\n 'moneybag':'\\ud83d\\udcb0',\n 'monkey':'\\ud83d\\udc12',\n 'monkey_face':'\\ud83d\\udc35',\n 'monorail':'\\ud83d\\ude9d',\n 'moon':'\\ud83c\\udf14',\n 'mortar_board':'\\ud83c\\udf93',\n 'mosque':'\\ud83d\\udd4c',\n 'motor_boat':'\\ud83d\\udee5',\n 'motor_scooter':'\\ud83d\\udef5',\n 'motorcycle':'\\ud83c\\udfcd',\n 'motorway':'\\ud83d\\udee3',\n 'mount_fuji':'\\ud83d\\uddfb',\n 'mountain':'\\u26f0',\n 'mountain_biking_man':'\\ud83d\\udeb5',\n 'mountain_biking_woman':'\\ud83d\\udeb5‍\\u2640\\ufe0f',\n 'mountain_cableway':'\\ud83d\\udea0',\n 'mountain_railway':'\\ud83d\\ude9e',\n 'mountain_snow':'\\ud83c\\udfd4',\n 'mouse':'\\ud83d\\udc2d',\n 'mouse2':'\\ud83d\\udc01',\n 'movie_camera':'\\ud83c\\udfa5',\n 'moyai':'\\ud83d\\uddff',\n 'mrs_claus':'\\ud83e\\udd36',\n 'muscle':'\\ud83d\\udcaa',\n 'mushroom':'\\ud83c\\udf44',\n 'musical_keyboard':'\\ud83c\\udfb9',\n 'musical_note':'\\ud83c\\udfb5',\n 'musical_score':'\\ud83c\\udfbc',\n 'mute':'\\ud83d\\udd07',\n 'nail_care':'\\ud83d\\udc85',\n 'name_badge':'\\ud83d\\udcdb',\n 'national_park':'\\ud83c\\udfde',\n 'nauseated_face':'\\ud83e\\udd22',\n 'necktie':'\\ud83d\\udc54',\n 'negative_squared_cross_mark':'\\u274e',\n 'nerd_face':'\\ud83e\\udd13',\n 'neutral_face':'\\ud83d\\ude10',\n 'new':'\\ud83c\\udd95',\n 'new_moon':'\\ud83c\\udf11',\n 'new_moon_with_face':'\\ud83c\\udf1a',\n 'newspaper':'\\ud83d\\udcf0',\n 'newspaper_roll':'\\ud83d\\uddde',\n 'next_track_button':'\\u23ed',\n 'ng':'\\ud83c\\udd96',\n 'no_good_man':'\\ud83d\\ude45‍\\u2642\\ufe0f',\n 'no_good_woman':'\\ud83d\\ude45',\n 'night_with_stars':'\\ud83c\\udf03',\n 'no_bell':'\\ud83d\\udd15',\n 'no_bicycles':'\\ud83d\\udeb3',\n 'no_entry':'\\u26d4\\ufe0f',\n 'no_entry_sign':'\\ud83d\\udeab',\n 'no_mobile_phones':'\\ud83d\\udcf5',\n 'no_mouth':'\\ud83d\\ude36',\n 'no_pedestrians':'\\ud83d\\udeb7',\n 'no_smoking':'\\ud83d\\udead',\n 'non-potable_water':'\\ud83d\\udeb1',\n 'nose':'\\ud83d\\udc43',\n 'notebook':'\\ud83d\\udcd3',\n 'notebook_with_decorative_cover':'\\ud83d\\udcd4',\n 'notes':'\\ud83c\\udfb6',\n 'nut_and_bolt':'\\ud83d\\udd29',\n 'o':'\\u2b55\\ufe0f',\n 'o2':'\\ud83c\\udd7e\\ufe0f',\n 'ocean':'\\ud83c\\udf0a',\n 'octopus':'\\ud83d\\udc19',\n 'oden':'\\ud83c\\udf62',\n 'office':'\\ud83c\\udfe2',\n 'oil_drum':'\\ud83d\\udee2',\n 'ok':'\\ud83c\\udd97',\n 'ok_hand':'\\ud83d\\udc4c',\n 'ok_man':'\\ud83d\\ude46‍\\u2642\\ufe0f',\n 'ok_woman':'\\ud83d\\ude46',\n 'old_key':'\\ud83d\\udddd',\n 'older_man':'\\ud83d\\udc74',\n 'older_woman':'\\ud83d\\udc75',\n 'om':'\\ud83d\\udd49',\n 'on':'\\ud83d\\udd1b',\n 'oncoming_automobile':'\\ud83d\\ude98',\n 'oncoming_bus':'\\ud83d\\ude8d',\n 'oncoming_police_car':'\\ud83d\\ude94',\n 'oncoming_taxi':'\\ud83d\\ude96',\n 'open_file_folder':'\\ud83d\\udcc2',\n 'open_hands':'\\ud83d\\udc50',\n 'open_mouth':'\\ud83d\\ude2e',\n 'open_umbrella':'\\u2602\\ufe0f',\n 'ophiuchus':'\\u26ce',\n 'orange_book':'\\ud83d\\udcd9',\n 'orthodox_cross':'\\u2626\\ufe0f',\n 'outbox_tray':'\\ud83d\\udce4',\n 'owl':'\\ud83e\\udd89',\n 'ox':'\\ud83d\\udc02',\n 'package':'\\ud83d\\udce6',\n 'page_facing_up':'\\ud83d\\udcc4',\n 'page_with_curl':'\\ud83d\\udcc3',\n 'pager':'\\ud83d\\udcdf',\n 'paintbrush':'\\ud83d\\udd8c',\n 'palm_tree':'\\ud83c\\udf34',\n 'pancakes':'\\ud83e\\udd5e',\n 'panda_face':'\\ud83d\\udc3c',\n 'paperclip':'\\ud83d\\udcce',\n 'paperclips':'\\ud83d\\udd87',\n 'parasol_on_ground':'\\u26f1',\n 'parking':'\\ud83c\\udd7f\\ufe0f',\n 'part_alternation_mark':'\\u303d\\ufe0f',\n 'partly_sunny':'\\u26c5\\ufe0f',\n 'passenger_ship':'\\ud83d\\udef3',\n 'passport_control':'\\ud83d\\udec2',\n 'pause_button':'\\u23f8',\n 'peace_symbol':'\\u262e\\ufe0f',\n 'peach':'\\ud83c\\udf51',\n 'peanuts':'\\ud83e\\udd5c',\n 'pear':'\\ud83c\\udf50',\n 'pen':'\\ud83d\\udd8a',\n 'pencil2':'\\u270f\\ufe0f',\n 'penguin':'\\ud83d\\udc27',\n 'pensive':'\\ud83d\\ude14',\n 'performing_arts':'\\ud83c\\udfad',\n 'persevere':'\\ud83d\\ude23',\n 'person_fencing':'\\ud83e\\udd3a',\n 'pouting_woman':'\\ud83d\\ude4e',\n 'phone':'\\u260e\\ufe0f',\n 'pick':'\\u26cf',\n 'pig':'\\ud83d\\udc37',\n 'pig2':'\\ud83d\\udc16',\n 'pig_nose':'\\ud83d\\udc3d',\n 'pill':'\\ud83d\\udc8a',\n 'pineapple':'\\ud83c\\udf4d',\n 'ping_pong':'\\ud83c\\udfd3',\n 'pisces':'\\u2653\\ufe0f',\n 'pizza':'\\ud83c\\udf55',\n 'place_of_worship':'\\ud83d\\uded0',\n 'plate_with_cutlery':'\\ud83c\\udf7d',\n 'play_or_pause_button':'\\u23ef',\n 'point_down':'\\ud83d\\udc47',\n 'point_left':'\\ud83d\\udc48',\n 'point_right':'\\ud83d\\udc49',\n 'point_up':'\\u261d\\ufe0f',\n 'point_up_2':'\\ud83d\\udc46',\n 'police_car':'\\ud83d\\ude93',\n 'policewoman':'\\ud83d\\udc6e‍\\u2640\\ufe0f',\n 'poodle':'\\ud83d\\udc29',\n 'popcorn':'\\ud83c\\udf7f',\n 'post_office':'\\ud83c\\udfe3',\n 'postal_horn':'\\ud83d\\udcef',\n 'postbox':'\\ud83d\\udcee',\n 'potable_water':'\\ud83d\\udeb0',\n 'potato':'\\ud83e\\udd54',\n 'pouch':'\\ud83d\\udc5d',\n 'poultry_leg':'\\ud83c\\udf57',\n 'pound':'\\ud83d\\udcb7',\n 'rage':'\\ud83d\\ude21',\n 'pouting_cat':'\\ud83d\\ude3e',\n 'pouting_man':'\\ud83d\\ude4e‍\\u2642\\ufe0f',\n 'pray':'\\ud83d\\ude4f',\n 'prayer_beads':'\\ud83d\\udcff',\n 'pregnant_woman':'\\ud83e\\udd30',\n 'previous_track_button':'\\u23ee',\n 'prince':'\\ud83e\\udd34',\n 'princess':'\\ud83d\\udc78',\n 'printer':'\\ud83d\\udda8',\n 'purple_heart':'\\ud83d\\udc9c',\n 'purse':'\\ud83d\\udc5b',\n 'pushpin':'\\ud83d\\udccc',\n 'put_litter_in_its_place':'\\ud83d\\udeae',\n 'question':'\\u2753',\n 'rabbit':'\\ud83d\\udc30',\n 'rabbit2':'\\ud83d\\udc07',\n 'racehorse':'\\ud83d\\udc0e',\n 'racing_car':'\\ud83c\\udfce',\n 'radio':'\\ud83d\\udcfb',\n 'radio_button':'\\ud83d\\udd18',\n 'radioactive':'\\u2622\\ufe0f',\n 'railway_car':'\\ud83d\\ude83',\n 'railway_track':'\\ud83d\\udee4',\n 'rainbow':'\\ud83c\\udf08',\n 'rainbow_flag':'\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08',\n 'raised_back_of_hand':'\\ud83e\\udd1a',\n 'raised_hand_with_fingers_splayed':'\\ud83d\\udd90',\n 'raised_hands':'\\ud83d\\ude4c',\n 'raising_hand_woman':'\\ud83d\\ude4b',\n 'raising_hand_man':'\\ud83d\\ude4b‍\\u2642\\ufe0f',\n 'ram':'\\ud83d\\udc0f',\n 'ramen':'\\ud83c\\udf5c',\n 'rat':'\\ud83d\\udc00',\n 'record_button':'\\u23fa',\n 'recycle':'\\u267b\\ufe0f',\n 'red_circle':'\\ud83d\\udd34',\n 'registered':'\\u00ae\\ufe0f',\n 'relaxed':'\\u263a\\ufe0f',\n 'relieved':'\\ud83d\\ude0c',\n 'reminder_ribbon':'\\ud83c\\udf97',\n 'repeat':'\\ud83d\\udd01',\n 'repeat_one':'\\ud83d\\udd02',\n 'rescue_worker_helmet':'\\u26d1',\n 'restroom':'\\ud83d\\udebb',\n 'revolving_hearts':'\\ud83d\\udc9e',\n 'rewind':'\\u23ea',\n 'rhinoceros':'\\ud83e\\udd8f',\n 'ribbon':'\\ud83c\\udf80',\n 'rice':'\\ud83c\\udf5a',\n 'rice_ball':'\\ud83c\\udf59',\n 'rice_cracker':'\\ud83c\\udf58',\n 'rice_scene':'\\ud83c\\udf91',\n 'right_anger_bubble':'\\ud83d\\uddef',\n 'ring':'\\ud83d\\udc8d',\n 'robot':'\\ud83e\\udd16',\n 'rocket':'\\ud83d\\ude80',\n 'rofl':'\\ud83e\\udd23',\n 'roll_eyes':'\\ud83d\\ude44',\n 'roller_coaster':'\\ud83c\\udfa2',\n 'rooster':'\\ud83d\\udc13',\n 'rose':'\\ud83c\\udf39',\n 'rosette':'\\ud83c\\udff5',\n 'rotating_light':'\\ud83d\\udea8',\n 'round_pushpin':'\\ud83d\\udccd',\n 'rowing_man':'\\ud83d\\udea3',\n 'rowing_woman':'\\ud83d\\udea3‍\\u2640\\ufe0f',\n 'rugby_football':'\\ud83c\\udfc9',\n 'running_man':'\\ud83c\\udfc3',\n 'running_shirt_with_sash':'\\ud83c\\udfbd',\n 'running_woman':'\\ud83c\\udfc3‍\\u2640\\ufe0f',\n 'sa':'\\ud83c\\ude02\\ufe0f',\n 'sagittarius':'\\u2650\\ufe0f',\n 'sake':'\\ud83c\\udf76',\n 'sandal':'\\ud83d\\udc61',\n 'santa':'\\ud83c\\udf85',\n 'satellite':'\\ud83d\\udce1',\n 'saxophone':'\\ud83c\\udfb7',\n 'school':'\\ud83c\\udfeb',\n 'school_satchel':'\\ud83c\\udf92',\n 'scissors':'\\u2702\\ufe0f',\n 'scorpion':'\\ud83e\\udd82',\n 'scorpius':'\\u264f\\ufe0f',\n 'scream':'\\ud83d\\ude31',\n 'scream_cat':'\\ud83d\\ude40',\n 'scroll':'\\ud83d\\udcdc',\n 'seat':'\\ud83d\\udcba',\n 'secret':'\\u3299\\ufe0f',\n 'see_no_evil':'\\ud83d\\ude48',\n 'seedling':'\\ud83c\\udf31',\n 'selfie':'\\ud83e\\udd33',\n 'shallow_pan_of_food':'\\ud83e\\udd58',\n 'shamrock':'\\u2618\\ufe0f',\n 'shark':'\\ud83e\\udd88',\n 'shaved_ice':'\\ud83c\\udf67',\n 'sheep':'\\ud83d\\udc11',\n 'shell':'\\ud83d\\udc1a',\n 'shield':'\\ud83d\\udee1',\n 'shinto_shrine':'\\u26e9',\n 'ship':'\\ud83d\\udea2',\n 'shirt':'\\ud83d\\udc55',\n 'shopping':'\\ud83d\\udecd',\n 'shopping_cart':'\\ud83d\\uded2',\n 'shower':'\\ud83d\\udebf',\n 'shrimp':'\\ud83e\\udd90',\n 'signal_strength':'\\ud83d\\udcf6',\n 'six_pointed_star':'\\ud83d\\udd2f',\n 'ski':'\\ud83c\\udfbf',\n 'skier':'\\u26f7',\n 'skull':'\\ud83d\\udc80',\n 'skull_and_crossbones':'\\u2620\\ufe0f',\n 'sleeping':'\\ud83d\\ude34',\n 'sleeping_bed':'\\ud83d\\udecc',\n 'sleepy':'\\ud83d\\ude2a',\n 'slightly_frowning_face':'\\ud83d\\ude41',\n 'slightly_smiling_face':'\\ud83d\\ude42',\n 'slot_machine':'\\ud83c\\udfb0',\n 'small_airplane':'\\ud83d\\udee9',\n 'small_blue_diamond':'\\ud83d\\udd39',\n 'small_orange_diamond':'\\ud83d\\udd38',\n 'small_red_triangle':'\\ud83d\\udd3a',\n 'small_red_triangle_down':'\\ud83d\\udd3b',\n 'smile':'\\ud83d\\ude04',\n 'smile_cat':'\\ud83d\\ude38',\n 'smiley':'\\ud83d\\ude03',\n 'smiley_cat':'\\ud83d\\ude3a',\n 'smiling_imp':'\\ud83d\\ude08',\n 'smirk':'\\ud83d\\ude0f',\n 'smirk_cat':'\\ud83d\\ude3c',\n 'smoking':'\\ud83d\\udeac',\n 'snail':'\\ud83d\\udc0c',\n 'snake':'\\ud83d\\udc0d',\n 'sneezing_face':'\\ud83e\\udd27',\n 'snowboarder':'\\ud83c\\udfc2',\n 'snowflake':'\\u2744\\ufe0f',\n 'snowman':'\\u26c4\\ufe0f',\n 'snowman_with_snow':'\\u2603\\ufe0f',\n 'sob':'\\ud83d\\ude2d',\n 'soccer':'\\u26bd\\ufe0f',\n 'soon':'\\ud83d\\udd1c',\n 'sos':'\\ud83c\\udd98',\n 'sound':'\\ud83d\\udd09',\n 'space_invader':'\\ud83d\\udc7e',\n 'spades':'\\u2660\\ufe0f',\n 'spaghetti':'\\ud83c\\udf5d',\n 'sparkle':'\\u2747\\ufe0f',\n 'sparkler':'\\ud83c\\udf87',\n 'sparkles':'\\u2728',\n 'sparkling_heart':'\\ud83d\\udc96',\n 'speak_no_evil':'\\ud83d\\ude4a',\n 'speaker':'\\ud83d\\udd08',\n 'speaking_head':'\\ud83d\\udde3',\n 'speech_balloon':'\\ud83d\\udcac',\n 'speedboat':'\\ud83d\\udea4',\n 'spider':'\\ud83d\\udd77',\n 'spider_web':'\\ud83d\\udd78',\n 'spiral_calendar':'\\ud83d\\uddd3',\n 'spiral_notepad':'\\ud83d\\uddd2',\n 'spoon':'\\ud83e\\udd44',\n 'squid':'\\ud83e\\udd91',\n 'stadium':'\\ud83c\\udfdf',\n 'star':'\\u2b50\\ufe0f',\n 'star2':'\\ud83c\\udf1f',\n 'star_and_crescent':'\\u262a\\ufe0f',\n 'star_of_david':'\\u2721\\ufe0f',\n 'stars':'\\ud83c\\udf20',\n 'station':'\\ud83d\\ude89',\n 'statue_of_liberty':'\\ud83d\\uddfd',\n 'steam_locomotive':'\\ud83d\\ude82',\n 'stew':'\\ud83c\\udf72',\n 'stop_button':'\\u23f9',\n 'stop_sign':'\\ud83d\\uded1',\n 'stopwatch':'\\u23f1',\n 'straight_ruler':'\\ud83d\\udccf',\n 'strawberry':'\\ud83c\\udf53',\n 'stuck_out_tongue':'\\ud83d\\ude1b',\n 'stuck_out_tongue_closed_eyes':'\\ud83d\\ude1d',\n 'stuck_out_tongue_winking_eye':'\\ud83d\\ude1c',\n 'studio_microphone':'\\ud83c\\udf99',\n 'stuffed_flatbread':'\\ud83e\\udd59',\n 'sun_behind_large_cloud':'\\ud83c\\udf25',\n 'sun_behind_rain_cloud':'\\ud83c\\udf26',\n 'sun_behind_small_cloud':'\\ud83c\\udf24',\n 'sun_with_face':'\\ud83c\\udf1e',\n 'sunflower':'\\ud83c\\udf3b',\n 'sunglasses':'\\ud83d\\ude0e',\n 'sunny':'\\u2600\\ufe0f',\n 'sunrise':'\\ud83c\\udf05',\n 'sunrise_over_mountains':'\\ud83c\\udf04',\n 'surfing_man':'\\ud83c\\udfc4',\n 'surfing_woman':'\\ud83c\\udfc4‍\\u2640\\ufe0f',\n 'sushi':'\\ud83c\\udf63',\n 'suspension_railway':'\\ud83d\\ude9f',\n 'sweat':'\\ud83d\\ude13',\n 'sweat_drops':'\\ud83d\\udca6',\n 'sweat_smile':'\\ud83d\\ude05',\n 'sweet_potato':'\\ud83c\\udf60',\n 'swimming_man':'\\ud83c\\udfca',\n 'swimming_woman':'\\ud83c\\udfca‍\\u2640\\ufe0f',\n 'symbols':'\\ud83d\\udd23',\n 'synagogue':'\\ud83d\\udd4d',\n 'syringe':'\\ud83d\\udc89',\n 'taco':'\\ud83c\\udf2e',\n 'tada':'\\ud83c\\udf89',\n 'tanabata_tree':'\\ud83c\\udf8b',\n 'taurus':'\\u2649\\ufe0f',\n 'taxi':'\\ud83d\\ude95',\n 'tea':'\\ud83c\\udf75',\n 'telephone_receiver':'\\ud83d\\udcde',\n 'telescope':'\\ud83d\\udd2d',\n 'tennis':'\\ud83c\\udfbe',\n 'tent':'\\u26fa\\ufe0f',\n 'thermometer':'\\ud83c\\udf21',\n 'thinking':'\\ud83e\\udd14',\n 'thought_balloon':'\\ud83d\\udcad',\n 'ticket':'\\ud83c\\udfab',\n 'tickets':'\\ud83c\\udf9f',\n 'tiger':'\\ud83d\\udc2f',\n 'tiger2':'\\ud83d\\udc05',\n 'timer_clock':'\\u23f2',\n 'tipping_hand_man':'\\ud83d\\udc81‍\\u2642\\ufe0f',\n 'tired_face':'\\ud83d\\ude2b',\n 'tm':'\\u2122\\ufe0f',\n 'toilet':'\\ud83d\\udebd',\n 'tokyo_tower':'\\ud83d\\uddfc',\n 'tomato':'\\ud83c\\udf45',\n 'tongue':'\\ud83d\\udc45',\n 'top':'\\ud83d\\udd1d',\n 'tophat':'\\ud83c\\udfa9',\n 'tornado':'\\ud83c\\udf2a',\n 'trackball':'\\ud83d\\uddb2',\n 'tractor':'\\ud83d\\ude9c',\n 'traffic_light':'\\ud83d\\udea5',\n 'train':'\\ud83d\\ude8b',\n 'train2':'\\ud83d\\ude86',\n 'tram':'\\ud83d\\ude8a',\n 'triangular_flag_on_post':'\\ud83d\\udea9',\n 'triangular_ruler':'\\ud83d\\udcd0',\n 'trident':'\\ud83d\\udd31',\n 'triumph':'\\ud83d\\ude24',\n 'trolleybus':'\\ud83d\\ude8e',\n 'trophy':'\\ud83c\\udfc6',\n 'tropical_drink':'\\ud83c\\udf79',\n 'tropical_fish':'\\ud83d\\udc20',\n 'truck':'\\ud83d\\ude9a',\n 'trumpet':'\\ud83c\\udfba',\n 'tulip':'\\ud83c\\udf37',\n 'tumbler_glass':'\\ud83e\\udd43',\n 'turkey':'\\ud83e\\udd83',\n 'turtle':'\\ud83d\\udc22',\n 'tv':'\\ud83d\\udcfa',\n 'twisted_rightwards_arrows':'\\ud83d\\udd00',\n 'two_hearts':'\\ud83d\\udc95',\n 'two_men_holding_hands':'\\ud83d\\udc6c',\n 'two_women_holding_hands':'\\ud83d\\udc6d',\n 'u5272':'\\ud83c\\ude39',\n 'u5408':'\\ud83c\\ude34',\n 'u55b6':'\\ud83c\\ude3a',\n 'u6307':'\\ud83c\\ude2f\\ufe0f',\n 'u6708':'\\ud83c\\ude37\\ufe0f',\n 'u6709':'\\ud83c\\ude36',\n 'u6e80':'\\ud83c\\ude35',\n 'u7121':'\\ud83c\\ude1a\\ufe0f',\n 'u7533':'\\ud83c\\ude38',\n 'u7981':'\\ud83c\\ude32',\n 'u7a7a':'\\ud83c\\ude33',\n 'umbrella':'\\u2614\\ufe0f',\n 'unamused':'\\ud83d\\ude12',\n 'underage':'\\ud83d\\udd1e',\n 'unicorn':'\\ud83e\\udd84',\n 'unlock':'\\ud83d\\udd13',\n 'up':'\\ud83c\\udd99',\n 'upside_down_face':'\\ud83d\\ude43',\n 'v':'\\u270c\\ufe0f',\n 'vertical_traffic_light':'\\ud83d\\udea6',\n 'vhs':'\\ud83d\\udcfc',\n 'vibration_mode':'\\ud83d\\udcf3',\n 'video_camera':'\\ud83d\\udcf9',\n 'video_game':'\\ud83c\\udfae',\n 'violin':'\\ud83c\\udfbb',\n 'virgo':'\\u264d\\ufe0f',\n 'volcano':'\\ud83c\\udf0b',\n 'volleyball':'\\ud83c\\udfd0',\n 'vs':'\\ud83c\\udd9a',\n 'vulcan_salute':'\\ud83d\\udd96',\n 'walking_man':'\\ud83d\\udeb6',\n 'walking_woman':'\\ud83d\\udeb6‍\\u2640\\ufe0f',\n 'waning_crescent_moon':'\\ud83c\\udf18',\n 'waning_gibbous_moon':'\\ud83c\\udf16',\n 'warning':'\\u26a0\\ufe0f',\n 'wastebasket':'\\ud83d\\uddd1',\n 'watch':'\\u231a\\ufe0f',\n 'water_buffalo':'\\ud83d\\udc03',\n 'watermelon':'\\ud83c\\udf49',\n 'wave':'\\ud83d\\udc4b',\n 'wavy_dash':'\\u3030\\ufe0f',\n 'waxing_crescent_moon':'\\ud83c\\udf12',\n 'wc':'\\ud83d\\udebe',\n 'weary':'\\ud83d\\ude29',\n 'wedding':'\\ud83d\\udc92',\n 'weight_lifting_man':'\\ud83c\\udfcb\\ufe0f',\n 'weight_lifting_woman':'\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f',\n 'whale':'\\ud83d\\udc33',\n 'whale2':'\\ud83d\\udc0b',\n 'wheel_of_dharma':'\\u2638\\ufe0f',\n 'wheelchair':'\\u267f\\ufe0f',\n 'white_check_mark':'\\u2705',\n 'white_circle':'\\u26aa\\ufe0f',\n 'white_flag':'\\ud83c\\udff3\\ufe0f',\n 'white_flower':'\\ud83d\\udcae',\n 'white_large_square':'\\u2b1c\\ufe0f',\n 'white_medium_small_square':'\\u25fd\\ufe0f',\n 'white_medium_square':'\\u25fb\\ufe0f',\n 'white_small_square':'\\u25ab\\ufe0f',\n 'white_square_button':'\\ud83d\\udd33',\n 'wilted_flower':'\\ud83e\\udd40',\n 'wind_chime':'\\ud83c\\udf90',\n 'wind_face':'\\ud83c\\udf2c',\n 'wine_glass':'\\ud83c\\udf77',\n 'wink':'\\ud83d\\ude09',\n 'wolf':'\\ud83d\\udc3a',\n 'woman':'\\ud83d\\udc69',\n 'woman_artist':'\\ud83d\\udc69‍\\ud83c\\udfa8',\n 'woman_astronaut':'\\ud83d\\udc69‍\\ud83d\\ude80',\n 'woman_cartwheeling':'\\ud83e\\udd38‍\\u2640\\ufe0f',\n 'woman_cook':'\\ud83d\\udc69‍\\ud83c\\udf73',\n 'woman_facepalming':'\\ud83e\\udd26‍\\u2640\\ufe0f',\n 'woman_factory_worker':'\\ud83d\\udc69‍\\ud83c\\udfed',\n 'woman_farmer':'\\ud83d\\udc69‍\\ud83c\\udf3e',\n 'woman_firefighter':'\\ud83d\\udc69‍\\ud83d\\ude92',\n 'woman_health_worker':'\\ud83d\\udc69‍\\u2695\\ufe0f',\n 'woman_judge':'\\ud83d\\udc69‍\\u2696\\ufe0f',\n 'woman_juggling':'\\ud83e\\udd39‍\\u2640\\ufe0f',\n 'woman_mechanic':'\\ud83d\\udc69‍\\ud83d\\udd27',\n 'woman_office_worker':'\\ud83d\\udc69‍\\ud83d\\udcbc',\n 'woman_pilot':'\\ud83d\\udc69‍\\u2708\\ufe0f',\n 'woman_playing_handball':'\\ud83e\\udd3e‍\\u2640\\ufe0f',\n 'woman_playing_water_polo':'\\ud83e\\udd3d‍\\u2640\\ufe0f',\n 'woman_scientist':'\\ud83d\\udc69‍\\ud83d\\udd2c',\n 'woman_shrugging':'\\ud83e\\udd37‍\\u2640\\ufe0f',\n 'woman_singer':'\\ud83d\\udc69‍\\ud83c\\udfa4',\n 'woman_student':'\\ud83d\\udc69‍\\ud83c\\udf93',\n 'woman_teacher':'\\ud83d\\udc69‍\\ud83c\\udfeb',\n 'woman_technologist':'\\ud83d\\udc69‍\\ud83d\\udcbb',\n 'woman_with_turban':'\\ud83d\\udc73‍\\u2640\\ufe0f',\n 'womans_clothes':'\\ud83d\\udc5a',\n 'womans_hat':'\\ud83d\\udc52',\n 'women_wrestling':'\\ud83e\\udd3c‍\\u2640\\ufe0f',\n 'womens':'\\ud83d\\udeba',\n 'world_map':'\\ud83d\\uddfa',\n 'worried':'\\ud83d\\ude1f',\n 'wrench':'\\ud83d\\udd27',\n 'writing_hand':'\\u270d\\ufe0f',\n 'x':'\\u274c',\n 'yellow_heart':'\\ud83d\\udc9b',\n 'yen':'\\ud83d\\udcb4',\n 'yin_yang':'\\u262f\\ufe0f',\n 'yum':'\\ud83d\\ude0b',\n 'zap':'\\u26a1\\ufe0f',\n 'zipper_mouth_face':'\\ud83e\\udd10',\n 'zzz':'\\ud83d\\udca4',\n\n /* special emojis :P */\n 'octocat': '\":octocat:\"',\n 'showdown': 'S'\n};\n\r\n/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\n /**\n * Metadata of the document\n * @type {{parsed: {}, raw: string, format: string}}\n */\n metadata = {\n parsed: {},\n raw: '',\n format: ''\n };\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor () {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension (ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty('listeners')) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading (ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen (name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n function rTrimInputText (text) {\n var rsp = text.match(/^\\s*/)[0].length,\n rgx = new RegExp('^\\\\s{0,' + rsp + '}', 'gm');\n return text.replace(rgx, '');\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @param {{}} globals\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options, globals) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options, globals);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: '',\n format: ''\n }\n };\n\n // This lets us use ¨ trema as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/¨/g, '¨T');\n\n // Replace $ with ¨D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '¨D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Stardardize line spaces\n text = text.replace(/\\u00A0/g, ' ');\n\n if (options.smartIndentationFix) {\n text = rTrimInputText(text);\n }\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n /**\n * Strip any lines consisting only of spaces and tabs.\n * This makes subsequent regexs easier to write, because we can\n * match consecutive blank lines with /\\n+/ instead of something\n * contorted like /[ \\t]*\\n+/\n */\n text = text.replace(/^[ \\t]+$/mg, '');\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('metadata')(text, options, globals);\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashCodeTags')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/¨D/g, '$$');\n\n // attacklab: Restore tremas\n text = text.replace(/¨T/g, '¨');\n\n // render a complete html document instead of a partial if the option is enabled\n text = showdown.subParser('completeHTMLDocument')(text, options, globals);\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // update metadata\n metadata = globals.metadata;\n return text;\n };\n\n /**\n * Converts an HTML string into a markdown string\n * @param src\n * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.\n * @returns {string}\n */\n this.makeMarkdown = this.makeMd = function (src, HTMLParser) {\n\n // replace \\r\\n with \\n\n src = src.replace(/\\r\\n/g, '\\n');\n src = src.replace(/\\r/g, '\\n'); // old macs\n\n // due to an edge case, we need to find this: > <\n // to prevent removing of non silent white spaces\n // ex: this is sparta\n src = src.replace(/>[ \\t]+¨NBSP;<');\n\n if (!HTMLParser) {\n if (window && window.document) {\n HTMLParser = window.document;\n } else {\n throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');\n }\n }\n\n var doc = HTMLParser.createElement('div');\n doc.innerHTML = src;\n\n var globals = {\n preList: substitutePreCodeTags(doc)\n };\n\n // remove all newlines and collapse spaces\n clean(doc);\n\n // some stuff, like accidental reference links must now be escaped\n // TODO\n // doc.innerHTML = doc.innerHTML.replace(/\\[[\\S\\t ]]/);\n\n var nodes = doc.childNodes,\n mdDoc = '';\n\n for (var i = 0; i < nodes.length; i++) {\n mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);\n }\n\n function clean (node) {\n for (var n = 0; n < node.childNodes.length; ++n) {\n var child = node.childNodes[n];\n if (child.nodeType === 3) {\n if (!/\\S/.test(child.nodeValue)) {\n node.removeChild(child);\n --n;\n } else {\n child.nodeValue = child.nodeValue.split('\\n').join(' ');\n child.nodeValue = child.nodeValue.replace(/(\\s)+/g, '$1');\n }\n } else if (child.nodeType === 1) {\n clean(child);\n }\n }\n }\n\n // find all pre tags and replace contents with placeholder\n // we need this so that we can remove all indentation from html\n // to ease up parsing\n function substitutePreCodeTags (doc) {\n\n var pres = doc.querySelectorAll('pre'),\n presPH = [];\n\n for (var i = 0; i < pres.length; ++i) {\n\n if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {\n var content = pres[i].firstChild.innerHTML.trim(),\n language = pres[i].firstChild.getAttribute('data-language') || '';\n\n // if data-language attribute is not defined, then we look for class language-*\n if (language === '') {\n var classes = pres[i].firstChild.className.split(' ');\n for (var c = 0; c < classes.length; ++c) {\n var matches = classes[c].match(/^language-(.+)$/);\n if (matches !== null) {\n language = matches[1];\n break;\n }\n }\n }\n\n // unescape html entities in content\n content = showdown.helper.unescapeHTMLEntities(content);\n\n presPH.push(content);\n pres[i].outerHTML = '';\n } else {\n presPH.push(pres[i].innerHTML);\n pres[i].innerHTML = '';\n pres[i].setAttribute('prenum', i.toString());\n }\n }\n return presPH;\n }\n\n return mdDoc;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n var preset = flavor[name];\n setConvFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n };\n\n /**\n * Get the currently set flavor of this converter\n * @returns {string}\n */\n this.getFlavor = function () {\n return setConvFlavor;\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n\n /**\n * Get the metadata of the previously parsed document\n * @param raw\n * @returns {string|{}}\n */\n this.getMetadata = function (raw) {\n if (raw) {\n return metadata.raw;\n } else {\n return metadata.parsed;\n }\n };\n\n /**\n * Get the metadata format of the previously parsed document\n * @returns {string}\n */\n this.getMetadataFormat = function () {\n return metadata.format;\n };\n\n /**\n * Private: set a single key, value metadata pair\n * @param {string} key\n * @param {string} value\n */\n this._setMetadataPair = function (key, value) {\n metadata.parsed[key] = value;\n };\n\n /**\n * Private: set metadata format\n * @param {string} format\n */\n this._setMetadataFormat = function (format) {\n metadata.format = format;\n };\n\n /**\n * Private: set metadata raw text\n * @param {string} raw\n */\n this._setMetadataRaw = function (raw) {\n metadata.raw = raw;\n };\n};\n\r\n/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('anchors', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('anchors.before', text, options, globals);\n\n var writeAnchorTag = function (wholeMatch, linkText, linkId, url, m5, m6, title) {\n if (showdown.helper.isUndefined(title)) {\n title = '';\n }\n linkId = linkId.toLowerCase();\n\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n } else if (!url) {\n if (!linkId) {\n // lower-case and turn embedded newlines into spaces\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\n url = globals.gUrls[linkId];\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\n title = globals.gTitles[linkId];\n }\n } else {\n return wholeMatch;\n }\n }\n\n //url = showdown.helper.escapeCharacters(url, '*_', false); // replaced line to improve performance\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n\n var result = '';\n\n return result;\n };\n\n // First, handle reference-style links: [link text] [id]\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, writeAnchorTag);\n\n // Next, inline-style links: [link text](url \"optional title\")\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]??(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n text = text.replace(/\\[([^\\[\\]]+)]()()()()()/g, writeAnchorTag);\n\n // Lastly handle GithubMentions if option is enabled\n if (options.ghMentions) {\n text = text.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gmi, function (wm, st, escape, mentions, username) {\n if (escape === '\\\\') {\n return st + mentions;\n }\n\n //check if options.ghMentionsLink is a string\n if (!showdown.helper.isString(options.ghMentionsLink)) {\n throw new Error('ghMentionsLink option must be a string');\n }\n var lnk = options.ghMentionsLink.replace(/\\{u}/g, username),\n target = '';\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return st + '' + mentions + '';\n });\n }\n\n text = globals.converter._dispatch('anchors.after', text, options, globals);\n return text;\n});\n\r\n// url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\nvar simpleURLRegex = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n simpleURLRegex2 = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n delimUrlRegex = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n simpleMailRegex = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gmi,\n delimMailRegex = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n\n replaceLink = function (options) {\n 'use strict';\n return function (wm, leadingMagicChars, link, m2, m3, trailingPunctuation, trailingMagicChars) {\n link = link.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var lnkTxt = link,\n append = '',\n target = '',\n lmc = leadingMagicChars || '',\n tmc = trailingMagicChars || '';\n if (/^www\\./i.test(link)) {\n link = link.replace(/^www\\./i, 'http://www.');\n }\n if (options.excludeTrailingPunctuationFromURLs && trailingPunctuation) {\n append = trailingPunctuation;\n }\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return lmc + '' + lnkTxt + '' + append + tmc;\n };\n },\n\n replaceMail = function (options, globals) {\n 'use strict';\n return function (wholeMatch, b, mail) {\n var href = 'mailto:';\n b = b || '';\n mail = showdown.subParser('unescapeSpecialChars')(mail, options, globals);\n if (options.encodeEmails) {\n href = showdown.helper.encodeEmailAddress(href + mail);\n mail = showdown.helper.encodeEmailAddress(mail);\n } else {\n href = href + mail;\n }\n return b + '' + mail + '';\n };\n };\n\nshowdown.subParser('autoLinks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('autoLinks.before', text, options, globals);\n\n text = text.replace(delimUrlRegex, replaceLink(options));\n text = text.replace(delimMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('autoLinks.after', text, options, globals);\n\n return text;\n});\n\nshowdown.subParser('simplifiedAutoLinks', function (text, options, globals) {\n 'use strict';\n\n if (!options.simplifiedAutoLink) {\n return text;\n }\n\n text = globals.converter._dispatch('simplifiedAutoLinks.before', text, options, globals);\n\n if (options.excludeTrailingPunctuationFromURLs) {\n text = text.replace(simpleURLRegex2, replaceLink(options));\n } else {\n text = text.replace(simpleURLRegex, replaceLink(options));\n }\n text = text.replace(simpleMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('simplifiedAutoLinks.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('blockGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockGamut.before', text, options, globals);\n\n // we parse blockquotes first so that we can have headings and hrs\n // inside blockquotes\n text = showdown.subParser('blockQuotes')(text, options, globals);\n text = showdown.subParser('headers')(text, options, globals);\n\n // Do Horizontal Rules:\n text = showdown.subParser('horizontalRule')(text, options, globals);\n\n text = showdown.subParser('lists')(text, options, globals);\n text = showdown.subParser('codeBlocks')(text, options, globals);\n text = showdown.subParser('tables')(text, options, globals);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n //

tags around block-level tags.\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('paragraphs')(text, options, globals);\n\n text = globals.converter._dispatch('blockGamut.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('blockQuotes', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockQuotes.before', text, options, globals);\n\n // add a couple extra lines after the text and endtext mark\n text = text + '\\n\\n';\n\n var rgx = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n\n if (options.splitAdjacentBlockquotes) {\n rgx = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm;\n }\n\n text = text.replace(rgx, function (bq) {\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, ''); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/¨0/g, '');\n\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\n\n bq = bq.replace(/(^|\\n)/g, '$1 ');\n // These leading spaces screw with

 content, so we need to fix that:\n    bq = bq.replace(/(\\s*
[^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\n      var pre = m1;\n      // attacklab: hack around Konqueror 3.5.4 bug:\n      pre = pre.replace(/^  /mg, '¨0');\n      pre = pre.replace(/¨0/g, '');\n      return pre;\n    });\n\n    return showdown.subParser('hashBlock')('
\\n' + bq + '\\n
', options, globals);\n });\n\n text = globals.converter._dispatch('blockQuotes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Process Markdown `
` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options, globals);\n\n  // sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '¨0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=¨0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock, options, globals);\n    codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n    codeblock = showdown.subParser('detab')(codeblock, options, globals);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
' + codeblock + end + '
';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n * * Backtick quotes are used for spans.\n *\n * * You can use multiple backticks as the delimiters if you want to\n * include literal backticks in the code span. So, this input:\n *\n * Just type ``foo `bar` baz`` at the prompt.\n *\n * Will translate to:\n *\n *

Just type foo `bar` baz at the prompt.

\n *\n * There's no arbitrary limit to the number of backticks you\n * can use as delimters. If you need three consecutive backticks\n * in your code, use four for delimiters, etc.\n *\n * * You can use spaces to get literal backticks at the edges:\n *\n * ... type `` `bar` `` ...\n *\n * Turns to:\n *\n * ... type `bar` ...\n */\nshowdown.subParser('codeSpans', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeSpans.before', text, options, globals);\n\n if (typeof(text) === 'undefined') {\n text = '';\n }\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\n c = showdown.subParser('encodeCode')(c, options, globals);\n c = m1 + '' + c + '';\n c = showdown.subParser('hashHTMLSpans')(c, options, globals);\n return c;\n }\n );\n\n text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Create a full HTML document from the processed markdown\n */\nshowdown.subParser('completeHTMLDocument', function (text, options, globals) {\n 'use strict';\n\n if (!options.completeHTMLDocument) {\n return text;\n }\n\n text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals);\n\n var doctype = 'html',\n doctypeParsed = '\\n',\n title = '',\n charset = '\\n',\n lang = '',\n metadata = '';\n\n if (typeof globals.metadata.parsed.doctype !== 'undefined') {\n doctypeParsed = '\\n';\n doctype = globals.metadata.parsed.doctype.toString().toLowerCase();\n if (doctype === 'html' || doctype === 'html5') {\n charset = '';\n }\n }\n\n for (var meta in globals.metadata.parsed) {\n if (globals.metadata.parsed.hasOwnProperty(meta)) {\n switch (meta.toLowerCase()) {\n case 'doctype':\n break;\n\n case 'title':\n title = '' + globals.metadata.parsed.title + '\\n';\n break;\n\n case 'charset':\n if (doctype === 'html' || doctype === 'html5') {\n charset = '\\n';\n } else {\n charset = '\\n';\n }\n break;\n\n case 'language':\n case 'lang':\n lang = ' lang=\"' + globals.metadata.parsed[meta] + '\"';\n metadata += '\\n';\n break;\n\n default:\n metadata += '\\n';\n }\n }\n }\n\n text = doctypeParsed + '\\n\\n' + title + charset + metadata + '\\n\\n' + text.trim() + '\\n\\n';\n\n text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Convert all tabs to spaces\n */\nshowdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('detab.before', text, options, globals);\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, '¨A¨B');\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/¨B(.+?)¨A/g, function (wholeMatch, m1) {\n var leadingText = m1,\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) {\n leadingText += ' ';\n }\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/¨A/g, ' '); // g_tab_width\n text = text.replace(/¨B/g, '');\n\n text = globals.converter._dispatch('detab.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('ellipsis', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('ellipsis.before', text, options, globals);\n\n text = text.replace(/\\.\\.\\./g, '…');\n\n text = globals.converter._dispatch('ellipsis.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\nshowdown.subParser('emoji', function (text, options, globals) {\n 'use strict';\n\n if (!options.emoji) {\n return text;\n }\n\n text = globals.converter._dispatch('emoji.before', text, options, globals);\n\n var emojiRgx = /:([\\S]+?):/g;\n\n text = text.replace(emojiRgx, function (wm, emojiCode) {\n if (showdown.helper.emojis.hasOwnProperty(emojiCode)) {\n return showdown.helper.emojis[emojiCode];\n }\n return wm;\n });\n\n text = globals.converter._dispatch('emoji.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\nshowdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals);\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?$!])/gi, '<');\n\n // Encode <\n text = text.replace(/\n text = text.replace(/>/g, '>');\n\n text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Returns the string, with after processing the following backslash escape sequences.\n *\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\n *\n * text = escapeCharacters(text,\"\\\\\",true);\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n *\n * ...but we're sidestepping its use of the (slow) RegExp constructor\n * as an optimization for Firefox. This function gets called a LOT.\n */\nshowdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);\n\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Encode/escape certain characters inside Markdown code runs.\n * The point is that in code, these characters are literals,\n * and lose their special Markdown meanings.\n */\nshowdown.subParser('encodeCode', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('encodeCode.before', text, options, globals);\n\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text\n .replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(//g, '>')\n // Now, escape characters that are magic in Markdown:\n .replace(/([*_{}\\[\\]\\\\=~-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeCode.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Within tags -- meaning between < and > -- encode [\\ ` * _ ~ =] so they\n * don't conflict with their use in Markdown for code, italics and strong.\n */\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', text, options, globals);\n\n // Build a regex to find HTML tags.\n var tags = /<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi,\n comments = /-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;\n\n text = text.replace(tags, function (wholeMatch) {\n return wholeMatch\n .replace(/(.)<\\/?code>(?=.)/g, '$1`')\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Handle github codeblocks prior to running HashHTML so that\n * HTML contained within the codeblock gets escaped properly\n * Example:\n * ```ruby\n * def hello_world(x)\n * puts \"Hello, #{x}\"\n * end\n * ```\n */\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n if (!options.ghCodeBlocks) {\n return text;\n }\n\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options, globals);\n\n text += '¨0';\n\n text = text.replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (wholeMatch, delim, language, codeblock) {\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\n\n // First parse the github code block\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\n\n codeblock = '
' + codeblock + end + '
';\n\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\n\n // Since GHCodeblocks can be false positives, we need to\n // store the primitive text and the parsed text in a global var,\n // and then return a token\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n });\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return globals.converter._dispatch('githubCodeBlocks.after', text, options, globals);\n});\n\r\nshowdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashBlock.before', text, options, globals);\n text = text.replace(/(^\\n+|\\n+$)/g, '');\n text = '\\n\\n¨K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\n text = globals.converter._dispatch('hashBlock.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape elements that should not be parsed as markdown\n */\nshowdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '¨C' + (globals.gHtmlSpans.push(codeblock) - 1) + 'C';\n };\n\n // Hash naked \n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, ']*>', '', 'gim');\n\n text = globals.converter._dispatch('hashCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('hashElement', function (text, options, globals) {\n 'use strict';\n\n return function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, '\\n');\n blockText = blockText.replace(/^\\n/, '');\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, '');\n\n // Replace the element text with a marker (\"¨KxK\" where x is its key)\n blockText = '\\n\\n¨K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\n\n return blockText;\n };\n});\n\r\nshowdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = [\n 'pre',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'blockquote',\n 'table',\n 'dl',\n 'ol',\n 'ul',\n 'script',\n 'noscript',\n 'form',\n 'fieldset',\n 'iframe',\n 'math',\n 'style',\n 'section',\n 'header',\n 'footer',\n 'nav',\n 'article',\n 'aside',\n 'address',\n 'audio',\n 'canvas',\n 'figure',\n 'hgroup',\n 'output',\n 'video',\n 'p'\n ],\n repFunc = function (wholeMatch, match, left, right) {\n var txt = wholeMatch;\n // check if this html element is marked as markdown\n // if so, it's contents should be parsed as markdown\n if (left.search(/\\bmarkdown\\b/) !== -1) {\n txt = left + globals.converter.makeHtml(match) + right;\n }\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n };\n\n if (options.backslashEscapesHTMLTags) {\n // encode backslash escaped HTML tags\n text = text.replace(/\\\\<(\\/?[^>]+?)>/g, function (wm, inside) {\n return '<' + inside + '>';\n });\n }\n\n // hash HTML Blocks\n for (var i = 0; i < blockTags.length; ++i) {\n\n var opTagPos,\n rgx1 = new RegExp('^ {0,3}(<' + blockTags[i] + '\\\\b[^>]*>)', 'im'),\n patLeft = '<' + blockTags[i] + '\\\\b[^>]*>',\n patRight = '';\n // 1. Look for the first position of the first opening HTML tag in the text\n while ((opTagPos = showdown.helper.regexIndexOf(text, rgx1)) !== -1) {\n\n // if the HTML tag is \\ escaped, we need to escape it and break\n\n\n //2. Split the text in that position\n var subTexts = showdown.helper.splitAtIndex(text, opTagPos),\n //3. Match recursively\n newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');\n\n // prevent an infinite loop\n if (newSubText1 === subTexts[1]) {\n break;\n }\n text = subTexts[0].concat(newSubText1);\n }\n }\n // HR SPECIAL CASE\n text = text.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n // Special case for standalone HTML comments\n text = showdown.helper.replaceRecursiveRegExp(text, function (txt) {\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n }, '^ {0,3}', 'gm');\n\n // PHP and ASP-style processor instructions ( and <%...%>)\n text = text.replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals);\n\n function hashHTMLSpan (html) {\n return '¨C' + (globals.gHtmlSpans.push(html) - 1) + 'C';\n }\n\n // Hash Self Closing tags\n text = text.replace(/<[^>]+?\\/>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags without properties\n text = text.replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags with properties\n text = text.replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash self closing tags without />\n text = text.replace(/<[^>]+?>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n /*showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');*/\n\n text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals);\n return text;\n});\n\n/**\n * Unhash HTML spans\n */\nshowdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals);\n\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\n var repText = globals.gHtmlSpans[i],\n // limiter to prevent infinite loop (assume 10 as limit for recurse)\n limit = 0;\n\n while (/¨C(\\d+)C/.test(repText)) {\n var num = RegExp.$1;\n repText = repText.replace('¨C' + num + 'C', globals.gHtmlSpans[num]);\n if (limit === 10) {\n console.error('maximum nesting of 10 spans reached!!!');\n break;\n }\n ++limit;\n }\n text = text.replace('¨C' + i + 'C', repText);\n }\n\n text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape
 elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, options, globals) {\n  'use strict';\n  text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n  var repFunc = function (wholeMatch, match, left, right) {\n    // encode html entities\n    var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n    return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n  };\n\n  // Hash 
\n  text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}]*>\\\\s*]*>', '^ {0,3}\\\\s*
', 'gim');\n\n text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('headers', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('headers.before', text, options, globals);\n\n var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\n\n // Set text-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\n\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n text = text.replace(setextRegexH2, function (matchFound, m1) {\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart + 1,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n var atxStyle = (options.requireSpaceBeforeHeadingText) ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n\n text = text.replace(atxStyle, function (wholeMatch, m1, m2) {\n var hText = m2;\n if (options.customizedHeaderId) {\n hText = m2.replace(/\\s?\\{([^{]+?)}\\s*$/, '');\n }\n\n var span = showdown.subParser('spanGamut')(hText, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\n hLevel = headerLevelStart - 1 + m1.length,\n header = '' + span + '';\n\n return showdown.subParser('hashBlock')(header, options, globals);\n });\n\n function headerId (m) {\n var title,\n prefix;\n\n // It is separate from other options to allow combining prefix and customized\n if (options.customizedHeaderId) {\n var match = m.match(/\\{([^{]+?)}\\s*$/);\n if (match && match[1]) {\n m = match[1];\n }\n }\n\n title = m;\n\n // Prefix id to prevent causing inadvertent pre-existing style matches.\n if (showdown.helper.isString(options.prefixHeaderId)) {\n prefix = options.prefixHeaderId;\n } else if (options.prefixHeaderId === true) {\n prefix = 'section-';\n } else {\n prefix = '';\n }\n\n if (!options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (options.ghCompatibleHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '')\n .replace(/¨T/g, '')\n .replace(/¨D/g, '')\n // replace rest of the chars (&~$ are repeated as they might have been escaped)\n // borrowed from github's redcarpet (some they should produce similar results)\n .replace(/[&+$,\\/:;=?@\"#{}|^¨~\\[\\]`\\\\*)(%.!'<>]/g, '')\n .toLowerCase();\n } else if (options.rawHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&')\n .replace(/¨T/g, '¨')\n .replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-')\n .toLowerCase();\n } else {\n title = title\n .replace(/[^\\w]/g, '')\n .toLowerCase();\n }\n\n if (options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (globals.hashLinkCounts[title]) {\n title = title + '-' + (globals.hashLinkCounts[title]++);\n } else {\n globals.hashLinkCounts[title] = 1;\n }\n return title;\n }\n\n text = globals.converter._dispatch('headers.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('horizontalRule.before', text, options, globals);\n\n var key = showdown.subParser('hashBlock')('
', options, globals);\n text = text.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, key);\n\n text = globals.converter._dispatch('horizontalRule.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown image shortcuts into tags.\n */\nshowdown.subParser('images', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('images.before', text, options, globals);\n\n var inlineRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n crazyRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g,\n base64RegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n referenceRegExp = /!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g,\n refShortcutRegExp = /!\\[([^\\[\\]]+)]()()()()()/g;\n\n function writeImageTagBase64 (wholeMatch, altText, linkId, url, width, height, m5, title) {\n url = url.replace(/\\s/g, '');\n return writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title);\n }\n\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\n\n var gUrls = globals.gUrls,\n gTitles = globals.gTitles,\n gDims = globals.gDimensions;\n\n linkId = linkId.toLowerCase();\n\n if (!title) {\n title = '';\n }\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n\n } else if (url === '' || url === null) {\n if (linkId === '' || linkId === null) {\n // lower-case and turn embedded newlines into spaces\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\n url = gUrls[linkId];\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\n title = gTitles[linkId];\n }\n if (!showdown.helper.isUndefined(gDims[linkId])) {\n width = gDims[linkId].width;\n height = gDims[linkId].height;\n }\n } else {\n return wholeMatch;\n }\n }\n\n altText = altText\n .replace(/\"/g, '"')\n //altText = showdown.helper.escapeCharacters(altText, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n //url = showdown.helper.escapeCharacters(url, '*_', false);\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var result = '\"'x \"optional title\")\n\n // base64 encoded images\n text = text.replace(base64RegExp, writeImageTagBase64);\n\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(crazyRegExp, writeImageTag);\n\n // normal cases\n text = text.replace(inlineRegExp, writeImageTag);\n\n // handle reference-style shortcuts: ![img text]\n text = text.replace(refShortcutRegExp, writeImageTag);\n\n text = globals.converter._dispatch('images.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('italicsAndBold', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('italicsAndBold.before', text, options, globals);\n\n // it's faster to have 3 separate regexes for each case than have just one\n // because of backtracing, in some cases, it could lead to an exponential effect\n // called \"catastrophic backtrace\". Ominous!\n\n function parseInside (txt, left, right) {\n /*\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n */\n return left + txt + right;\n }\n\n // Parse underscores\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/_([^\\s_][\\s\\S]*?)_/g, function (wm, m) {\n // !/^_[^_]/.test(m) - test if it doesn't start with __ (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n // Now parse asterisks\n if (options.literalMidWordAsterisks) {\n text = text.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n } else {\n text = text.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (wm, m) {\n // !/^\\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n\n text = globals.converter._dispatch('italicsAndBold.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\nshowdown.subParser('lists', function (text, options, globals) {\n 'use strict';\n\n /**\n * Process the contents of a single ordered or unordered list, splitting it\n * into individual list items.\n * @param {string} listStr\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function processListItems (listStr, trimTrailing) {\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n globals.gListLevel++;\n\n // trim trailing blank lines:\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\n\n // attacklab: add sentinel to emulate \\z\n listStr += '¨0';\n\n var rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n isParagraphed = (/\\n[ \\t]*\\n(?!¨0)/.test(listStr));\n\n // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,\n // which is a syntax breaking change\n // activating this option reverts to old behavior\n if (options.disableForced4SpacesIndentedSublists) {\n rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0|\\2([*+-]|\\d+[.])[ \\t]+))/gm;\n }\n\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\n checked = (checked && checked.trim() !== '');\n\n var item = showdown.subParser('outdent')(m4, options, globals),\n bulletStyle = '';\n\n // Support for github tasklists\n if (taskbtn && options.tasklists) {\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\n item = item.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var otp = '
  • a
  • \n // instead of:\n //
    • - - a
    \n // So, to prevent it, we will put a marker (¨A)in the beginning of the line\n // Kind of hackish/monkey patching, but seems more effective than overcomplicating the list parser\n item = item.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (wm2) {\n return '¨A' + wm2;\n });\n\n // m1 - Leading line or\n // Has a double return (multi paragraph) or\n // Has sublist\n if (m1 || (item.search(/\\n{2,}/) > -1)) {\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\n item = showdown.subParser('blockGamut')(item, options, globals);\n } else {\n // Recursion for sub-lists:\n item = showdown.subParser('lists')(item, options, globals);\n item = item.replace(/\\n$/, ''); // chomp(item)\n item = showdown.subParser('hashHTMLBlocks')(item, options, globals);\n\n // Colapse double linebreaks\n item = item.replace(/\\n\\n+/g, '\\n\\n');\n if (isParagraphed) {\n item = showdown.subParser('paragraphs')(item, options, globals);\n } else {\n item = showdown.subParser('spanGamut')(item, options, globals);\n }\n }\n\n // now we need to remove the marker (¨A)\n item = item.replace('¨A', '');\n // we can finally wrap the line in list item tags\n item = '' + item + '\\n';\n\n return item;\n });\n\n // attacklab: strip sentinel\n listStr = listStr.replace(/¨0/g, '');\n\n globals.gListLevel--;\n\n if (trimTrailing) {\n listStr = listStr.replace(/\\s+$/, '');\n }\n\n return listStr;\n }\n\n function styleStartNumber (list, listType) {\n // check if ol and starts by a number different than 1\n if (listType === 'ol') {\n var res = list.match(/^ *(\\d+)\\./);\n if (res && res[1] !== '1') {\n return ' start=\"' + res[1] + '\"';\n }\n }\n return '';\n }\n\n /**\n * Check and parse consecutive lists (better fix for issue #142)\n * @param {string} list\n * @param {string} listType\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function parseConsecutiveLists (list, listType, trimTrailing) {\n // check if we caught 2 or more consecutive lists by mistake\n // we use the counterRgx, meaning if listType is UL we look for OL and vice versa\n var olRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n ulRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n counterRxg = (listType === 'ul') ? olRgx : ulRgx,\n result = '';\n\n if (list.search(counterRxg) !== -1) {\n (function parseCL (txt) {\n var pos = txt.search(counterRxg),\n style = styleStartNumber(list, listType);\n if (pos !== -1) {\n // slice\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n';\n\n // invert counterType and listType\n listType = (listType === 'ul') ? 'ol' : 'ul';\n counterRxg = (listType === 'ul') ? olRgx : ulRgx;\n\n //recurse\n parseCL(txt.slice(pos));\n } else {\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt, !!trimTrailing) + '\\n';\n }\n })(list);\n } else {\n var style = styleStartNumber(list, listType);\n result = '\\n\\n<' + listType + style + '>\\n' + processListItems(list, !!trimTrailing) + '\\n';\n }\n\n return result;\n }\n\n /** Start of list parsing **/\n text = globals.converter._dispatch('lists.before', text, options, globals);\n // add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += '¨0';\n\n if (globals.gListLevel) {\n text = text.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, list, m2) {\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n }\n );\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, m1, list, m3) {\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\n }\n );\n }\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n text = globals.converter._dispatch('lists.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Parse metadata at the top of the document\n */\nshowdown.subParser('metadata', function (text, options, globals) {\n 'use strict';\n\n if (!options.metadata) {\n return text;\n }\n\n text = globals.converter._dispatch('metadata.before', text, options, globals);\n\n function parseMetadataContents (content) {\n // raw is raw so it's not changed in any way\n globals.metadata.raw = content;\n\n // escape chars forbidden in html attributes\n // double quotes\n content = content\n // ampersand first\n .replace(/&/g, '&')\n // double quotes\n .replace(/\"/g, '"');\n\n content = content.replace(/\\n {4}/g, ' ');\n content.replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (wm, key, value) {\n globals.metadata.parsed[key] = value;\n return '';\n });\n }\n\n text = text.replace(/^\\s*«««+(\\S*?)\\n([\\s\\S]+?)\\n»»»+\\n/, function (wholematch, format, content) {\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (wholematch, format, content) {\n if (format) {\n globals.metadata.format = format;\n }\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/¨M/g, '');\n\n text = globals.converter._dispatch('metadata.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Remove one level of line-leading tabs or spaces\n */\nshowdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('outdent.before', text, options, globals);\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '¨0'); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/¨0/g, '');\n\n text = globals.converter._dispatch('outdent.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options, globals);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

    tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/¨(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n\n // test for presence of characters to prevent empty lines being parsed\n // as paragraphs (resulting in undesired extra empty paragraphs)\n } else if (str.search(/\\S/) >= 0) {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

    ');\n str += '

    ';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n // use RegExp.test instead of string.search because of QML bug\n while (/¨(K|G)(\\d+)\\1/.test(grafsOutIt)) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text, options, globals);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?¨(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options, globals);\n});\n\r\n/**\n * Run extension\n */\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\n\n } else if (ext.regex) {\n // TODO remove this when old extension loading mechanism is deprecated\n var re = ext.regex;\n if (!(re instanceof RegExp)) {\n re = new RegExp(re, 'g');\n }\n text = text.replace(re, ext.replace);\n }\n\n return text;\n});\n\r\n/**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('spanGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('spanGamut.before', text, options, globals);\n text = showdown.subParser('codeSpans')(text, options, globals);\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = showdown.subParser('images')(text, options, globals);\n text = showdown.subParser('anchors')(text, options, globals);\n\n // Make links out of things like ``\n // Must come after anchors, because you can use < and >\n // delimiters in inline links like [this]().\n text = showdown.subParser('autoLinks')(text, options, globals);\n text = showdown.subParser('simplifiedAutoLinks')(text, options, globals);\n text = showdown.subParser('emoji')(text, options, globals);\n text = showdown.subParser('underline')(text, options, globals);\n text = showdown.subParser('italicsAndBold')(text, options, globals);\n text = showdown.subParser('strikethrough')(text, options, globals);\n text = showdown.subParser('ellipsis')(text, options, globals);\n\n // we need to hash HTML tags inside spans\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n\n // now we encode amps and angles\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\n\n // Do hard breaks\n if (options.simpleLineBreaks) {\n // GFM style hard breaks\n // only add line breaks if the text does not contain a block (special case for lists)\n if (!/\\n\\n¨K/.test(text)) {\n text = text.replace(/\\n+/g, '
    \\n');\n }\n } else {\n // Vanilla hard breaks\n text = text.replace(/ +\\n/g, '
    \\n');\n }\n\n text = globals.converter._dispatch('spanGamut.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('strikethrough', function (text, options, globals) {\n 'use strict';\n\n function parseInside (txt) {\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n return '' + txt + '';\n }\n\n if (options.strikethrough) {\n text = globals.converter._dispatch('strikethrough.before', text, options, globals);\n text = text.replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (wm, txt) { return parseInside(txt); });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n});\n\r\n/**\n * Strips link definitions from text, stores the URLs and titles in\n * hash references.\n * Link defs are in the form: ^[id]: url \"optional title\"\n */\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\n 'use strict';\n\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=¨0))/gm,\n base64Regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=¨0)|(?=\\n\\[))/gm;\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {\n linkId = linkId.toLowerCase();\n if (url.match(/^data:.+?\\/.+?;base64,/)) {\n // remove newlines\n globals.gUrls[linkId] = url.replace(/\\s/g, '');\n } else {\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url, options, globals); // Link IDs are case-insensitive\n }\n\n if (blankLines) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return blankLines + title;\n\n } else {\n if (title) {\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\n }\n if (options.parseImgDimensions && width && height) {\n globals.gDimensions[linkId] = {\n width: width,\n height: height\n };\n }\n }\n // Completely remove the definition from the text\n return '';\n };\n\n // first we try to find base64 link references\n text = text.replace(base64Regex, replaceFunc);\n\n text = text.replace(regex, replaceFunc);\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return text;\n});\n\r\nshowdown.subParser('tables', function (text, options, globals) {\n 'use strict';\n\n if (!options.tables) {\n return text;\n }\n\n var tableRgx = /^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|¨0)/gm,\n //singeColTblRgx = /^ {0,3}\\|.+\\|\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n(?: {0,3}\\|.+\\|\\n)+(?:\\n\\n|¨0)/gm;\n singeColTblRgx = /^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|¨0)/gm;\n\n function parseStyles (sLine) {\n if (/^:[ \\t]*--*$/.test(sLine)) {\n return ' style=\"text-align:left;\"';\n } else if (/^--*[ \\t]*:[ \\t]*$/.test(sLine)) {\n return ' style=\"text-align:right;\"';\n } else if (/^:[ \\t]*--*[ \\t]*:$/.test(sLine)) {\n return ' style=\"text-align:center;\"';\n } else {\n return '';\n }\n }\n\n function parseHeaders (header, style) {\n var id = '';\n header = header.trim();\n // support both tablesHeaderId and tableHeaderId due to error in documentation so we don't break backwards compatibility\n if (options.tablesHeaderId || options.tableHeaderId) {\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\n }\n header = showdown.subParser('spanGamut')(header, options, globals);\n\n return '' + header + '\\n';\n }\n\n function parseCells (cell, style) {\n var subText = showdown.subParser('spanGamut')(cell, options, globals);\n return '' + subText + '\\n';\n }\n\n function buildTable (headers, cells) {\n var tb = '\\n\\n\\n',\n tblLgn = headers.length;\n\n for (var i = 0; i < tblLgn; ++i) {\n tb += headers[i];\n }\n tb += '\\n\\n\\n';\n\n for (i = 0; i < cells.length; ++i) {\n tb += '\\n';\n for (var ii = 0; ii < tblLgn; ++ii) {\n tb += cells[i][ii];\n }\n tb += '\\n';\n }\n tb += '\\n
    \\n';\n return tb;\n }\n\n function parseTable (rawTable) {\n var i, tableLines = rawTable.split('\\n');\n\n for (i = 0; i < tableLines.length; ++i) {\n // strip wrong first and last column if wrapped tables are used\n if (/^ {0,3}\\|/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/^ {0,3}\\|/, '');\n }\n if (/\\|[ \\t]*$/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/\\|[ \\t]*$/, '');\n }\n // parse code spans first, but we only support one line code spans\n tableLines[i] = showdown.subParser('codeSpans')(tableLines[i], options, globals);\n }\n\n var rawHeaders = tableLines[0].split('|').map(function (s) { return s.trim();}),\n rawStyles = tableLines[1].split('|').map(function (s) { return s.trim();}),\n rawCells = [],\n headers = [],\n styles = [],\n cells = [];\n\n tableLines.shift();\n tableLines.shift();\n\n for (i = 0; i < tableLines.length; ++i) {\n if (tableLines[i].trim() === '') {\n continue;\n }\n rawCells.push(\n tableLines[i]\n .split('|')\n .map(function (s) {\n return s.trim();\n })\n );\n }\n\n if (rawHeaders.length < rawStyles.length) {\n return rawTable;\n }\n\n for (i = 0; i < rawStyles.length; ++i) {\n styles.push(parseStyles(rawStyles[i]));\n }\n\n for (i = 0; i < rawHeaders.length; ++i) {\n if (showdown.helper.isUndefined(styles[i])) {\n styles[i] = '';\n }\n headers.push(parseHeaders(rawHeaders[i], styles[i]));\n }\n\n for (i = 0; i < rawCells.length; ++i) {\n var row = [];\n for (var ii = 0; ii < headers.length; ++ii) {\n if (showdown.helper.isUndefined(rawCells[i][ii])) {\n\n }\n row.push(parseCells(rawCells[i][ii], styles[ii]));\n }\n cells.push(row);\n }\n\n return buildTable(headers, cells);\n }\n\n text = globals.converter._dispatch('tables.before', text, options, globals);\n\n // find escaped pipe characters\n text = text.replace(/\\\\(\\|)/g, showdown.helper.escapeCharactersCallback);\n\n // parse multi column tables\n text = text.replace(tableRgx, parseTable);\n\n // parse one column tables\n text = text.replace(singeColTblRgx, parseTable);\n\n text = globals.converter._dispatch('tables.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('underline', function (text, options, globals) {\n 'use strict';\n\n if (!options.underline) {\n return text;\n }\n\n text = globals.converter._dispatch('underline.before', text, options, globals);\n\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n }\n\n // escape remaining underscores to prevent them being parsed by italic and bold\n text = text.replace(/(_)/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('underline.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Swap back in all the special characters we've hidden.\n */\nshowdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unescapeSpecialChars.before', text, options, globals);\n\n text = text.replace(/¨E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n\n text = globals.converter._dispatch('unescapeSpecialChars.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('makeMarkdown.blockquote', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);\n\n if (innerTxt === '') {\n continue;\n }\n txt += innerTxt;\n }\n }\n // cleanup\n txt = txt.trim();\n txt = '> ' + txt.split('\\n').join('\\n> ');\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.codeBlock', function (node, globals) {\n 'use strict';\n\n var lang = node.getAttribute('language'),\n num = node.getAttribute('precodenum');\n return '```' + lang + '\\n' + globals.preList[num] + '\\n```';\n});\n\r\nshowdown.subParser('makeMarkdown.codeSpan', function (node) {\n 'use strict';\n\n return '`' + node.innerHTML + '`';\n});\n\r\nshowdown.subParser('makeMarkdown.emphasis', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '*';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '*';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {\n 'use strict';\n\n var headerMark = new Array(headerLevel + 1).join('#'),\n txt = '';\n\n if (node.hasChildNodes()) {\n txt = headerMark + ' ';\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.hr', function () {\n 'use strict';\n\n return '---';\n});\n\r\nshowdown.subParser('makeMarkdown.image', function (node) {\n 'use strict';\n\n var txt = '';\n if (node.hasAttribute('src')) {\n txt += '![' + node.getAttribute('alt') + '](';\n txt += '<' + node.getAttribute('src') + '>';\n if (node.hasAttribute('width') && node.hasAttribute('height')) {\n txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');\n }\n\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.links', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes() && node.hasAttribute('href')) {\n var children = node.childNodes,\n childrenLength = children.length;\n txt = '[';\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '](';\n txt += '<' + node.getAttribute('href') + '>';\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.list', function (node, globals, type) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var listItems = node.childNodes,\n listItemsLenght = listItems.length,\n listNum = node.getAttribute('start') || 1;\n\n for (var i = 0; i < listItemsLenght; ++i) {\n if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {\n continue;\n }\n\n // define the bullet to use in list\n var bullet = '';\n if (type === 'ol') {\n bullet = listNum.toString() + '. ';\n } else {\n bullet = '- ';\n }\n\n // parse list item\n txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);\n ++listNum;\n }\n\n // add comment at the end to prevent consecutive lists to be parsed as one\n txt += '\\n\\n';\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.listItem', function (node, globals) {\n 'use strict';\n\n var listItemTxt = '';\n\n var children = node.childNodes,\n childrenLenght = children.length;\n\n for (var i = 0; i < childrenLenght; ++i) {\n listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n // if it's only one liner, we need to add a newline at the end\n if (!/\\n$/.test(listItemTxt)) {\n listItemTxt += '\\n';\n } else {\n // it's multiparagraph, so we need to indent\n listItemTxt = listItemTxt\n .split('\\n')\n .join('\\n ')\n .replace(/^ {4}$/gm, '')\n .replace(/\\n\\n+/g, '\\n\\n');\n }\n\n return listItemTxt;\n});\n\r\n\n\nshowdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {\n 'use strict';\n\n spansOnly = spansOnly || false;\n\n var txt = '';\n\n // edge case of text without wrapper paragraph\n if (node.nodeType === 3) {\n return showdown.subParser('makeMarkdown.txt')(node, globals);\n }\n\n // HTML comment\n if (node.nodeType === 8) {\n return '\\n\\n';\n }\n\n // process only node elements\n if (node.nodeType !== 1) {\n return '';\n }\n\n var tagName = node.tagName.toLowerCase();\n\n switch (tagName) {\n\n //\n // BLOCKS\n //\n case 'h1':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\\n\\n'; }\n break;\n case 'h2':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\\n\\n'; }\n break;\n case 'h3':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\\n\\n'; }\n break;\n case 'h4':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\\n\\n'; }\n break;\n case 'h5':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\\n\\n'; }\n break;\n case 'h6':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\\n\\n'; }\n break;\n\n case 'p':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\\n\\n'; }\n break;\n\n case 'blockquote':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\\n\\n'; }\n break;\n\n case 'hr':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\\n\\n'; }\n break;\n\n case 'ol':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\\n\\n'; }\n break;\n\n case 'ul':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\\n\\n'; }\n break;\n\n case 'precode':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\\n\\n'; }\n break;\n\n case 'pre':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\\n\\n'; }\n break;\n\n case 'table':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\\n\\n'; }\n break;\n\n //\n // SPANS\n //\n case 'code':\n txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);\n break;\n\n case 'em':\n case 'i':\n txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);\n break;\n\n case 'strong':\n case 'b':\n txt = showdown.subParser('makeMarkdown.strong')(node, globals);\n break;\n\n case 'del':\n txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);\n break;\n\n case 'a':\n txt = showdown.subParser('makeMarkdown.links')(node, globals);\n break;\n\n case 'img':\n txt = showdown.subParser('makeMarkdown.image')(node, globals);\n break;\n\n default:\n txt = node.outerHTML + '\\n\\n';\n }\n\n // common normalization\n // TODO eventually\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.paragraph', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n\n // some text normalization\n txt = txt.trim();\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.pre', function (node, globals) {\n 'use strict';\n\n var num = node.getAttribute('prenum');\n return '
    ' + globals.preList[num] + '
    ';\n});\n\r\nshowdown.subParser('makeMarkdown.strikethrough', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '~~';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '~~';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.strong', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '**';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '**';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.table', function (node, globals) {\n 'use strict';\n\n var txt = '',\n tableArray = [[], []],\n headings = node.querySelectorAll('thead>tr>th'),\n rows = node.querySelectorAll('tbody>tr'),\n i, ii;\n for (i = 0; i < headings.length; ++i) {\n var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),\n allign = '---';\n\n if (headings[i].hasAttribute('style')) {\n var style = headings[i].getAttribute('style').toLowerCase().replace(/\\s/g, '');\n switch (style) {\n case 'text-align:left;':\n allign = ':---';\n break;\n case 'text-align:right;':\n allign = '---:';\n break;\n case 'text-align:center;':\n allign = ':---:';\n break;\n }\n }\n tableArray[0][i] = headContent.trim();\n tableArray[1][i] = allign;\n }\n\n for (i = 0; i < rows.length; ++i) {\n var r = tableArray.push([]) - 1,\n cols = rows[i].getElementsByTagName('td');\n\n for (ii = 0; ii < headings.length; ++ii) {\n var cellContent = ' ';\n if (typeof cols[ii] !== 'undefined') {\n cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);\n }\n tableArray[r].push(cellContent);\n }\n }\n\n var cellSpacesCount = 3;\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n var strLen = tableArray[i][ii].length;\n if (strLen > cellSpacesCount) {\n cellSpacesCount = strLen;\n }\n }\n }\n\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n if (i === 1) {\n if (tableArray[i][ii].slice(-1) === ':') {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');\n }\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);\n }\n }\n txt += '| ' + tableArray[i].join(' | ') + ' |\\n';\n }\n\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.tableCell', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);\n }\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.txt', function (node) {\n 'use strict';\n\n var txt = node.nodeValue;\n\n // multiple spaces are collapsed\n txt = txt.replace(/ +/g, ' ');\n\n // replace the custom ¨NBSP; with a space\n txt = txt.replace(/¨NBSP;/g, ' ');\n\n // \", <, > and & should replace escaped html entities\n txt = showdown.helper.unescapeHTMLEntities(txt);\n\n // escape markdown magic characters\n // emphasis, strong and strikethrough - can appear everywhere\n // we also escape pipe (|) because of tables\n // and escape ` because of code blocks and spans\n txt = txt.replace(/([*_~|`])/g, '\\\\$1');\n\n // escape > because of blockquotes\n txt = txt.replace(/^(\\s*)>/g, '\\\\$1>');\n\n // hash character, only troublesome at the beginning of a line because of headers\n txt = txt.replace(/^#/gm, '\\\\#');\n\n // horizontal rules\n txt = txt.replace(/^(\\s*)([-=]{3,})(\\s*)$/, '$1\\\\$2$3');\n\n // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer\n txt = txt.replace(/^( {0,3}\\d+)\\./gm, '$1\\\\.');\n\n // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)\n txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\\\$2');\n\n // images and links, ] followed by ( is problematic, so we escape it\n txt = txt.replace(/]([\\s]*)\\(/g, '\\\\]$1\\\\(');\n\n // reference URIs must also be escaped\n txt = txt.replace(/^ {0,3}\\[([\\S \\t]*?)]:/gm, '\\\\[$1]:');\n\n return txt;\n});\n\r\nvar root = this;\n\n// AMD Loader\nif (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n 'use strict';\n return showdown;\n }.call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n// CommonJS/nodeJS Loader\n} else if (typeof module !== 'undefined' && module.exports) {\n module.exports = showdown;\n\n// Regular Browser loader\n} else {\n root.showdown = showdown;\n}\n}).call(this);\r\n\n//# sourceMappingURL=showdown.js.map\r\n\n\n/***/ }),\n/* 602 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar React = __webpack_require__(0);\nvar factory = __webpack_require__(1171);\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n\n\n/***/ }),\n/* 603 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Upload__ = __webpack_require__(1502);\n// export this package's api\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__Upload__[\"a\" /* default */]);\n\n/***/ }),\n/* 604 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = commentHOC;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_immutability_helper__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__page_layers_ImageLayer__ = __webpack_require__(320);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:1;var _props=this.props,challenge=_props.challenge,shixun=_props.shixun;var url='/api/v1/shixuns/'+shixun.id+'/shixun_discusses?page='+(page-1)+'&container_type=Shixun';this.setState({loadingComments:true});// test\n// if (true) {\nif(false){var data={\"children_list\":[{\"id\":1165,\"content\":'\\u7535\\u8111\\u6CA1\\u6709pi\\u554A',\"time\":'4\\u5929\\u524D',\"position\":2,\"user_id\":31542,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":'\\u8D75\\u94F6\\u7FD4',\"user_login\":\"p81572036\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":1142,\"content\":'\\u6700\\u540E\\u4E00\\u9898\\u4E09\\u5929\\u6253\\u9C7C\\uFF0C\\u4E24\\u5929\\u6652\\u7F51\\uFF0C\\u4E0D\\u5E94\\u8BE5\\u662F1.01*1.01*1.01*0.99*0.99\\uFF0C\\u800C\\u4E0D\\u662F\\u52A0\\u5417\\uFF1F',\"time\":'4\\u5929\\u524D',\"position\":1,\"user_id\":33714,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":'\\u843D\\u5C18',\"user_login\":\"p52769048\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":[{\"content\":'\\u672C\\u5173\\u5E76\\u6CA1\\u6709\\u5199\\u5230\\u201C1.01*1.01*1.01*0.99*0.99\\u201D\\uFF0C\\u4E0D\\u77E5\\u9053\\u4F55\\u6765\\u6B64\\u95EE\\uFF1F',\"time\":'4\\u5929\\u524D',\"position\":1,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_id\":1,\"user_login\":\"innov\",\"can_delete\":false,\"id\":1144}]},{\"id\":1112,\"content\":'\\u8FD9\\u4E2A\\u5B9E\\u8BAD\\u5F88\\u8D5E\\uFF01',\"time\":'10\\u5929\\u524D',\"position\":2,\"user_id\":12,\"reward\":null,\"image_url\":\"avatars/User/12\",\"username\":'\\u9EC4\\u4E95\\u6CC9',\"user_login\":\"Hjqreturn\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":1057,\"content\":'\\u4E0D\\u9519',\"time\":'20\\u5929\\u524D',\"position\":2,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":975,\"content\":\"q\",\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":[{\"content\":'\\u4E0B\\u6B21\\u518D\\u53D1\\u65E0\\u610F\\u4E49\\u7684\\u5185\\u5BB9\\uFF0C\\u5C06\\u88AB\\u6263\\u91D1\\u5E01\\u54E6',\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_id\":1,\"user_login\":\"innov\",\"can_delete\":false,\"id\":980}]},{\"id\":974,\"content\":\"k\",\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":[{\"content\":'\\u4E0B\\u6B21\\u518D\\u53D1\\u65E0\\u610F\\u4E49\\u7684\\u5185\\u5BB9\\uFF0C\\u5C06\\u88AB\\u6263\\u91D1\\u5E01\\u54E6',\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_id\":1,\"user_login\":\"innov\",\"can_delete\":false,\"id\":981}]},{\"id\":859,\"content\":'\\u5F88\\u68D2\\uFF01\\uFF01\\uFF01',\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":4,\"user_id\":1,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_login\":\"innov\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":802,\"content\":'\\u4E0D\\u9519\\uFF01',\"time\":'2\\u4E2A\\u6708\\u524D',\"position\":1,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":619,\"content\":'\\u770B\\u6765\\u8001\\u5E08\\u5BF9\\u9F50\\u7528\\u7684\\u90FD\\u662F\\u7A7A\\u683C',\"time\":'5\\u4E2A\\u6708\\u524D',\"position\":3,\"user_id\":29145,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"yang\",\"user_login\":\"m02945638\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":553,\"content\":\"

    \\r\\n\\t666\\r\\n

    \\r\\n

    \\r\\n\\t
    \\r\\n

    \",\"time\":'6\\u4E2A\\u6708\\u524D',\"position\":4,\"user_id\":26838,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":'\\u5189\\u529B',\"user_login\":\"m54013296\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":null}],\"disscuss_count\":183};this.setState({comments:data.children_list,comment_count_without_reply:data.disscuss_count,currentPage:page,loadingComments:false});return;}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url,{withCredentials:true}).then(function(response){// test\nif(response.data){_this2.setState({comments:response.data.children_list,comment_count_without_reply:response.data.disscuss_count,currentPage:page,loadingComments:false},function(){// keditor代码美化\nwindow.prettyPrint();});}console.log(response);}).catch(function(error){console.log(error);});}},{key:'fetchCommentIfNotFetched',value:function fetchCommentIfNotFetched(){if(this.state.comments&&this.state.comments.length){return;}// http://localhost:3000/api/v1/shixuns/cz7yw3en/shixun_discusses?page=0\t\nthis.fetchComment();}// 新增父级评论\n},{key:'createNewComment',value:function createNewComment(){var _this3=this;console.log('createNewComment...');var _props2=this.props,challenge=_props2.challenge,shixun=_props2.shixun,showSnackbar=_props2.showSnackbar;var content=window._commentInput.html();if(!content||content.length===0){showSnackbar('必须填写内容!');return;}var url='/api/v1/discusses';if(content!=undefined){var beforeImage=content.split(\"\");if(beforeImage[0]==\"\"&&afterImage[1]==\"\"){window.notice_box('不支持纯图片评论
    请在评论中增加文字信息');return;}}if(content){// 去掉尾部的回车换行\ncontent=content.replace(/(\\n

    \\n\\t
    \\n<\\/p>)*$/g,'');}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{shixun_id:shixun.id,challenge_id:challenge.id,content:content,position:challenge.position},{withCredentials:true}).then(function(response){if(response.data.status===1){window._commentInput.html('');window._commentInput.afterBlur();// \t\tthis.setState({\n// \trunTesting: false,\n// })\n_this3.fetchComment();}console.log(response);}).catch(function(error){console.log(error);});}},{key:'_findCommentById',value:function _findCommentById(id,arg_comments){var comments=void 0;if(!arg_comments){comments=this.state.comments;}else{comments=arg_comments;}for(var i=0;i\\n\\t
    \\n<\\/p>)*$/g,'');}if(!user.login&&user.user_url){var loginAr=user.user_url.split('/');user.login=loginAr[loginAr.length-1];}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{content:commentContent},{withCredentials:true}).then(function(response){if(response.data.discuss){var newDiscuss=response.data.discuss;var comments=_this4.state.comments;var commentIndex=_this4._findCommentById(id);var comment=comments[commentIndex];if(!comment.children){comment.children=[];}// TODO userName iamge_url\ncomment.children.push({\"can_delete\":true,\"content\":commentContent,\"image_url\":user.image_url,\"username\":user.username,\"user_login\":user.login,\"id\":newDiscuss.id,\"position\":newDiscuss.position,\"time\":\"1分钟前\",\"praise_count\":newDiscuss.praise_count,\"user_id\":newDiscuss.user_id});comments[commentIndex]=comment;// ke\neditor.html&&editor.html('');// md\nif(editor.setValue){editor.setValue('');var _$=window.$;var view_selector='.commentItemMDEditorView_'+id;_$(view_selector).hide();}_this4.setState({// runTesting: false,\ncomments:comments},function(){// keditor代码美化\neditor.html&&window.prettyPrint();});}console.log(response);}).catch(function(error){console.log(error);});}},{key:'hiddenComment',value:function hiddenComment(item,childCommentId){var _this5=this;var id=item.id;var _props4=this.props,challenge=_props4.challenge,shixun=_props4.shixun,user=_props4.user,showSnackbar=_props4.showSnackbar;var url='/api/v1/discusses/'+(childCommentId||id)+'/hidden';var commentIndex=this._findCommentById(id);var comments=this.state.comments;var comment=comments[commentIndex];var childCommentIndex=void 0,childComment=void 0;if(childCommentId){childCommentIndex=this._findCommentById(childCommentId,comments[commentIndex].children);childComment=comments[commentIndex].children[childCommentIndex];}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{hidden:childComment?childComment.hidden?\"0\":\"1\":comment.hidden?\"0\":\"1\"},{withCredentials:true}).then(function(response){if(response.data.status===-1){showSnackbar(response.data.message);return;}if(response.data.status===1){if(!childCommentId){comment.hidden=!comment.hidden;_this5.setState({comments:comments});}else{// TODO 目前子回复没hidden字段\nchildComment.hidden=!childComment.hidden;_this5.setState({comments:comments});}}// {\"message\":\"Couldn't find Discuss with id=911\",\"status\":-1}\nconsole.log(response);}).catch(function(error){console.log(error);});}},{key:'deleteComment',value:function deleteComment(parrentComment,childCommentId){var _this6=this;var _props5=this.props,challenge=_props5.challenge,shixun=_props5.shixun;var deleteCommentId=parrentComment.id;if(childCommentId){deleteCommentId=childCommentId;}var url='/api/v1/discusses/'+deleteCommentId;__WEBPACK_IMPORTED_MODULE_2_axios___default.a.delete(url,{withCredentials:true}).then(function(response){// TODO 删除成功或失败\nif(response.data&&response.data.status===1){var commentIndex=_this6._findCommentById(parrentComment.id);// https://stackoverflow.com/questions/29527385/removing-element-from-array-in-component-state\nif(!childCommentId){_this6.setState(function(prevState){return{comments:__WEBPACK_IMPORTED_MODULE_3_immutability_helper___default()(prevState.comments,{$splice:[[commentIndex,1]]})};});if(_this6.state.comments.length<=5){_this6.fetchComment();}}else{var comments=_this6.state.comments;var childCommentIndex=_this6._findCommentById(childCommentId,comments[commentIndex].children);comments[commentIndex].children=__WEBPACK_IMPORTED_MODULE_3_immutability_helper___default()(comments[commentIndex].children,{$splice:[[childCommentIndex,1]]});_this6.setState({comments:comments});}}console.log(response);}).catch(function(error){console.log(error);});}},{key:'rewardCode',value:function rewardCode(parrentComment,childComment,amount){var _this7=this;var _props6=this.props,challenge=_props6.challenge,shixun=_props6.shixun,showSnackbar=_props6.showSnackbar;var handleComment=parrentComment;if(childComment){handleComment=childComment;}var handleCommentId=handleComment.id;var url='/api/v1/discusses/'+handleCommentId+'/reward_code';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{id:handleCommentId,// container_id: shixun.id,\ncontainer_type:'Discusses',score:amount,user_id:handleComment.user_id},{withCredentials:true}).then(function(response){if(response.data&&response.data.code){var commentIndex=_this7._findCommentById(parrentComment.id);var comments=_this7.state.comments;if(childComment){var childCommentIndex=_this7._findCommentById(handleComment.id,parrentComment.children);var newChildComment=Object.assign({},childComment);newChildComment.reward=response.data.code;parrentComment.children[childCommentIndex]=newChildComment;comments[commentIndex]=parrentComment;_this7.setState({comments:comments});}else{comments[commentIndex].reward=response.data.code;_this7.setState({comments:comments});}}}).catch(function(error){console.log(error);showSnackbar('奖励失败,请联系系统管理员!');});}// 评论点赞\n},{key:'commentPraise',value:function commentPraise(discussId){var _this8=this;var commentIndex=this._findCommentById(discussId);var comments=this.state.comments;var challenge=this.props.challenge;var url='/api/v1/discusses/'+discussId+'/plus';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{// id: discussId,\n// container_id: challenge.id,\ncontainer_type:'Discuss',//Discuss\ntype:comments[commentIndex].user_praise===true?0:1// \"踩0;赞1\"\n},{withCredentials:true}).then(function(response){if(response.data.praise_count===0||response.data.praise_count){comments[commentIndex].user_praise=!comments[commentIndex].user_praise;comments[commentIndex].praise_count=response.data.praise_count;_this8.setState({comments:comments});}console.log(response);}).catch(function(error){console.log(error);});}},{key:'newMessage',value:function newMessage(){var _this9=this;var _props7=this.props,shixun=_props7.shixun,myshixun=_props7.myshixun;var url='/api/v1/shixuns/'+shixun.id+'/new_message?container_type=Shixun&myshixun_id='+myshixun.id;// this.setState({\n// \t\t\tgotNewReply: true\n// \t\t})\n__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url,{withCredentials:true}).then(function(response){var new_message=response.data.new_message;if(response.data.new_message){_this9.setState({gotNewReply:new_message});}// console.log(response)\n}).catch(function(error){console.log(error);});}},{key:'showNewReply',value:function showNewReply(){var _this10=this;var _props8=this.props,shixun=_props8.shixun,myshixun=_props8.myshixun;var commentId=929;// TODO\nvar url='/api/v1/shixuns/'+shixun.id+'/anchor?container_type=Shixun&myshixun_id='+myshixun.id+'&discuss_id='+commentId;this.setState({loadingComments:true,gotNewReply:false});__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url,{withCredentials:true}).then(function(response){var data=response.data;var new_message=data.new_message;_this10.setState({comments:data.children_list,comment_count_without_reply:data.disscuss_count,currentPage:data.page,loadingComments:false},function(){if(response.data.find_status){// 没找到评论的话,默认会返回第一页的评论\nvar comment_J=window.$('#reply_content_'+commentId);if(comment_J.length){comment_J[0].scrollIntoView();comment_J.parents('.comment_item_cont').css('border','1px solid #4CACFF');}}});console.log(response);}).catch(function(error){console.log(error);});}// ----------------------------------------------------------------------------------------------评论 End\n// ----------------------------------------------------------------------------------------------评论 End\n},{key:'componentDidMount',value:function componentDidMount(){var _this11=this;// commentsDelegateParent #game_left_contents #tab_con_4\n$(\".commentsDelegateParent\").delegate(\".J_Comment_Reply .comment_content img, .J_Comment_Reply .childrenCommentsView img\",\"click\",function(event){var imageSrc=event.target.src;// 非回复里的头像图片; 非emoticons\nif(imageSrc.indexOf('/images/avatars/User')===-1&&imageSrc.indexOf('kindeditor/plugins/emoticons')===-1){_this11.setState({showImage:true,imageSrc:imageSrc});}});}},{key:'render',value:function render(){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__page_layers_ImageLayer__[\"a\" /* default */],Object.assign({},this.state,{onImageLayerClose:this.onImageLayerClose})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent,Object.assign({},this.props,this.state,{createNewComment:this.createNewComment,fetchCommentIfNotFetched:this.fetchCommentIfNotFetched,replyComment:this.replyComment,deleteComment:this.deleteComment,commentPraise:this.commentPraise,hiddenComment:this.hiddenComment,rewardCode:this.rewardCode,onPaginationChange:this.onPaginationChange,newMessage:this.newMessage,showNewReply:this.showNewReply})));}}]);return II;}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);}/*\r\n\t

    \r\n

    \r\n HOC Debugger Component\r\n

    \r\n

    \r\n Props\r\n

    \r\n
    {stringify(this.props)}
    \r\n

    \r\n State\r\n

    \r\n
    {stringify(this.state)}
    \r\n {super.render()}\r\n
    \r\n\r\n*/\n\n/***/ }),\n/* 605 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__tpm_TPMIndexHOC__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_educoder__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__GraduatesRequirement__ = __webpack_require__(1628);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 612 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = __webpack_require__(322);\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n/***/ }),\n/* 613 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 614 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css__ = __webpack_require__(323);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__index_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__App__ = __webpack_require__(620);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_hot_loader__ = __webpack_require__(1661);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_hot_loader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_hot_loader__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__registerServiceWorker__ = __webpack_require__(1663);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_url_query__ = __webpack_require__(606);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_url_query___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_url_query__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_redux__ = __webpack_require__(321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_connected_react_router__ = __webpack_require__(592);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_connected_react_router___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_connected_react_router__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__store__ = __webpack_require__(1672);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_educoder__ = __webpack_require__(42);\n// import history from './history';\n// import { initMock } from './axiosMock.js'\n// link the history used in our app to url-query so it can update the URL with it.\nObject(__WEBPACK_IMPORTED_MODULE_6_react_url_query__[\"configureUrlQuery\"])({history:__WEBPACK_IMPORTED_MODULE_9__store__[\"b\" /* history */]});// -----------------------------------------------------------------------------------\t请求配置\nwindow.__useKindEditor=false;// TODO 避免重复的请求 https://github.com/axios/axios#cancellation\n// https://github.com/axios/axios/issues/1497\n// TODO 读取到package.json中的配置?\nvar proxy=\"http://localhost:3000\";// proxy = \"http://testbdweb.trustie.net\"\nproxy=\"http://testbdweb.educoder.net\";// proxy = 'http://192.168.0.195:3000'\nproxy='https://testbdweb.educoder.net';proxy='http://testbdweb.educoder.net';// proxy='https://www.educoder.net'\nvar requestMap={};// 在这里使用requestMap控制,避免用户通过双击等操作发出重复的请求;\n// 如果需要支持重复的请求,考虑config里面自定义一个allowRepeat参考来控制\n// 模拟请求,开启后可以使用假数据,脱离后台开发。 注意,上线正式版时,需要注释掉mock调用,mock.js有30kb+的大小\nif(Object(__WEBPACK_IMPORTED_MODULE_11_educoder__[\"g\" /* isDev */])()){// initMock(true, proxy)\n// console.error(\"******* 注意!开启接口mock,这会导致没mock配置的请求返回404 ******\")\n}window.setfalseInRequestMap=function(keyName){requestMap[keyName]=false;};__WEBPACK_IMPORTED_MODULE_10_axios___default.a.interceptors.request.use(function(config){// if (token) { // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了\n// config.headers.Authorization = token;\n// }\nvar url=config.url;// --------------------------------------------- 測試3007连测试服的代码\n// if (url.indexOf('file_update') != -1 || url.indexOf('game_build') != -1 || url.indexOf('game_status') != -1) {\n// proxy = 'https://testbdweb.trustie.net'\n// } else {\n// proxy = 'http://localhost:3000'\n// }\n// ---------------------------------------------\nif(window.location.port===\"3007\"&&!url.startsWith('http')){// 表示为开发模式\nconfig.url=''+proxy+url;// 开发模式下直接跨域请求\n}if(requestMap[config.url]===true){// 避免重复的请求\nreturn false;}// 非file_update请求 && 非open_webssh\nif(config.url.indexOf('file_update')===-1&&config.url.indexOf('open_webssh')===-1){requestMap[config.url]=true;window.setTimeout(\"setfalseInRequestMap('\"+config.url+\"')\",900);}// setTimeout(\"setfalseInRequestMap(\" + config.url + \")\", 1200)\nreturn config;},function(err){return Promise.reject(err);});__WEBPACK_IMPORTED_MODULE_10_axios___default.a.interceptors.response.use(function(response){requestMap[response.config.url]=false;return response;},function(error){return Promise.reject(error);});// -----------------------------------------------------------------------------------\nvar render=function render(Component){__WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_react_redux__[\"Provider\"],{store:__WEBPACK_IMPORTED_MODULE_9__store__[\"a\" /* default */]},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8_connected_react_router__[\"ConnectedRouter\"],{history:__WEBPACK_IMPORTED_MODULE_9__store__[\"b\" /* history */]},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_react_hot_loader__[\"AppContainer\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Component,null)))),document.getElementById('root'));};// \tdocument.getElementById('root'));\nObject(__WEBPACK_IMPORTED_MODULE_5__registerServiceWorker__[\"a\" /* default */])();render(__WEBPACK_IMPORTED_MODULE_3__App__[\"a\" /* default */]);if(false){module.hot.accept('./App',function(){render(App);});}\n\n/***/ }),\n/* 615 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.8.4\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar k=__webpack_require__(38),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;hthis.eventPool.length&&this.eventPool.push(a)}\nfunction hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&\"CompositionEvent\"in window,ob=null;Ra&&\"documentMode\"in document&&(ob=document.documentMode);\nvar pb=Ra&&\"TextEvent\"in window&&!ob,qb=Ra&&(!nb||ob&&8=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},tb=!1;\nfunction ub(a,b){switch(a){case \"keyup\":return-1!==mb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function vb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case \"compositionend\":return vb(b);case \"keypress\":if(32!==b.which)return null;tb=!0;return rb;case \"textInput\":return a=b.data,a===rb&&tb?null:a;default:return null}}\nfunction yb(a,b){if(wb)return\"compositionend\"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new C(a,3,!0,a,null)});\n[\"capture\",\"download\"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rc,\nsc);D[b]=new C(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)});\nfunction tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);\nfunction Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{a=b.contentDocument.defaultView}catch(c){break}b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Pd(){var a=Nd();if(Od(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length);\nif(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}}\nfunction Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Td=null,Ud=null,Vd=null,Wd=!1;\nfunction Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;\"selectionStart\"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type=\"select\",a.target=Td,Qa(a),a)}\nvar Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g=b.length?void 0:x(\"93\"),b=b[0]),c=b),null==c&&(c=\"\"));a._wrapperState={initialValue:uc(c)}}\nfunction de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ie=void 0,je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{ie=ie||document.createElement(\"div\");ie.innerHTML=\"\"+b+\"\";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(\"\"+b).trim():b+\"px\"}\nfunction oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ne(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:x(\"61\")),null!=b.style&&\"object\"!==typeof b.style?x(\"62\",\"\"):void 0)}\nfunction re(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;dGe||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He;\nfunction Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)}\nfunction Me(a,b,c){H.current!==He?x(\"168\"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x(\"108\",ic(b)||\"Unknown\",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0}\nfunction Pe(a,b,c){var d=a.stateNode;d?void 0:x(\"169\");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}}\nfunction Te(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}\nfunction Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)}\nfunction Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if(\"function\"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2}\nfunction Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling;\nc.index=a.index;c.ref=a.ref;return c}\nfunction Ye(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Ve(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g=\n14;break a;case fc:g=16;d=null;break a}x(\"130\",null==a?a:typeof a,\"\")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a}\nfunction bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:cb&&(a.latestPendingTime=b);df(b,a)}\nfunction ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{bb?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):bc&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:cb&&(a.latestSuspendedTime=b);df(b,a)}\nfunction gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||da&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs;\nfunction kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag=\nsf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0}\nfunction vf(a,b,c){var d=!1,e=He;var f=b.contextType;\"object\"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction wf(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)}\nfunction xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray;\nfunction Af(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x(\"309\"):void 0,d=c.stateNode);d?void 0:x(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?x(\"284\"):void 0;c._owner?void 0:x(\"290\",a)}return a}\nfunction Bf(a,b){\"textarea\"!==a.type&&x(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,du?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&&\nq&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;uu?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u:\nw.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=\nk.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\n\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x(\"174\"):void 0;return a}\nfunction Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))}\nvar Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x(\"307\")}function gg(a,b){if(null===b)return!1;for(var c=0;c$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.eagerReducer=a;c.eagerState=f}return[b.memoizedState,c.dispatch]}\nfunction rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)}\nfunction tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){}\nfunction wg(a,b,c){25>eg?void 0:x(\"301\");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===\nd||0===d.expirationTime)&&(d=b.eagerReducer,null!==d))try{var l=b.eagerState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}}\nvar kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,eagerReducer:a,eagerState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,eagerReducer:og,\neagerState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return tg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1;\nfunction Ag(a,b){var c=K(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1}\nvar Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d=\nb.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f,\nc)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x(\"306\",a,\"\")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,\ne=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x(\"282\"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,\ng=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,\nc),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!==\n(k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime=b&&(qg=!0);a.contextDependencies=null}\nfunction M(a,b){if(Yg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x(\"308\"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)}\nfunction eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b}\nfunction gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d}\nfunction yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;md?e:d);Ih.current=null;d=void 0;1c?b:c;0===b&&(Fh=null);$h(a,b)}\nfunction ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|=\n128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case \"iframe\":case \"object\":E(\"load\",e);break;case \"video\":case \"audio\":for(k=0;k\\x3c/script>\",k=e.removeChild(e.firstChild)):\"string\"===typeof p.is?k=k.createElement(e,{is:p.is}):(k=k.createElement(e),\"select\"===e&&p.multiple&&(k.multiple=!0)):k=k.createElementNS(l,e);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case \"iframe\":case \"object\":E(\"load\",\np);h=m;break;case \"video\":case \"audio\":for(h=0;hg&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&&\n(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1=v)t=0;else if(-1===t||v component higher in the tree to provide a loading indicator or placeholder to display.\"+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048;\nh.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x(\"281\"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}}\nfunction sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))}\nfunction mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x(\"313\")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&&\n(0===gi||d=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))}\nfunction hi(a,b){a.expirationTimeU&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x(\"185\")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)}\nfunction yi(a,b){if(0!==mi){if(ba.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))}\nfunction Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x(\"244\"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823===\na)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}}\nfunction Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x(\"246\"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}}\nfunction Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}}\nfunction Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x(\"170\");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x(\"171\");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);\nof();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d};\nNi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nNi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)};\nfunction Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)}\nfunction Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)}\nfunction Ti(a,b){var c=2=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous=\nb}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}}\nvar x=Date,y=\"function\"===typeof setTimeout?setTimeout:void 0,z=\"function\"===typeof clearTimeout?clearTimeout:void 0,A=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B=\"function\"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)}\nif(\"object\"===typeof performance&&\"function\"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;\"undefined\"!==typeof window?G=window:\"undefined\"!==typeof global&&(G=global);\nif(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{\"undefined\"!==typeof console&&(\"function\"!==typeof A&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\n\"function\"!==typeof B&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}};\nvar V=function(a){if(null!==K){E(V);var b=a-P+S;bb&&(b=8),S=bb?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}};\nexports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if(\"object\"===typeof b&&null!==b&&\"number\"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p());\nb=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g};\nexports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTime import('./modules/tpm/shixunchild/ShixunChildIndex'),\n// loading: Loading,\n// })\n// const TPMshixunfork_listIndexComponent = Loadable({\n// loader: () => import('./modules/tpm/shixunchild/Shixunfork_list'),\n// loading: Loading,\n// })\nvar ForumsIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(0).then(__webpack_require__.bind(null, 1681));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ECIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(11).then(__webpack_require__.bind(null, 1682));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var TestIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(16).then(__webpack_require__.bind(null, 1683));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});// trustie plus forum\n// const TPForumsIndexComponent = Loadable({\n// loader: () => import('./modules/tp-forums/TPForumsIndex'),\n// loading: Loading,\n// })\n// const TestPageComponent = Loadable({\n// loader: () => import('./modules/page/Index'),\n// loading: Loading,\n// })\nvar TPMOnlineCourses_list=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(6).then(__webpack_require__.bind(null, 1684));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var CareerPathIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(3).then(__webpack_require__.bind(null, 1685));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var CareerPathIndexContents=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(2).then(__webpack_require__.bind(null, 1686));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var TPMOnlineCourses_Details=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(1).then(__webpack_require__.bind(null, 1687));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var NewCourseCareerPathIndex=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(5).then(__webpack_require__.bind(null, 1688));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var NewContentCareerPathIndex=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(7).then(__webpack_require__.bind(null, 1689));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ecCourseSupports=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(13).then(__webpack_require__.bind(null, 1690));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ecCourseEvaluations=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(17).then(__webpack_require__.bind(null, 1691));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ecGradeEvaluations=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(12).then(__webpack_require__.bind(null, 1692));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var EvaluationMethods=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(18).then(__webpack_require__.bind(null, 1693));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var EcCompletionCalculation=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(14).then(__webpack_require__.bind(null, 1694));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});//学生列表\nvar ecStudentLists=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(10).then(__webpack_require__.bind(null, 1695));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});// 上海社区\nvar CommunityHome=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(9).then(__webpack_require__.bind(null, 1696));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var Statistics=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(8).then(__webpack_require__.bind(null, 1697));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});/*\r\n testPage\r\n shixunx/:shixunId/stages/:stageId\r\n*/var App=function(_Component){_inherits(App,_Component);function App(){_classCallCheck(this,App);return _possibleConstructorReturn(this,(App.__proto__||Object.getPrototypeOf(App)).apply(this,arguments));}_createClass(App,[{key:'componentDidMount',value:function componentDidMount(){var _this2=this;// force an update if the URL changes\n__WEBPACK_IMPORTED_MODULE_12__history__[\"a\" /* default */].listen(function(){return _this2.forceUpdate();});}},{key:'render',value:function render(){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_material_ui_styles__[\"MuiThemeProvider\"],{theme:theme},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__modules_login_LoginDialog__[\"a\" /* default */],null),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"a\" /* BrowserRouter */],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"d\" /* Switch */],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/reach_calculation_info',component:__WEBPACK_IMPORTED_MODULE_13__modules_ec_graduatesRequirement__[\"default\"]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/requirement_vs_courses',component:ecCourseSupports}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],Object.assign({path:'/ec_courses/:ec_course_id/ec_course_reach_setting',component:ecCourseEvaluations},this.state,this.props)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/competition_calculation_info',component:EcCompletionCalculation}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/evaluation_methods',component:EvaluationMethods}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/tasks/:stageId',component:IndexWrapperComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/shixuns/:shixunId',component:TPMIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/shixuns',component:TPMShixunsIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/forums',component:ForumsIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec',component:ECIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/test',component:TestIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/introduction',component:CareerPathIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/contents',component:CareerPathIndexContents}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/new',component:NewCourseCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/edit_introduction',component:NewCourseCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/edit_contents',component:NewContentCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/new_contents',component:NewContentCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/reach_calculation_info',component:__WEBPACK_IMPORTED_MODULE_13__modules_ec_graduatesRequirement__[\"default\"]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/requirement_vs_courses',component:ecCourseSupports}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_id/academic_years/:year_id/student_lists',component:ecStudentLists}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/score_level',component:ecGradeEvaluations}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/ec_course_support_setting',component:__WEBPACK_IMPORTED_MODULE_14__modules_ec_ecCourseSupportSetting__[\"a\" /* default */]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/competition_calculation_info',component:EcCompletionCalculation}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/colleges/:company_id/home',component:CommunityHome}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/statistics',component:Statistics}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/myshixuns/:shixunId/stages/:stageId',component:__WEBPACK_IMPORTED_MODULE_8__modules_page_Index__[\"a\" /* default */]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{component:__WEBPACK_IMPORTED_MODULE_5__NotFoundPage__[\"a\" /* default */]}))));}}]);return App;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);// moment国际化,设置为中文\n__WEBPACK_IMPORTED_MODULE_10_moment___default.a.defineLocale('zh-cn',{months:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),monthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),weekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),weekdaysShort:'周日_周一_周二_周三_周四_周五_周六'.split('_'),weekdaysMin:'日_一_二_三_四_五_六'.split('_'),longDateFormat:{LT:'Ah点mm分',LTS:'Ah点m分s秒',L:'YYYY-MM-DD',LL:'YYYY年MMMD日',LLL:'YYYY年MMMD日Ah点mm分',LLLL:'YYYY年MMMD日ddddAh点mm分',l:'YYYY-MM-DD',ll:'YYYY年MMMD日',lll:'YYYY年MMMD日Ah点mm分',llll:'YYYY年MMMD日ddddAh点mm分'},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='凌晨'||meridiem==='早上'||meridiem==='上午'){return hour;}else if(meridiem==='下午'||meridiem==='晚上'){return hour+12;}else{// '中午'\nreturn hour>=11?hour:hour+12;}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return'凌晨';}else if(hm<900){return'早上';}else if(hm<1130){return'上午';}else if(hm<1230){return'中午';}else if(hm<1800){return'下午';}else{return'晚上';}},calendar:{sameDay:function sameDay(){return this.minutes()===0?'[今天]Ah[点整]':'[今天]LT';},nextDay:function nextDay(){return this.minutes()===0?'[明天]Ah[点整]':'[明天]LT';},lastDay:function lastDay(){return this.minutes()===0?'[昨天]Ah[点整]':'[昨天]LT';},nextWeek:function nextWeek(){var startOfWeek,prefix;startOfWeek=__WEBPACK_IMPORTED_MODULE_10_moment___default()().startOf('week');prefix=this.unix()-startOfWeek.unix()>=7*24*3600?'[下]':'[本]';return this.minutes()===0?prefix+'dddAh点整':prefix+'dddAh点mm';},lastWeek:function lastWeek(){var startOfWeek,prefix;startOfWeek=__WEBPACK_IMPORTED_MODULE_10_moment___default()().startOf('week');prefix=this.unix() that uses HTML5 history.\n */\n\nvar BrowserRouter = function (_React$Component) {\n _inherits(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BrowserRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"a\" /* createBrowserHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BrowserRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\");\n };\n\n BrowserRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return BrowserRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nBrowserRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n forceRefresh: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n keyLength: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (BrowserRouter);\n\n/***/ }),\n/* 624 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(625);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 625 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 626 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__LocationUtils__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__PathUtils__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__createTransitionManager__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__DOMUtils__ = __webpack_require__(326);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"b\" /* canUseDOM */], 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"g\" /* supportsHistory */])();\n var needsHashChangeListener = !Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"h\" /* supportsPopStateOnHashChange */])();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? __WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"c\" /* getConfirmation */] : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"g\" /* stripTrailingSlash */])(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */])(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!basename || Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"c\" /* hasBasename */])(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"e\" /* stripBasename */])(path, basename);\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = Object(__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__[\"a\" /* default */])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"d\" /* isExtraneousPopstateEvent */])(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location);\n };\n\n var push = function push(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"a\" /* addEventListener */])(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"a\" /* addEventListener */])(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"e\" /* removeEventListener */])(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"e\" /* removeEventListener */])(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createBrowserHistory);\n\n/***/ }),\n/* 627 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__LocationUtils__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__PathUtils__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__createTransitionManager__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__DOMUtils__ = __webpack_require__(326);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"f\" /* stripLeadingSlash */])(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"f\" /* stripLeadingSlash */],\n decodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */]\n },\n slash: {\n encodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */],\n decodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */]\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"b\" /* canUseDOM */], 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"f\" /* supportsGoWithoutReloadUsingHash */])();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? __WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"c\" /* getConfirmation */] : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"g\" /* stripTrailingSlash */])(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */])(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!basename || Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"c\" /* hasBasename */])(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"e\" /* stripBasename */])(path, basename);\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path);\n };\n\n var transitionManager = Object(__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__[\"a\" /* default */])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"b\" /* locationsAreEqual */])(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location));\n };\n\n var push = function push(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"a\" /* addEventListener */])(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"e\" /* removeEventListener */])(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createHashHistory);\n\n/***/ }),\n/* 628 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__PathUtils__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__LocationUtils__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__createTransitionManager__ = __webpack_require__(204);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = Object(__WEBPACK_IMPORTED_MODULE_3__createTransitionManager__[\"a\" /* default */])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(entry, undefined, createKey()) : Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = __WEBPACK_IMPORTED_MODULE_1__PathUtils__[\"b\" /* createPath */];\n\n var push = function push(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createMemoryHistory);\n\n/***/ }),\n/* 629 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(205);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter = function (_React$Component) {\n _inherits(HashRouter, _React$Component);\n\n function HashRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"b\" /* createHashHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\");\n };\n\n HashRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return HashRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nHashRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n hashType: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.oneOf([\"hashbang\", \"noslash\", \"slash\"]),\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (HashRouter);\n\n/***/ }),\n/* 630 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__ = __webpack_require__(328);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 631 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Route__ = __webpack_require__(329);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Link__ = __webpack_require__(327);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\n\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nvar NavLink = function NavLink(_ref) {\n var to = _ref.to,\n exact = _ref.exact,\n strict = _ref.strict,\n location = _ref.location,\n activeClassName = _ref.activeClassName,\n className = _ref.className,\n activeStyle = _ref.activeStyle,\n style = _ref.style,\n getIsActive = _ref.isActive,\n ariaCurrent = _ref[\"aria-current\"],\n rest = _objectWithoutProperties(_ref, [\"to\", \"exact\", \"strict\", \"location\", \"activeClassName\", \"className\", \"activeStyle\", \"style\", \"isActive\", \"aria-current\"]);\n\n var path = (typeof to === \"undefined\" ? \"undefined\" : _typeof(to)) === \"object\" ? to.pathname : to;\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__Route__[\"a\" /* default */], {\n path: escapedPath,\n exact: exact,\n strict: strict,\n location: location,\n children: function children(_ref2) {\n var location = _ref2.location,\n match = _ref2.match;\n\n var isActive = !!(getIsActive ? getIsActive(match, location) : match);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Link__[\"a\" /* default */], _extends({\n to: to,\n className: isActive ? [className, activeClassName].filter(function (i) {\n return i;\n }).join(\" \") : className,\n style: isActive ? _extends({}, style, activeStyle) : style,\n \"aria-current\": isActive && ariaCurrent || null\n }, rest));\n }\n });\n};\n\nNavLink.propTypes = {\n to: __WEBPACK_IMPORTED_MODULE_3__Link__[\"a\" /* default */].propTypes.to,\n exact: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n strict: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n activeClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n activeStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n style: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n isActive: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n \"aria-current\": __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\"])\n};\n\nNavLink.defaultProps = {\n activeClassName: \"active\",\n \"aria-current\": \"page\"\n};\n\n/* unused harmony default export */ var _unused_webpack_default_export = (NavLink);\n\n/***/ }),\n/* 632 */\n/***/ (function(module, exports) {\n\nmodule.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 633 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__ = __webpack_require__(331);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__[\"a\" /* default */]);\n\n/***/ }),\n/* 634 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__ = __webpack_require__(332);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__[\"a\" /* default */]);\n\n/***/ }),\n/* 635 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__ = __webpack_require__(333);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 636 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__ = __webpack_require__(334);\n// Written in this round about way for babel-transform-imports\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__[\"a\" /* default */]);\n\n/***/ }),\n/* 637 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_generatePath__ = __webpack_require__(207);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_generatePath__[\"a\" /* default */]);\n\n/***/ }),\n/* 638 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__ = __webpack_require__(160);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__[\"a\" /* default */]);\n\n/***/ }),\n/* 639 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__ = __webpack_require__(335);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 640 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar _Modal = _interopRequireDefault(__webpack_require__(227));\n\nvar _Fade = _interopRequireDefault(__webpack_require__(174));\n\nvar _transitions = __webpack_require__(114);\n\nvar _Paper = _interopRequireDefault(__webpack_require__(137));\n\n// @inheritedComponent Modal\nvar styles = function styles(theme) {\n return {\n root: {\n justifyContent: 'center',\n alignItems: 'center'\n },\n paper: {\n display: 'flex',\n margin: theme.spacing.unit * 4,\n flexDirection: 'column',\n flex: '0 1 auto',\n position: 'relative',\n maxHeight: '90vh',\n overflowY: 'auto',\n // Fix IE11 issue, to remove at some point.\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none'\n },\n paperWidthXs: {\n maxWidth: Math.max(theme.breakpoints.values.xs, 360)\n },\n paperWidthSm: {\n maxWidth: theme.breakpoints.values.sm\n },\n paperWidthMd: {\n maxWidth: theme.breakpoints.values.md\n },\n paperFullWidth: {\n width: '100%'\n },\n paperFullScreen: {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: '100%',\n borderRadius: 0\n }\n };\n};\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\n\n\nexports.styles = styles;\n\nfunction Dialog(props) {\n var _classNames;\n\n var BackdropProps = props.BackdropProps,\n children = props.children,\n classes = props.classes,\n className = props.className,\n disableBackdropClick = props.disableBackdropClick,\n disableEscapeKeyDown = props.disableEscapeKeyDown,\n fullScreen = props.fullScreen,\n fullWidth = props.fullWidth,\n maxWidth = props.maxWidth,\n onBackdropClick = props.onBackdropClick,\n onClose = props.onClose,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onEscapeKeyDown = props.onEscapeKeyDown,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n open = props.open,\n PaperProps = props.PaperProps,\n TransitionComponent = props.TransitionComponent,\n transitionDuration = props.transitionDuration,\n TransitionProps = props.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(props, [\"BackdropProps\", \"children\", \"classes\", \"className\", \"disableBackdropClick\", \"disableEscapeKeyDown\", \"fullScreen\", \"fullWidth\", \"maxWidth\", \"onBackdropClick\", \"onClose\", \"onEnter\", \"onEntered\", \"onEntering\", \"onEscapeKeyDown\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]);\n return _react.default.createElement(_Modal.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className),\n BackdropProps: (0, _objectSpread2.default)({\n transitionDuration: transitionDuration\n }, BackdropProps),\n disableBackdropClick: disableBackdropClick,\n disableEscapeKeyDown: disableEscapeKeyDown,\n onBackdropClick: onBackdropClick,\n onEscapeKeyDown: onEscapeKeyDown,\n onClose: onClose,\n open: open,\n role: \"dialog\"\n }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n timeout: transitionDuration,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited\n }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({\n elevation: 24,\n className: (0, _classnames.default)(classes.paper, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"paperWidth\".concat(maxWidth ? (0, _helpers.capitalize)(maxWidth) : '')], maxWidth), (0, _defineProperty2.default)(_classNames, classes.paperFullScreen, fullScreen), (0, _defineProperty2.default)(_classNames, classes.paperFullWidth, fullWidth), _classNames))\n }, PaperProps), children)));\n}\n\nDialog.propTypes = false ? {\n /**\n * @ignore\n */\n BackdropProps: _propTypes.default.object,\n\n /**\n * Dialog children, usually the included sub-components.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, clicking the backdrop will not fire the `onClose` callback.\n */\n disableBackdropClick: _propTypes.default.bool,\n\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n */\n disableEscapeKeyDown: _propTypes.default.bool,\n\n /**\n * If `true`, the dialog will be full-screen\n */\n fullScreen: _propTypes.default.bool,\n\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * Determine the max width of the dialog.\n * The dialog width grows with the size of the screen, this property is useful\n * on the desktop where you might need some coherent different width size across your\n * application. Set to `false` to disable `maxWidth`.\n */\n maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', false]),\n\n /**\n * Callback fired when the backdrop is clicked.\n */\n onBackdropClick: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the dialog enters.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired when the escape key is pressed,\n * `disableKeyboard` is false and the modal is in focus.\n */\n onEscapeKeyDown: _propTypes.default.func,\n\n /**\n * Callback fired before the dialog exits.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * If `true`, the Dialog is open.\n */\n open: _propTypes.default.bool.isRequired,\n\n /**\n * Properties applied to the `Paper` element.\n */\n PaperProps: _propTypes.default.object,\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n })]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nDialog.defaultProps = {\n disableBackdropClick: false,\n disableEscapeKeyDown: false,\n fullScreen: false,\n fullWidth: false,\n maxWidth: 'sm',\n TransitionComponent: _Fade.default,\n transitionDuration: {\n enter: _transitions.duration.enteringScreen,\n exit: _transitions.duration.leavingScreen\n }\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialog'\n})(Dialog);\n\nexports.default = _default;\n\n/***/ }),\n/* 641 */\n/***/ (function(module, exports) {\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\n\n/***/ }),\n/* 642 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(643);\nmodule.exports = __webpack_require__(40).Object.keys;\n\n\n/***/ }),\n/* 643 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(111);\nvar $keys = __webpack_require__(131);\n\n__webpack_require__(216)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 644 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(92);\nvar toLength = __webpack_require__(161);\nvar toAbsoluteIndex = __webpack_require__(645);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 645 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(212);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 646 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(111);\nvar $getPrototypeOf = __webpack_require__(341);\n\n__webpack_require__(216)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 647 */\n/***/ (function(module, exports) {\n\nfunction _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\n\n/***/ }),\n/* 648 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(649);\n\n/***/ }),\n/* 649 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(343);\n__webpack_require__(218);\n__webpack_require__(345);\n__webpack_require__(656);\n__webpack_require__(663);\n__webpack_require__(666);\n__webpack_require__(668);\nmodule.exports = __webpack_require__(40).Map;\n\n\n/***/ }),\n/* 650 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(212);\nvar defined = __webpack_require__(209);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 651 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(164);\nvar descriptor = __webpack_require__(132);\nvar setToStringTag = __webpack_require__(165);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(84)(IteratorPrototype, __webpack_require__(52)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 652 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(58);\nvar anObject = __webpack_require__(94);\nvar getKeys = __webpack_require__(131);\n\nmodule.exports = __webpack_require__(65) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 653 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(64).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 654 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(655);\nvar step = __webpack_require__(346);\nvar Iterators = __webpack_require__(133);\nvar toIObject = __webpack_require__(92);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(219)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 655 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 656 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(657);\nvar validate = __webpack_require__(353);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(659)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/***/ }),\n/* 657 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dP = __webpack_require__(58).f;\nvar create = __webpack_require__(164);\nvar redefineAll = __webpack_require__(347);\nvar ctx = __webpack_require__(93);\nvar anInstance = __webpack_require__(348);\nvar forOf = __webpack_require__(166);\nvar $iterDefine = __webpack_require__(219);\nvar step = __webpack_require__(346);\nvar setSpecies = __webpack_require__(658);\nvar DESCRIPTORS = __webpack_require__(65);\nvar fastKey = __webpack_require__(220).fastKey;\nvar validate = __webpack_require__(353);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/***/ }),\n/* 658 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(64);\nvar core = __webpack_require__(40);\nvar dP = __webpack_require__(58);\nvar DESCRIPTORS = __webpack_require__(65);\nvar SPECIES = __webpack_require__(52)('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 659 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(64);\nvar $export = __webpack_require__(44);\nvar meta = __webpack_require__(220);\nvar fails = __webpack_require__(95);\nvar hide = __webpack_require__(84);\nvar redefineAll = __webpack_require__(347);\nvar forOf = __webpack_require__(166);\nvar anInstance = __webpack_require__(348);\nvar isObject = __webpack_require__(74);\nvar setToStringTag = __webpack_require__(165);\nvar dP = __webpack_require__(58).f;\nvar each = __webpack_require__(660)(0);\nvar DESCRIPTORS = __webpack_require__(65);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 660 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(93);\nvar IObject = __webpack_require__(210);\nvar toObject = __webpack_require__(111);\nvar toLength = __webpack_require__(161);\nvar asc = __webpack_require__(661);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 661 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(662);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 662 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(74);\nvar isArray = __webpack_require__(354);\nvar SPECIES = __webpack_require__(52)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 663 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(44);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(664)('Map') });\n\n\n/***/ }),\n/* 664 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = __webpack_require__(352);\nvar from = __webpack_require__(665);\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n/***/ }),\n/* 665 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar forOf = __webpack_require__(166);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n/***/ }),\n/* 666 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(667)('Map');\n\n\n/***/ }),\n/* 667 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(44);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 668 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(669)('Map');\n\n\n/***/ }),\n/* 669 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(44);\nvar aFunction = __webpack_require__(337);\nvar ctx = __webpack_require__(93);\nvar forOf = __webpack_require__(166);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 670 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(671);\n\n/***/ }),\n/* 671 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(672);\nmodule.exports = -0x1fffffffffffff;\n\n\n/***/ }),\n/* 672 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(44);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 673 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ns$jss$ns$sheetOptio;\n\nvar _propTypes = __webpack_require__(1);\n\nvar _ns = __webpack_require__(356);\n\nvar ns = _interopRequireWildcard(_ns);\n\nvar _propTypes2 = __webpack_require__(674);\n\nvar _propTypes3 = _interopRequireDefault(_propTypes2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexports['default'] = (_ns$jss$ns$sheetOptio = {}, _defineProperty(_ns$jss$ns$sheetOptio, ns.jss, _propTypes3['default'].jss), _defineProperty(_ns$jss$ns$sheetOptio, ns.sheetOptions, _propTypes.object), _defineProperty(_ns$jss$ns$sheetOptio, ns.sheetsRegistry, _propTypes3['default'].registry), _defineProperty(_ns$jss$ns$sheetOptio, ns.managers, _propTypes.object), _ns$jss$ns$sheetOptio);\n\n/***/ }),\n/* 674 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = __webpack_require__(1);\n\nexports['default'] = {\n jss: (0, _propTypes.shape)({\n options: (0, _propTypes.shape)({\n createGenerateClassName: _propTypes.func.isRequired\n }).isRequired,\n createStyleSheet: _propTypes.func.isRequired,\n removeStyleSheet: _propTypes.func.isRequired\n }),\n registry: (0, _propTypes.shape)({\n add: _propTypes.func.isRequired,\n toString: _propTypes.func.isRequired\n })\n};\n\n/***/ }),\n/* 675 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports['default'] = getDynamicStyles;\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/***/ }),\n/* 676 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n */\nvar SheetsManager = function () {\n function SheetsManager() {\n _classCallCheck(this, SheetsManager);\n\n this.sheets = [];\n this.refs = [];\n this.keys = [];\n }\n\n _createClass(SheetsManager, [{\n key: 'get',\n value: function get(key) {\n var index = this.keys.indexOf(key);\n return this.sheets[index];\n }\n }, {\n key: 'add',\n value: function add(key, sheet) {\n var sheets = this.sheets,\n refs = this.refs,\n keys = this.keys;\n\n var index = sheets.indexOf(sheet);\n\n if (index !== -1) return index;\n\n sheets.push(sheet);\n refs.push(0);\n keys.push(key);\n\n return sheets.length - 1;\n }\n }, {\n key: 'manage',\n value: function manage(key) {\n var index = this.keys.indexOf(key);\n var sheet = this.sheets[index];\n if (this.refs[index] === 0) sheet.attach();\n this.refs[index]++;\n if (!this.keys[index]) this.keys.splice(index, 0, key);\n return sheet;\n }\n }, {\n key: 'unmanage',\n value: function unmanage(key) {\n var index = this.keys.indexOf(key);\n if (index === -1) {\n // eslint-ignore-next-line no-console\n (0, _warning2['default'])(false, \"SheetsManager: can't find sheet to unmanage\");\n return;\n }\n if (this.refs[index] > 0) {\n this.refs[index]--;\n if (this.refs[index] === 0) this.sheets[index].detach();\n }\n }\n }, {\n key: 'size',\n get: function get() {\n return this.keys.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\nexports['default'] = SheetsManager;\n\n/***/ }),\n/* 677 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports['default'] = cloneStyle;\n\nvar _isObservable = __webpack_require__(359);\n\nvar _isObservable2 = _interopRequireDefault(_isObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar isArray = Array.isArray;\nfunction cloneStyle(style) {\n // Support empty values in case user ends up with them by accident.\n if (style == null) return style;\n\n // Support string value for SimpleRule.\n var typeOfStyle = typeof style === 'undefined' ? 'undefined' : _typeof(style);\n\n if (typeOfStyle === 'string' || typeOfStyle === 'number' || typeOfStyle === 'function') {\n return style;\n }\n\n // Support array for FontFaceRule.\n if (isArray(style)) return style.map(cloneStyle);\n\n // Support Observable styles. Observables are immutable, so we don't need to\n // copy them.\n if ((0, _isObservable2['default'])(style)) return style;\n\n var newStyle = {};\n for (var name in style) {\n var value = style[name];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n newStyle[name] = cloneStyle(value);\n continue;\n }\n newStyle[name] = value;\n }\n\n return newStyle;\n}\n\n/***/ }),\n/* 678 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(originalModule) {\n\tif(!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif(!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true,\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n/***/ }),\n/* 679 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n/***/ }),\n/* 680 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar CSS = global.CSS;\n\nvar env = \"production\";\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`])/g;\n\nexports['default'] = function (str) {\n // We don't need to escape it in production, because we are not using user's\n // input for selectors, we are generating a valid selector.\n if (env === 'production') return str;\n\n if (!CSS || !CSS.escape) {\n return str.replace(escapeRegex, '\\\\$1');\n }\n\n return CSS.escape(str);\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 681 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (global[ns] == null) global[ns] = 0;\n\n// Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\nexports['default'] = global[ns]++;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 682 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _isInBrowser = __webpack_require__(169);\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _StyleSheet = __webpack_require__(363);\n\nvar _StyleSheet2 = _interopRequireDefault(_StyleSheet);\n\nvar _PluginsRegistry = __webpack_require__(683);\n\nvar _PluginsRegistry2 = _interopRequireDefault(_PluginsRegistry);\n\nvar _rules = __webpack_require__(684);\n\nvar _rules2 = _interopRequireDefault(_rules);\n\nvar _observables = __webpack_require__(690);\n\nvar _observables2 = _interopRequireDefault(_observables);\n\nvar _functions = __webpack_require__(691);\n\nvar _functions2 = _interopRequireDefault(_functions);\n\nvar _sheets = __webpack_require__(222);\n\nvar _sheets2 = _interopRequireDefault(_sheets);\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createGenerateClassName = __webpack_require__(362);\n\nvar _createGenerateClassName2 = _interopRequireDefault(_createGenerateClassName);\n\nvar _createRule2 = __webpack_require__(168);\n\nvar _createRule3 = _interopRequireDefault(_createRule2);\n\nvar _DomRenderer = __webpack_require__(692);\n\nvar _DomRenderer2 = _interopRequireDefault(_DomRenderer);\n\nvar _VirtualRenderer = __webpack_require__(693);\n\nvar _VirtualRenderer2 = _interopRequireDefault(_VirtualRenderer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar defaultPlugins = _rules2['default'].concat([_observables2['default'], _functions2['default']]);\n\nvar instanceCounter = 0;\n\nvar Jss = function () {\n function Jss(options) {\n _classCallCheck(this, Jss);\n\n this.id = instanceCounter++;\n this.version = \"9.8.7\";\n this.plugins = new _PluginsRegistry2['default']();\n this.options = {\n createGenerateClassName: _createGenerateClassName2['default'],\n Renderer: _isInBrowser2['default'] ? _DomRenderer2['default'] : _VirtualRenderer2['default'],\n plugins: []\n };\n this.generateClassName = (0, _createGenerateClassName2['default'])();\n\n // eslint-disable-next-line prefer-spread\n this.use.apply(this, defaultPlugins);\n this.setup(options);\n }\n\n _createClass(Jss, [{\n key: 'setup',\n value: function setup() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options.createGenerateClassName) {\n this.options.createGenerateClassName = options.createGenerateClassName;\n // $FlowFixMe\n this.generateClassName = options.createGenerateClassName();\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n if (options.virtual || options.Renderer) {\n this.options.Renderer = options.Renderer || (options.virtual ? _VirtualRenderer2['default'] : _DomRenderer2['default']);\n }\n\n // eslint-disable-next-line prefer-spread\n if (options.plugins) this.use.apply(this, options.plugins);\n\n return this;\n }\n\n /**\n * Create a Style Sheet.\n */\n\n }, {\n key: 'createStyleSheet',\n value: function createStyleSheet(styles) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var index = options.index;\n if (typeof index !== 'number') {\n index = _sheets2['default'].index === 0 ? 0 : _sheets2['default'].index + 1;\n }\n var sheet = new _StyleSheet2['default'](styles, _extends({}, options, {\n jss: this,\n generateClassName: options.generateClassName || this.generateClassName,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n\n return sheet;\n }\n\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n\n }, {\n key: 'removeStyleSheet',\n value: function removeStyleSheet(sheet) {\n sheet.detach();\n _sheets2['default'].remove(sheet);\n return this;\n }\n\n /**\n * Create a rule without a Style Sheet.\n */\n\n }, {\n key: 'createRule',\n value: function createRule(name) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n // Enable rule without name for inline styles.\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n options = style;\n style = name;\n name = undefined;\n }\n\n // Cast from RuleFactoryOptions to RuleOptions\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var ruleOptions = options;\n\n ruleOptions.jss = this;\n ruleOptions.Renderer = this.options.Renderer;\n if (!ruleOptions.generateClassName) ruleOptions.generateClassName = this.generateClassName;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n var rule = (0, _createRule3['default'])(name, style, ruleOptions);\n\n if (!ruleOptions.selector && rule instanceof _StyleRule2['default']) {\n rule.selector = '.' + ruleOptions.generateClassName(rule);\n }\n\n this.plugins.onProcessRule(rule);\n\n return rule;\n }\n\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n\n }, {\n key: 'use',\n value: function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n // Avoids applying same plugin twice, at least based on ref.\n if (_this.options.plugins.indexOf(plugin) === -1) {\n _this.options.plugins.push(plugin);\n _this.plugins.use(plugin);\n }\n });\n\n return this;\n }\n }]);\n\n return Jss;\n}();\n\nexports['default'] = Jss;\n\n/***/ }),\n/* 683 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PluginsRegistry = function () {\n function PluginsRegistry() {\n _classCallCheck(this, PluginsRegistry);\n\n this.hooks = {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n };\n }\n\n _createClass(PluginsRegistry, [{\n key: 'onCreateRule',\n value: function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.hooks.onCreateRule.length; i++) {\n var rule = this.hooks.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n return null;\n }\n\n /**\n * Call `onProcessRule` hooks.\n */\n\n }, {\n key: 'onProcessRule',\n value: function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.hooks.onProcessRule.length; i++) {\n this.hooks.onProcessRule[i](rule, sheet);\n }\n\n // $FlowFixMe\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n\n rule.isProcessed = true;\n }\n\n /**\n * Call `onProcessStyle` hooks.\n */\n\n }, {\n key: 'onProcessStyle',\n value: function onProcessStyle(style, rule, sheet) {\n var nextStyle = style;\n\n for (var i = 0; i < this.hooks.onProcessStyle.length; i++) {\n nextStyle = this.hooks.onProcessStyle[i](nextStyle, rule, sheet);\n // $FlowFixMe\n rule.style = nextStyle;\n }\n }\n\n /**\n * Call `onProcessSheet` hooks.\n */\n\n }, {\n key: 'onProcessSheet',\n value: function onProcessSheet(sheet) {\n for (var i = 0; i < this.hooks.onProcessSheet.length; i++) {\n this.hooks.onProcessSheet[i](sheet);\n }\n }\n\n /**\n * Call `onUpdate` hooks.\n */\n\n }, {\n key: 'onUpdate',\n value: function onUpdate(data, rule, sheet) {\n for (var i = 0; i < this.hooks.onUpdate.length; i++) {\n this.hooks.onUpdate[i](data, rule, sheet);\n }\n }\n\n /**\n * Call `onChangeValue` hooks.\n */\n\n }, {\n key: 'onChangeValue',\n value: function onChangeValue(value, prop, rule) {\n var processedValue = value;\n for (var i = 0; i < this.hooks.onChangeValue.length; i++) {\n processedValue = this.hooks.onChangeValue[i](processedValue, prop, rule);\n }\n return processedValue;\n }\n\n /**\n * Register a plugin.\n * If function is passed, it is a shortcut for `{onProcessRule}`.\n */\n\n }, {\n key: 'use',\n value: function use(plugin) {\n for (var name in plugin) {\n if (this.hooks[name]) this.hooks[name].push(plugin[name]);else (0, _warning2['default'])(false, '[JSS] Unknown hook \"%s\".', name);\n }\n }\n }]);\n\n return PluginsRegistry;\n}();\n\nexports['default'] = PluginsRegistry;\n\n/***/ }),\n/* 684 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SimpleRule = __webpack_require__(685);\n\nvar _SimpleRule2 = _interopRequireDefault(_SimpleRule);\n\nvar _KeyframesRule = __webpack_require__(686);\n\nvar _KeyframesRule2 = _interopRequireDefault(_KeyframesRule);\n\nvar _ConditionalRule = __webpack_require__(687);\n\nvar _ConditionalRule2 = _interopRequireDefault(_ConditionalRule);\n\nvar _FontFaceRule = __webpack_require__(688);\n\nvar _FontFaceRule2 = _interopRequireDefault(_FontFaceRule);\n\nvar _ViewportRule = __webpack_require__(689);\n\nvar _ViewportRule2 = _interopRequireDefault(_ViewportRule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar classes = {\n '@charset': _SimpleRule2['default'],\n '@import': _SimpleRule2['default'],\n '@namespace': _SimpleRule2['default'],\n '@keyframes': _KeyframesRule2['default'],\n '@media': _ConditionalRule2['default'],\n '@supports': _ConditionalRule2['default'],\n '@font-face': _FontFaceRule2['default'],\n '@viewport': _ViewportRule2['default'],\n '@-ms-viewport': _ViewportRule2['default']\n\n /**\n * Generate plugins which will register all rules.\n */\n};\nvar plugins = Object.keys(classes).map(function (key) {\n // https://jsperf.com/indexof-vs-substr-vs-regex-at-the-beginning-3\n var re = new RegExp('^' + key);\n var RuleClass = classes[key];\n var onCreateRule = function onCreateRule(name, decl, options) {\n return re.test(name) ? new RuleClass(name, decl, options) : null;\n };\n return { onCreateRule: onCreateRule };\n});\n\nexports['default'] = plugins;\n\n/***/ }),\n/* 685 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SimpleRule = function () {\n function SimpleRule(key, value, options) {\n _classCallCheck(this, SimpleRule);\n\n this.type = 'simple';\n this.isProcessed = false;\n\n this.key = key;\n this.value = value;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n _createClass(SimpleRule, [{\n key: 'toString',\n value: function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + ' ' + this.value[index] + ';';\n if (this.value[index + 1]) str += '\\n';\n }\n return str;\n }\n\n return this.key + ' ' + this.value + ';';\n }\n }]);\n\n return SimpleRule;\n}();\n\nexports['default'] = SimpleRule;\n\n/***/ }),\n/* 686 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _RuleList = __webpack_require__(135);\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Rule for @keyframes\n */\nvar KeyframesRule = function () {\n function KeyframesRule(key, frames, options) {\n _classCallCheck(this, KeyframesRule);\n\n this.type = 'keyframes';\n this.isProcessed = false;\n\n this.key = key;\n this.options = options;\n this.rules = new _RuleList2['default'](_extends({}, options, { parent: this }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, this.options, {\n parent: this,\n selector: name\n }));\n }\n\n this.rules.process();\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(KeyframesRule, [{\n key: 'toString',\n value: function toString() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { indent: 1 };\n\n var inner = this.rules.toString(options);\n if (inner) inner += '\\n';\n return this.key + ' {\\n' + inner + '}';\n }\n }]);\n\n return KeyframesRule;\n}();\n\nexports['default'] = KeyframesRule;\n\n/***/ }),\n/* 687 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _RuleList = __webpack_require__(135);\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Conditional rule for @media, @supports\n */\nvar ConditionalRule = function () {\n function ConditionalRule(key, styles, options) {\n _classCallCheck(this, ConditionalRule);\n\n this.type = 'conditional';\n this.isProcessed = false;\n\n this.key = key;\n this.options = options;\n this.rules = new _RuleList2['default'](_extends({}, options, { parent: this }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n\n /**\n * Get a rule.\n */\n\n\n _createClass(ConditionalRule, [{\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Create and register rule, run plugins.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { indent: 1 };\n\n var inner = this.rules.toString(options);\n return inner ? this.key + ' {\\n' + inner + '\\n}' : '';\n }\n }]);\n\n return ConditionalRule;\n}();\n\nexports['default'] = ConditionalRule;\n\n/***/ }),\n/* 688 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toCss = __webpack_require__(221);\n\nvar _toCss2 = _interopRequireDefault(_toCss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar FontFaceRule = function () {\n function FontFaceRule(key, style, options) {\n _classCallCheck(this, FontFaceRule);\n\n this.type = 'font-face';\n this.isProcessed = false;\n\n this.key = key;\n this.style = style;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(FontFaceRule, [{\n key: 'toString',\n value: function toString(options) {\n if (Array.isArray(this.style)) {\n var str = '';\n for (var index = 0; index < this.style.length; index++) {\n str += (0, _toCss2['default'])(this.key, this.style[index]);\n if (this.style[index + 1]) str += '\\n';\n }\n return str;\n }\n\n return (0, _toCss2['default'])(this.key, this.style, options);\n }\n }]);\n\n return FontFaceRule;\n}();\n\nexports['default'] = FontFaceRule;\n\n/***/ }),\n/* 689 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toCss = __webpack_require__(221);\n\nvar _toCss2 = _interopRequireDefault(_toCss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ViewportRule = function () {\n function ViewportRule(key, style, options) {\n _classCallCheck(this, ViewportRule);\n\n this.type = 'viewport';\n this.isProcessed = false;\n\n this.key = key;\n this.style = style;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(ViewportRule, [{\n key: 'toString',\n value: function toString(options) {\n return (0, _toCss2['default'])(this.key, this.style, options);\n }\n }]);\n\n return ViewportRule;\n}();\n\nexports['default'] = ViewportRule;\n\n/***/ }),\n/* 690 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createRule = __webpack_require__(168);\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nvar _isObservable = __webpack_require__(359);\n\nvar _isObservable2 = _interopRequireDefault(_isObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (!(0, _isObservable2['default'])(decl)) return null;\n\n // Cast `decl` to `Observable`, since it passed the type guard.\n var style$ = decl;\n\n var rule = (0, _createRule2['default'])(name, {}, options);\n\n // TODO\n // Call `stream.subscribe()` returns a subscription, which should be explicitly\n // unsubscribed from when we know this sheet is no longer needed.\n style$.subscribe(function (style) {\n for (var prop in style) {\n rule.prop(prop, style[prop]);\n }\n });\n\n return rule;\n },\n onProcessRule: function onProcessRule(rule) {\n if (!(rule instanceof _StyleRule2['default'])) return;\n var styleRule = rule;\n var style = styleRule.style;\n\n var _loop = function _loop(prop) {\n var value = style[prop];\n if (!(0, _isObservable2['default'])(value)) return 'continue';\n delete style[prop];\n value.subscribe({\n next: function next(nextValue) {\n styleRule.prop(prop, nextValue);\n }\n });\n };\n\n for (var prop in style) {\n var _ret = _loop(prop);\n\n if (_ret === 'continue') continue;\n }\n }\n};\n\n/***/ }),\n/* 691 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _RuleList = __webpack_require__(135);\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createRule = __webpack_require__(168);\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// A symbol replacement.\nvar now = Date.now();\n\nvar fnValuesNs = 'fnValues' + now;\nvar fnStyleNs = 'fnStyle' + ++now;\n\nexports['default'] = {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = (0, _createRule2['default'])(name, {}, options);\n rule[fnStyleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n var fn = {};\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fn[prop] = value;\n }\n rule = rule;\n rule[fnValuesNs] = fn;\n return style;\n },\n onUpdate: function onUpdate(data, rule) {\n // It is a rules container like for e.g. ConditionalRule.\n if (rule.rules instanceof _RuleList2['default']) {\n rule.rules.update(data);\n return;\n }\n if (!(rule instanceof _StyleRule2['default'])) return;\n\n rule = rule;\n\n // If we have a fn values map, it is a rule with function values.\n if (rule[fnValuesNs]) {\n for (var prop in rule[fnValuesNs]) {\n rule.prop(prop, rule[fnValuesNs][prop](data));\n }\n }\n\n rule = rule;\n\n var fnStyle = rule[fnStyleNs];\n\n // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n if (fnStyle) {\n var style = fnStyle(data);\n for (var _prop in style) {\n rule.prop(_prop, style[_prop]);\n }\n }\n }\n};\n\n/***/ }),\n/* 692 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _sheets = __webpack_require__(222);\n\nvar _sheets2 = _interopRequireDefault(_sheets);\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _toCssValue = __webpack_require__(167);\n\nvar _toCssValue2 = _interopRequireDefault(_toCssValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Cache the value from the first time a function is called.\n */\nvar memoize = function memoize(fn) {\n var value = void 0;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n\n/**\n * Get a style property value.\n */\nfunction getPropertyValue(cssRule, prop) {\n try {\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n}\n\n/**\n * Set a style property.\n */\nfunction setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = (0, _toCssValue2['default'])(value, true);\n\n if (value[value.length - 1] === '!important') {\n cssRule.style.setProperty(prop, cssValue, 'important');\n return true;\n }\n }\n\n cssRule.style.setProperty(prop, cssValue);\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n return true;\n}\n\n/**\n * Remove a style property.\n */\nfunction removeProperty(cssRule, prop) {\n try {\n cssRule.style.removeProperty(prop);\n } catch (err) {\n (0, _warning2['default'])(false, '[JSS] DOMException \"%s\" was thrown. Tried to remove property \"%s\".', err.message, prop);\n }\n}\n\nvar CSSRuleTypes = {\n STYLE_RULE: 1,\n KEYFRAMES_RULE: 7\n\n /**\n * Get the CSS Rule key.\n */\n\n};var getKey = function () {\n var extractKey = function extractKey(cssText) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return cssText.substr(from, cssText.indexOf('{') - 1);\n };\n\n return function (cssRule) {\n if (cssRule.type === CSSRuleTypes.STYLE_RULE) return cssRule.selectorText;\n if (cssRule.type === CSSRuleTypes.KEYFRAMES_RULE) {\n var name = cssRule.name;\n\n if (name) return '@keyframes ' + name;\n\n // There is no rule.name in the following browsers:\n // - IE 9\n // - Safari 7.1.8\n // - Mobile Safari 9.0.0\n var cssText = cssRule.cssText;\n\n return '@' + extractKey(cssText, cssText.indexOf('keyframes'));\n }\n\n // Conditionals.\n return extractKey(cssRule.cssText);\n };\n}();\n\n/**\n * Set the selector.\n */\nfunction setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText;\n\n // Return false if setter was not successful.\n // Currently works in chrome only.\n return cssRule.selectorText === selectorText;\n}\n\n/**\n * Gets the `head` element upon the first call and caches it.\n */\nvar getHead = memoize(function () {\n return document.head || document.getElementsByTagName('head')[0];\n});\n\n/**\n * Gets a map of rule keys, where the property is an unescaped key and value\n * is a potentially escaped one.\n * It is used to identify CSS rules and the corresponding JSS rules. As an identifier\n * for CSSStyleRule we normally use `selectorText`. Though if original selector text\n * contains escaped code points e.g. `:not(#\\\\20)`, CSSOM will compile it to `:not(# )`\n * and so CSS rule's `selectorText` won't match JSS rule selector.\n *\n * https://www.w3.org/International/questions/qa-escapes#cssescapes\n */\nvar getUnescapedKeysMap = function () {\n var style = void 0;\n var isAttached = false;\n\n return function (rules) {\n var map = {};\n // https://github.com/facebook/flow/issues/2696\n if (!style) style = document.createElement('style');\n for (var i = 0; i < rules.length; i++) {\n var rule = rules[i];\n if (!(rule instanceof _StyleRule2['default'])) continue;\n var selector = rule.selector;\n // Only unescape selector over CSSOM if it contains a back slash.\n\n if (selector && selector.indexOf('\\\\') !== -1) {\n // Lazilly attach when needed.\n if (!isAttached) {\n getHead().appendChild(style);\n isAttached = true;\n }\n style.textContent = selector + ' {}';\n var _style = style,\n sheet = _style.sheet;\n\n if (sheet) {\n var cssRules = sheet.cssRules;\n\n if (cssRules) map[cssRules[0].selectorText] = rule.key;\n }\n }\n }\n if (isAttached) {\n getHead().removeChild(style);\n isAttached = false;\n }\n return map;\n };\n}();\n\n/**\n * Find attached sheet with an index higher than the passed one.\n */\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n\n/**\n * Find attached sheet with the highest index.\n */\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n\n/**\n * Find a comment with \"jss\" inside.\n */\nfunction findCommentNode(text) {\n var head = getHead();\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n return null;\n}\n\n/**\n * Find a node before which we can insert the sheet.\n */\nfunction findPrevNode(options) {\n var registry = _sheets2['default'].registry;\n\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n if (sheet) return sheet.renderer.element;\n\n // Otherwise insert after the last attached.\n sheet = findHighestSheet(registry, options);\n if (sheet) return sheet.renderer.element.nextElementSibling;\n }\n\n // Try to find a comment placeholder if registry is empty.\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n if (comment) return comment.nextSibling;\n // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n (0, _warning2['default'])(insertionPoint === 'jss', '[JSS] Insertion point \"%s\" not found.', insertionPoint);\n }\n\n return null;\n}\n\n/**\n * Insert style element into the DOM.\n */\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n\n var prevNode = findPrevNode(options);\n\n if (prevNode) {\n var parentNode = prevNode.parentNode;\n\n if (parentNode) parentNode.insertBefore(style, prevNode);\n return;\n }\n\n // Works with iframes and any node types.\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var insertionPointElement = insertionPoint;\n var _parentNode = insertionPointElement.parentNode;\n\n if (_parentNode) _parentNode.insertBefore(style, insertionPointElement.nextSibling);else (0, _warning2['default'])(false, '[JSS] Insertion point is not in the DOM.');\n return;\n }\n\n getHead().insertBefore(style, prevNode);\n}\n\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar DomRenderer = function () {\n function DomRenderer(sheet) {\n _classCallCheck(this, DomRenderer);\n\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.getKey = getKey;\n this.getUnescapedKeysMap = getUnescapedKeysMap;\n this.hasInsertedRules = false;\n\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) _sheets2['default'].add(sheet);\n\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || document.createElement('style');\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n\n /**\n * Insert style element into render tree.\n */\n\n\n // HTMLStyleElement needs fixing https://github.com/facebook/flow/issues/2696\n\n\n _createClass(DomRenderer, [{\n key: 'attach',\n value: function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n\n // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // browsers remove those rules.\n // TODO figure out if its a bug and if it is known.\n // Workaround is to redeploy the sheet before attaching as a string.\n if (this.hasInsertedRules) {\n this.deploy();\n this.hasInsertedRules = false;\n }\n\n insertStyle(this.element, this.sheet.options);\n }\n\n /**\n * Remove style element from render tree.\n */\n\n }, {\n key: 'detach',\n value: function detach() {\n this.element.parentNode.removeChild(this.element);\n }\n\n /**\n * Inject CSS string into element.\n */\n\n }, {\n key: 'deploy',\n value: function deploy() {\n if (!this.sheet) return;\n this.element.textContent = '\\n' + this.sheet.toString() + '\\n';\n }\n\n /**\n * Insert a rule into element.\n */\n\n }, {\n key: 'insertRule',\n value: function insertRule(rule, index) {\n var sheet = this.element.sheet;\n var cssRules = sheet.cssRules;\n\n var str = rule.toString();\n if (!index) index = cssRules.length;\n\n if (!str) return false;\n\n try {\n sheet.insertRule(str, index);\n } catch (err) {\n (0, _warning2['default'])(false, '[JSS] Can not insert an unsupported rule \\n\\r%s', rule);\n return false;\n }\n this.hasInsertedRules = true;\n\n return cssRules[index];\n }\n\n /**\n * Delete a rule.\n */\n\n }, {\n key: 'deleteRule',\n value: function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n return true;\n }\n\n /**\n * Get index of a CSS Rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(cssRule) {\n var cssRules = this.element.sheet.cssRules;\n\n for (var _index = 0; _index < cssRules.length; _index++) {\n if (cssRule === cssRules[_index]) return _index;\n }\n return -1;\n }\n\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n\n }, {\n key: 'replaceRule',\n value: function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n var newCssRule = this.insertRule(rule, index);\n this.element.sheet.deleteRule(index);\n return newCssRule;\n }\n\n /**\n * Get all rules elements.\n */\n\n }, {\n key: 'getRules',\n value: function getRules() {\n return this.element.sheet.cssRules;\n }\n }]);\n\n return DomRenderer;\n}();\n\nexports['default'] = DomRenderer;\n\n/***/ }),\n/* 693 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable class-methods-use-this */\n\n/**\n * Rendering backend to do nothing in nodejs.\n */\nvar VirtualRenderer = function () {\n function VirtualRenderer() {\n _classCallCheck(this, VirtualRenderer);\n }\n\n _createClass(VirtualRenderer, [{\n key: 'setProperty',\n value: function setProperty() {\n return true;\n }\n }, {\n key: 'getPropertyValue',\n value: function getPropertyValue() {\n return '';\n }\n }, {\n key: 'removeProperty',\n value: function removeProperty() {}\n }, {\n key: 'setSelector',\n value: function setSelector() {\n return true;\n }\n }, {\n key: 'getKey',\n value: function getKey() {\n return '';\n }\n }, {\n key: 'attach',\n value: function attach() {}\n }, {\n key: 'detach',\n value: function detach() {}\n }, {\n key: 'deploy',\n value: function deploy() {}\n }, {\n key: 'insertRule',\n value: function insertRule() {\n return false;\n }\n }, {\n key: 'deleteRule',\n value: function deleteRule() {\n return true;\n }\n }, {\n key: 'replaceRule',\n value: function replaceRule() {\n return false;\n }\n }, {\n key: 'getRules',\n value: function getRules() {}\n }, {\n key: 'indexOf',\n value: function indexOf() {\n return -1;\n }\n }]);\n\n return VirtualRenderer;\n}();\n\nexports['default'] = VirtualRenderer;\n\n/***/ }),\n/* 694 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports['default'] = jssGlobal;\n\nvar _jss = __webpack_require__(357);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar propKey = '@global';\nvar prefixKey = '@global ';\n\nvar GlobalContainerRule = function () {\n function GlobalContainerRule(key, styles, options) {\n _classCallCheck(this, GlobalContainerRule);\n\n this.type = 'global';\n\n this.key = key;\n this.options = options;\n this.rules = new _jss.RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector], { selector: selector });\n }\n\n this.rules.process();\n }\n\n /**\n * Get a rule.\n */\n\n\n _createClass(GlobalContainerRule, [{\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Create and register rule, run plugins.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n return this.rules.toString();\n }\n }]);\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule = function () {\n function GlobalPrefixedRule(name, style, options) {\n _classCallCheck(this, GlobalPrefixedRule);\n\n this.name = name;\n this.options = options;\n var selector = name.substr(prefixKey.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this,\n selector: selector\n }));\n }\n\n _createClass(GlobalPrefixedRule, [{\n key: 'toString',\n value: function toString(options) {\n return this.rule.toString(options);\n }\n }]);\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + ' ' + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule) {\n var options = rule.options,\n style = rule.style;\n\n var rules = style[propKey];\n\n if (!rules) return;\n\n for (var name in rules) {\n options.sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[propKey];\n}\n\nfunction handlePrefixedGlobalRule(rule) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop.substr(0, propKey.length) !== propKey) continue;\n\n var selector = addScope(prop.substr(propKey.length), rule.selector);\n options.sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (name === propKey) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, prefixKey.length) === prefixKey) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent.type === 'global') {\n options.global = true;\n }\n }\n\n if (options.global) options.selector = name;\n\n return null;\n }\n\n function onProcessRule(rule) {\n if (rule.type !== 'style') return;\n\n handleNestedGlobalContainerRule(rule);\n handlePrefixedGlobalRule(rule);\n }\n\n return { onCreateRule: onCreateRule, onProcessRule: onProcessRule };\n}\n\n/***/ }),\n/* 695 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = jssNested;\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container) {\n return function (match, key) {\n var rule = container.getRule(key);\n if (rule) return rule.selector;\n (0, _warning2.default)(false, '[JSS] Could not find the referenced rule %s in %s.', key, container.options.meta || container);\n return key;\n };\n }\n\n var hasAnd = function hasAnd(str) {\n return str.indexOf('&') !== -1;\n };\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', ';\n // Replace all & by the parent or prefix & with the parent.\n result += hasAnd(nested) ? nested.replace(parentRegExp, parent) : parent + ' ' + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, options) {\n // Options has been already created, now we only increase index.\n if (options) return _extends({}, options, { index: options.index + 1 });\n\n var nestingLevel = rule.options.nestingLevel;\n\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n return _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1\n });\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var container = rule.options.parent;\n var options = void 0;\n var replaceRef = void 0;\n for (var prop in style) {\n var isNested = hasAnd(prop);\n var isNestedConditional = prop[0] === '@';\n\n if (!isNested && !isNestedConditional) continue;\n\n options = getOptions(rule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, rule.selector\n // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n );if (!replaceRef) replaceRef = getReplaceRef(container\n // Replace all $refs.\n );selector = selector.replace(refRegExp, replaceRef);\n\n container.addRule(selector, style[prop], _extends({}, options, { selector: selector }));\n } else if (isNestedConditional) {\n container\n // Place conditional right after the parent rule to ensure right ordering.\n .addRule(prop, null, options).addRule(rule.key, style[prop], { selector: rule.selector });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return { onProcessStyle: onProcessStyle };\n}\n\n/***/ }),\n/* 696 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = camelCase;\n\nvar _hyphenateStyleName = __webpack_require__(697);\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Convert camel cased property names to dash separated.\n *\n * @param {Object} style\n * @return {Object}\n */\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n converted[(0, _hyphenateStyleName2['default'])(prop)] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n\n/**\n * Allow camel cased property names by converting them back to dasherized.\n *\n * @param {Rule} rule\n */\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n var hyphenatedProp = (0, _hyphenateStyleName2['default'])(prop);\n\n // There was no camel case in place\n if (prop === hyphenatedProp) return value;\n\n rule.prop(hyphenatedProp, value);\n\n // Core will ignore that property value we set the proper one above.\n return null;\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}\n\n/***/ }),\n/* 697 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hyphenateStyleName);\n\n\n/***/ }),\n/* 698 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports['default'] = defaultUnit;\n\nvar _defaultUnits = __webpack_require__(699);\n\nvar _defaultUnits2 = _interopRequireDefault(_defaultUnits);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Clones the object and adds a camel cased property version.\n */\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n var newObj = {};\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n return newObj;\n}\n\nvar units = addCamelCasedVersion(_defaultUnits2['default']);\n\n/**\n * Recursive deep style passing function\n *\n * @param {String} current property\n * @param {(Object|Array|Number|String)} property value\n * @param {Object} options\n * @return {(Object|Array|Number|String)} resulting value\n */\nfunction iterate(prop, value, options) {\n if (!value) return value;\n\n var convertedValue = value;\n\n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n if (type === 'object' && Array.isArray(value)) type = 'array';\n\n switch (type) {\n case 'object':\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n break;\n }\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + '-' + _innerProp, value[_innerProp], options);\n }\n break;\n case 'array':\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n break;\n case 'number':\n if (value !== 0) {\n convertedValue = value + (options[prop] || units[prop] || '');\n }\n break;\n default:\n break;\n }\n\n return convertedValue;\n}\n\n/**\n * Add unit to numeric values.\n */\nfunction defaultUnit() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}\n\n/***/ }),\n/* 699 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Generated jss-default-unit CSS property units\n *\n * @type object\n */\nexports['default'] = {\n 'animation-delay': 'ms',\n 'animation-duration': 'ms',\n 'background-position': 'px',\n 'background-position-x': 'px',\n 'background-position-y': 'px',\n 'background-size': 'px',\n border: 'px',\n 'border-bottom': 'px',\n 'border-bottom-left-radius': 'px',\n 'border-bottom-right-radius': 'px',\n 'border-bottom-width': 'px',\n 'border-left': 'px',\n 'border-left-width': 'px',\n 'border-radius': 'px',\n 'border-right': 'px',\n 'border-right-width': 'px',\n 'border-spacing': 'px',\n 'border-top': 'px',\n 'border-top-left-radius': 'px',\n 'border-top-right-radius': 'px',\n 'border-top-width': 'px',\n 'border-width': 'px',\n 'border-after-width': 'px',\n 'border-before-width': 'px',\n 'border-end-width': 'px',\n 'border-horizontal-spacing': 'px',\n 'border-start-width': 'px',\n 'border-vertical-spacing': 'px',\n bottom: 'px',\n 'box-shadow': 'px',\n 'column-gap': 'px',\n 'column-rule': 'px',\n 'column-rule-width': 'px',\n 'column-width': 'px',\n 'flex-basis': 'px',\n 'font-size': 'px',\n 'font-size-delta': 'px',\n height: 'px',\n left: 'px',\n 'letter-spacing': 'px',\n 'logical-height': 'px',\n 'logical-width': 'px',\n margin: 'px',\n 'margin-after': 'px',\n 'margin-before': 'px',\n 'margin-bottom': 'px',\n 'margin-left': 'px',\n 'margin-right': 'px',\n 'margin-top': 'px',\n 'max-height': 'px',\n 'max-width': 'px',\n 'margin-end': 'px',\n 'margin-start': 'px',\n 'mask-position-x': 'px',\n 'mask-position-y': 'px',\n 'mask-size': 'px',\n 'max-logical-height': 'px',\n 'max-logical-width': 'px',\n 'min-height': 'px',\n 'min-width': 'px',\n 'min-logical-height': 'px',\n 'min-logical-width': 'px',\n motion: 'px',\n 'motion-offset': 'px',\n outline: 'px',\n 'outline-offset': 'px',\n 'outline-width': 'px',\n padding: 'px',\n 'padding-bottom': 'px',\n 'padding-left': 'px',\n 'padding-right': 'px',\n 'padding-top': 'px',\n 'padding-after': 'px',\n 'padding-before': 'px',\n 'padding-end': 'px',\n 'padding-start': 'px',\n 'perspective-origin-x': '%',\n 'perspective-origin-y': '%',\n perspective: 'px',\n right: 'px',\n 'shape-margin': 'px',\n size: 'px',\n 'text-indent': 'px',\n 'text-stroke': 'px',\n 'text-stroke-width': 'px',\n top: 'px',\n 'transform-origin': '%',\n 'transform-origin-x': '%',\n 'transform-origin-y': '%',\n 'transform-origin-z': '%',\n 'transition-delay': 'ms',\n 'transition-duration': 'ms',\n 'vertical-align': 'px',\n width: 'px',\n 'word-spacing': 'px',\n // Not existing properties.\n // Used to avoid issues with jss-expand intergration.\n 'box-shadow-x': 'px',\n 'box-shadow-y': 'px',\n 'box-shadow-blur': 'px',\n 'box-shadow-spread': 'px',\n 'font-line-height': 'px',\n 'text-shadow-x': 'px',\n 'text-shadow-y': 'px',\n 'text-shadow-blur': 'px'\n};\n\n/***/ }),\n/* 700 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = jssVendorPrefixer;\n\nvar _cssVendor = __webpack_require__(701);\n\nvar vendor = _interopRequireWildcard(_cssVendor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Add vendor prefix to a property name when needed.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n rule.key = '@' + vendor.prefix.css + rule.key.substr(1);\n }\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n var value = style[prop];\n\n var changeProp = false;\n var supportedProp = vendor.supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n\n var changeValue = false;\n var supportedValue = vendor.supportedValue(supportedProp, value);\n if (supportedValue && supportedValue !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue || value;\n }\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return vendor.supportedValue(prop, value);\n }\n\n return { onProcessRule: onProcessRule, onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}\n\n/***/ }),\n/* 701 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.supportedValue = exports.supportedProperty = exports.prefix = undefined;\n\nvar _prefix = __webpack_require__(223);\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _supportedProperty = __webpack_require__(702);\n\nvar _supportedProperty2 = _interopRequireDefault(_supportedProperty);\n\nvar _supportedValue = __webpack_require__(704);\n\nvar _supportedValue2 = _interopRequireDefault(_supportedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n prefix: _prefix2['default'],\n supportedProperty: _supportedProperty2['default'],\n supportedValue: _supportedValue2['default']\n}; /**\n * CSS Vendor prefix detection and property feature testing.\n *\n * @copyright Oleg Slobodskoi 2015\n * @website https://github.com/jsstyles/css-vendor\n * @license MIT\n */\n\nexports.prefix = _prefix2['default'];\nexports.supportedProperty = _supportedProperty2['default'];\nexports.supportedValue = _supportedValue2['default'];\n\n/***/ }),\n/* 702 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = supportedProperty;\n\nvar _isInBrowser = __webpack_require__(169);\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _prefix = __webpack_require__(223);\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _camelize = __webpack_require__(703);\n\nvar _camelize2 = _interopRequireDefault(_camelize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar el = void 0;\nvar cache = {};\n\nif (_isInBrowser2['default']) {\n el = document.createElement('p');\n\n /**\n * We test every property on vendor prefix requirement.\n * Once tested, result is cached. It gives us up to 70% perf boost.\n * http://jsperf.com/element-style-object-access-vs-plain-object\n *\n * Prefill cache with known css properties to reduce amount of\n * properties we need to feature test at runtime.\n * http://davidwalsh.name/vendor-prefix\n */\n var computed = window.getComputedStyle(document.documentElement, '');\n for (var key in computed) {\n if (!isNaN(key)) cache[computed[key]] = computed[key];\n }\n}\n\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @return {String|Boolean}\n * @api public\n */\nfunction supportedProperty(prop) {\n // For server-side rendering.\n if (!el) return prop;\n\n // We have not tested this prop yet, lets do the test.\n if (cache[prop] != null) return cache[prop];\n\n // Camelization is required because we can't test using\n // css syntax for e.g. in FF.\n // Test if property is supported as it is.\n if ((0, _camelize2['default'])(prop) in el.style) {\n cache[prop] = prop;\n }\n // Test if property is supported with vendor prefix.\n else if (_prefix2['default'].js + (0, _camelize2['default'])('-' + prop) in el.style) {\n cache[prop] = _prefix2['default'].css + prop;\n } else {\n cache[prop] = false;\n }\n\n return cache[prop];\n}\n\n/***/ }),\n/* 703 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = camelize;\nvar regExp = /[-\\s]+(.)?/g;\n\n/**\n * Convert dash separated strings to camel cased.\n *\n * @param {String} str\n * @return {String}\n */\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n\n/***/ }),\n/* 704 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = supportedValue;\n\nvar _isInBrowser = __webpack_require__(169);\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _prefix = __webpack_require__(223);\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar cache = {};\nvar el = void 0;\n\nif (_isInBrowser2['default']) el = document.createElement('p');\n\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\nfunction supportedValue(property, value) {\n // For server-side rendering.\n if (!el) return value;\n\n // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n if (typeof value !== 'string' || !isNaN(parseInt(value, 10))) return value;\n\n var cacheKey = property + value;\n\n if (cache[cacheKey] != null) return cache[cacheKey];\n\n // IE can even throw an error in some cases, for e.g. style.content = 'bar'\n try {\n // Test value as it is.\n el.style[property] = value;\n } catch (err) {\n cache[cacheKey] = false;\n return false;\n }\n\n // Value is supported as it is.\n if (el.style[property] !== '') {\n cache[cacheKey] = value;\n } else {\n // Test value with vendor prefix.\n value = _prefix2['default'].css + value;\n\n // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n if (value === '-ms-flex') value = '-ms-flexbox';\n\n el.style[property] = value;\n\n // Value is supported with vendor prefix.\n if (el.style[property] !== '') cache[cacheKey] = value;\n }\n\n if (!cache[cacheKey]) cache[cacheKey] = false;\n\n // Reset style value.\n el.style[property] = '';\n\n return cache[cacheKey];\n}\n\n/***/ }),\n/* 705 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = jssPropsSort;\n/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n function sort(prop0, prop1) {\n return prop0.length - prop1.length;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n for (var prop in props) {\n newStyle[props[prop]] = style[props[prop]];\n }\n return newStyle;\n }\n\n return { onProcessStyle: onProcessStyle };\n}\n\n/***/ }),\n/* 706 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createTypography;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _deepmerge = _interopRequireDefault(__webpack_require__(170));\n\n// < 1kb payload overhead when lodash/merge is > 3kb.\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nfunction createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif' : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n other = (0, _objectWithoutProperties2.default)(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"htmlFontSize\"]);\n\n var coef = fontSize / 14;\n\n function pxToRem(value) {\n return \"\".concat(value / htmlFontSize * coef, \"rem\");\n }\n\n return (0, _deepmerge.default)({\n pxToRem: pxToRem,\n round: round,\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n display4: {\n fontSize: pxToRem(112),\n fontWeight: fontWeightLight,\n fontFamily: fontFamily,\n letterSpacing: '-.04em',\n lineHeight: \"\".concat(round(128 / 112), \"em\"),\n marginLeft: '-.04em',\n color: palette.text.secondary\n },\n display3: {\n fontSize: pxToRem(56),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n letterSpacing: '-.02em',\n lineHeight: \"\".concat(round(73 / 56), \"em\"),\n marginLeft: '-.02em',\n color: palette.text.secondary\n },\n display2: {\n fontSize: pxToRem(45),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(48 / 45), \"em\"),\n marginLeft: '-.02em',\n color: palette.text.secondary\n },\n display1: {\n fontSize: pxToRem(34),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(41 / 34), \"em\"),\n color: palette.text.secondary\n },\n headline: {\n fontSize: pxToRem(24),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(32.5 / 24), \"em\"),\n color: palette.text.primary\n },\n title: {\n fontSize: pxToRem(21),\n fontWeight: fontWeightMedium,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(24.5 / 21), \"em\"),\n color: palette.text.primary\n },\n subheading: {\n fontSize: pxToRem(16),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(24 / 16), \"em\"),\n color: palette.text.primary\n },\n body2: {\n fontSize: pxToRem(14),\n fontWeight: fontWeightMedium,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(24 / 14), \"em\"),\n color: palette.text.primary\n },\n body1: {\n fontSize: pxToRem(14),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(20.5 / 14), \"em\"),\n color: palette.text.primary\n },\n caption: {\n fontSize: pxToRem(12),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(16.5 / 12), \"em\"),\n color: palette.text.secondary\n },\n button: {\n fontSize: pxToRem(14),\n textTransform: 'uppercase',\n fontWeight: fontWeightMedium,\n fontFamily: fontFamily\n }\n }, other, {\n clone: false // No need to clone deep\n\n });\n}\n\n/***/ }),\n/* 707 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPalette;\nexports.dark = exports.light = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _deepmerge = _interopRequireDefault(__webpack_require__(170));\n\nvar _indigo = _interopRequireDefault(__webpack_require__(366));\n\nvar _pink = _interopRequireDefault(__webpack_require__(367));\n\nvar _grey = _interopRequireDefault(__webpack_require__(368));\n\nvar _red = _interopRequireDefault(__webpack_require__(369));\n\nvar _common = _interopRequireDefault(__webpack_require__(225));\n\nvar _colorManipulator = __webpack_require__(113);\n\n// < 1kb payload overhead when lodash/merge is > 3kb.\nvar light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: _common.default.white,\n default: _grey.default[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.08)',\n hoverOpacity: 0.08,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.14)',\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)'\n }\n};\nexports.light = light;\nvar dark = {\n text: {\n primary: _common.default.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: _grey.default[800],\n default: '#303030'\n },\n action: {\n active: _common.default.white,\n hover: 'rgba(255, 255, 255, 0.1)',\n hoverOpacity: 0.1,\n selected: 'rgba(255, 255, 255, 0.2)',\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)'\n }\n};\nexports.dark = dark;\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = (0, _colorManipulator.lighten)(intent.main, tonalOffset);\n } else if (direction === 'dark') {\n intent.dark = (0, _colorManipulator.darken)(intent.main, tonalOffset * 1.5);\n }\n }\n}\n\nfunction createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: _indigo.default[300],\n main: _indigo.default[500],\n dark: _indigo.default[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: _pink.default.A200,\n main: _pink.default.A400,\n dark: _pink.default.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: _red.default[300],\n main: _red.default[500],\n dark: _red.default[700]\n } : _palette$error,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = (0, _objectWithoutProperties2.default)(palette, [\"primary\", \"secondary\", \"error\", \"type\", \"contrastThreshold\", \"tonalOffset\"]);\n\n function getContrastText(background) {\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n var contrastText = (0, _colorManipulator.getContrastRatio)(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (false) {\n var contrast = (0, _colorManipulator.getContrastRatio)(background, contrastText);\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(contrast >= 3, [\"Material-UI: the contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WACG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n')) : void 0;\n }\n\n return contrastText;\n }\n\n function augmentColor(color, mainShade, lightShade, darkShade) {\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n }\n\n augmentColor(primary, 500, 300, 700);\n augmentColor(secondary, 'A400', 'A200', 'A700');\n augmentColor(error, 500, 300, 700);\n var types = {\n dark: dark,\n light: light\n };\n false ? (0, _warning.default)(types[type], \"Material-UI: the palette type `\".concat(type, \"` is not supported.\")) : void 0;\n var paletteOutput = (0, _deepmerge.default)((0, _objectSpread2.default)({\n // A collection of common colors.\n common: _common.default,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: primary,\n // The colors used to represent secondary interface elements for a user.\n secondary: secondary,\n // The colors used to represent interface elements that the user should be made aware of.\n error: error,\n // The grey colors.\n grey: _grey.default,\n // Used by `getContrastText()` to maximize the contrast between the background and\n // the text.\n contrastThreshold: contrastThreshold,\n // Take a background color and return the color of the text to maximize the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other, {\n clone: false // No need to clone deep\n\n });\n return paletteOutput;\n}\n\n/***/ }),\n/* 708 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createMixins;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread3 = _interopRequireDefault(__webpack_require__(28));\n\nfunction createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return (0, _objectSpread3.default)({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _objectSpread3.default)({\n paddingLeft: spacing.unit * 2,\n paddingRight: spacing.unit * 2\n }, styles, (0, _defineProperty2.default)({}, breakpoints.up('sm'), (0, _objectSpread3.default)({\n paddingLeft: spacing.unit * 3,\n paddingRight: spacing.unit * 3\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, (0, _defineProperty2.default)(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), (0, _defineProperty2.default)(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}\n\n/***/ }),\n/* 709 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0, 0, 0, \").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0, 0, 0, \").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0, 0, 0, \").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n}\n\nvar shadows = ['none', createShadow(0, 1, 3, 0, 0, 1, 1, 0, 0, 2, 1, -1), createShadow(0, 1, 5, 0, 0, 2, 2, 0, 0, 3, 1, -2), createShadow(0, 1, 8, 0, 0, 3, 4, 0, 0, 3, 3, -2), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nvar _default = shadows;\nexports.default = _default;\n\n/***/ }),\n/* 710 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(711);\n\n/***/ }),\n/* 711 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(712);\nmodule.exports = __webpack_require__(40).Number.isNaN;\n\n\n/***/ }),\n/* 712 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(44);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 713 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nvar _default = zIndex;\nexports.default = _default;\n\n/***/ }),\n/* 714 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n // All components align to an 8dp square baseline grid for mobile, tablet, and desktop.\n // https://material.io/guidelines/layout/metrics-keylines.html#metrics-keylines-baseline-grids\n unit: 8\n};\nexports.default = _default;\n\n/***/ }),\n/* 715 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(__webpack_require__(110));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _deepmerge = _interopRequireDefault(__webpack_require__(170));\n\n// < 1kb payload overhead when lodash/merge is > 3kb.\n// Support for the jss-expand plugin.\nfunction arrayMerge(destination, source) {\n return source;\n}\n\nfunction getStylesCreator(stylesOrCreator) {\n var themingEnabled = typeof stylesOrCreator === 'function';\n\n function create(theme, name) {\n var styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;\n\n if (!name || !theme.overrides || !theme.overrides[name]) {\n return styles;\n }\n\n var overrides = theme.overrides[name];\n var stylesWithOverrides = (0, _objectSpread2.default)({}, styles);\n (0, _keys.default)(overrides).forEach(function (key) {\n false ? (0, _warning.default)(stylesWithOverrides[key], ['Material-UI: you are trying to override a style that does not exist.', \"Fix the `\".concat(key, \"` key of `theme.overrides.\").concat(name, \"`.\")].join('\\n')) : void 0;\n stylesWithOverrides[key] = (0, _deepmerge.default)(stylesWithOverrides[key], overrides[key], {\n arrayMerge: arrayMerge\n });\n });\n return stylesWithOverrides;\n }\n\n return {\n create: create,\n options: {},\n themingEnabled: themingEnabled\n };\n}\n\nvar _default = getStylesCreator;\nexports.default = _default;\n\n/***/ }),\n/* 716 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction getThemeProps(params) {\n var theme = params.theme,\n name = params.name;\n\n if (!name || !theme.props || !theme.props[name]) {\n return {};\n }\n\n return theme.props[name];\n}\n\nvar _default = getThemeProps;\nexports.default = _default;\n\n/***/ }),\n/* 717 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _activeElement = _interopRequireDefault(__webpack_require__(371));\n\nvar _contains = _interopRequireDefault(__webpack_require__(171));\n\nvar _inDOM = _interopRequireDefault(__webpack_require__(172));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _RootRef = _interopRequireDefault(__webpack_require__(372));\n\nvar _Portal = _interopRequireDefault(__webpack_require__(373));\n\nvar _helpers = __webpack_require__(39);\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ModalManager = _interopRequireDefault(__webpack_require__(374));\n\nvar _Backdrop = _interopRequireDefault(__webpack_require__(377));\n\n// @inheritedComponent Portal\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom.default.findDOMNode(container) || defaultContainer;\n}\n\nfunction getHasTransition(props) {\n return props.children ? props.children.props.hasOwnProperty('in') : false;\n}\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n width: '100%',\n height: '100%',\n position: 'fixed',\n zIndex: theme.zIndex.modal,\n top: 0,\n left: 0\n },\n hidden: {\n visibility: 'hidden'\n }\n };\n};\n\nexports.styles = styles;\n\nvar Modal =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Modal, _React$Component);\n (0, _createClass2.default)(Modal, null, [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n if (nextProps.open) {\n return {\n exited: false\n };\n } else if (!getHasTransition(nextProps)) {\n // Otherwise let handleExited take care of marking exited.\n return {\n exited: true\n };\n }\n\n return null;\n }\n }]);\n\n function Modal(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Modal);\n _this = (0, _possibleConstructorReturn2.default)(this, (Modal.__proto__ || (0, _getPrototypeOf.default)(Modal)).call(this, props, context));\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"dialogElement\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mounted\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mountNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRendered\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.autoFocus();\n\n if (_this.props.onRendered) {\n _this.props.onRendered();\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleOpen\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n var doc = (0, _ownerDocument.default)(_this.mountNode);\n var container = getContainer(_this.props.container, doc.body);\n\n _this.props.manager.add((0, _assertThisInitialized2.default)(_this), container);\n\n doc.addEventListener('keydown', _this.handleDocumentKeyDown);\n doc.addEventListener('focus', _this.enforceFocus, true);\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.props.manager.remove((0, _assertThisInitialized2.default)(_this));\n\n var doc = (0, _ownerDocument.default)(_this.mountNode);\n doc.removeEventListener('keydown', _this.handleDocumentKeyDown);\n doc.removeEventListener('focus', _this.enforceFocus);\n\n _this.restoreLastFocus();\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExited\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n exited: true\n });\n\n _this.handleClose();\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBackdropClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this.props.onBackdropClick) {\n _this.props.onBackdropClick(event);\n }\n\n if (!_this.props.disableBackdropClick && _this.props.onClose) {\n _this.props.onClose(event, 'backdropClick');\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDocumentKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (!_this.isTopModal() || (0, _keycode.default)(event) !== 'esc') {\n return;\n }\n\n if (_this.props.onEscapeKeyDown) {\n _this.props.onEscapeKeyDown(event);\n }\n\n if (!_this.props.disableEscapeKeyDown && _this.props.onClose) {\n _this.props.onClose(event, 'escapeKeyDown');\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"checkForFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_inDOM.default) {\n _this.lastFocus = (0, _activeElement.default)();\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"enforceFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.props.disableEnforceFocus || !_this.mounted || !_this.isTopModal()) {\n return;\n }\n\n var currentActiveElement = (0, _activeElement.default)((0, _ownerDocument.default)(_this.mountNode));\n\n if (_this.dialogElement && !(0, _contains.default)(_this.dialogElement, currentActiveElement)) {\n _this.dialogElement.focus();\n }\n }\n });\n _this.state = {\n exited: !_this.props.open\n };\n return _this;\n }\n\n (0, _createClass2.default)(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n\n if (this.props.open) {\n this.handleOpen();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (!prevProps.open && this.props.open) {\n this.checkForFocus();\n }\n\n if (prevProps.open && !this.props.open && !getHasTransition(this.props)) {\n // Otherwise handleExited will call this.\n this.handleClose();\n } else if (!prevProps.open && this.props.open) {\n this.handleOpen();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.props.open || getHasTransition(this.props) && !this.state.exited) {\n this.handleClose();\n }\n }\n }, {\n key: \"autoFocus\",\n value: function autoFocus() {\n if (this.props.disableAutoFocus) {\n return;\n }\n\n var currentActiveElement = (0, _activeElement.default)((0, _ownerDocument.default)(this.mountNode));\n\n if (this.dialogElement && !(0, _contains.default)(this.dialogElement, currentActiveElement)) {\n this.lastFocus = currentActiveElement;\n\n if (!this.dialogElement.hasAttribute('tabIndex')) {\n false ? (0, _warning.default)(false, ['Material-UI: the modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n')) : void 0;\n this.dialogElement.setAttribute('tabIndex', -1);\n }\n\n this.dialogElement.focus();\n }\n }\n }, {\n key: \"restoreLastFocus\",\n value: function restoreLastFocus() {\n if (this.props.disableRestoreFocus) {\n return;\n }\n\n if (this.lastFocus) {\n // Not all elements in IE11 have a focus method.\n // Because IE11 market share is low, we accept the restore focus being broken\n // and we silent the issue.\n if (this.lastFocus.focus) {\n this.lastFocus.focus();\n }\n\n this.lastFocus = null;\n }\n }\n }, {\n key: \"isTopModal\",\n value: function isTopModal() {\n return this.props.manager.isTopModal(this);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n BackdropComponent = _props.BackdropComponent,\n BackdropProps = _props.BackdropProps,\n children = _props.children,\n classes = _props.classes,\n className = _props.className,\n container = _props.container,\n disableAutoFocus = _props.disableAutoFocus,\n disableBackdropClick = _props.disableBackdropClick,\n disableEnforceFocus = _props.disableEnforceFocus,\n disableEscapeKeyDown = _props.disableEscapeKeyDown,\n disableRestoreFocus = _props.disableRestoreFocus,\n hideBackdrop = _props.hideBackdrop,\n keepMounted = _props.keepMounted,\n onBackdropClick = _props.onBackdropClick,\n onClose = _props.onClose,\n onEscapeKeyDown = _props.onEscapeKeyDown,\n onRendered = _props.onRendered,\n open = _props.open,\n manager = _props.manager,\n other = (0, _objectWithoutProperties2.default)(_props, [\"BackdropComponent\", \"BackdropProps\", \"children\", \"classes\", \"className\", \"container\", \"disableAutoFocus\", \"disableBackdropClick\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disableRestoreFocus\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onEscapeKeyDown\", \"onRendered\", \"open\", \"manager\"]);\n var exited = this.state.exited;\n var hasTransition = getHasTransition(this.props);\n var childProps = {};\n\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n } // It's a Transition like component\n\n\n if (hasTransition) {\n childProps.onExited = (0, _helpers.createChainedFunction)(this.handleExited, children.props.onExited);\n }\n\n if (children.props.role === undefined) {\n childProps.role = children.props.role || 'document';\n }\n\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = children.props.tabIndex || '-1';\n }\n\n return _react.default.createElement(_Portal.default, {\n ref: function ref(node) {\n _this2.mountNode = node ? node.getMountNode() : node;\n },\n container: container,\n onRendered: this.handleRendered\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className, (0, _defineProperty2.default)({}, classes.hidden, exited))\n }, other), hideBackdrop ? null : _react.default.createElement(BackdropComponent, (0, _extends2.default)({\n open: open,\n onClick: this.handleBackdropClick\n }, BackdropProps)), _react.default.createElement(_RootRef.default, {\n rootRef: function rootRef(node) {\n _this2.dialogElement = node;\n }\n }, _react.default.cloneElement(children, childProps))));\n }\n }]);\n return Modal;\n}(_react.default.Component);\n\nModal.propTypes = false ? {\n /**\n * A backdrop component. Useful for custom backdrop rendering.\n */\n BackdropComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Properties applied to the `Backdrop` element.\n */\n BackdropProps: _propTypes.default.object,\n\n /**\n * A single child content element.\n */\n children: _propTypes.default.element,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n */\n disableAutoFocus: _propTypes.default.bool,\n\n /**\n * If `true`, clicking the backdrop will not fire any callback.\n */\n disableBackdropClick: _propTypes.default.bool,\n\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n */\n disableEnforceFocus: _propTypes.default.bool,\n\n /**\n * If `true`, hitting escape will not fire any callback.\n */\n disableEscapeKeyDown: _propTypes.default.bool,\n\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden.\n */\n disableRestoreFocus: _propTypes.default.bool,\n\n /**\n * If `true`, the backdrop is not rendered.\n */\n hideBackdrop: _propTypes.default.bool,\n\n /**\n * Always keep the children in the DOM.\n * This property can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n */\n keepMounted: _propTypes.default.bool,\n\n /**\n * A modal manager used to track and manage the state of open\n * Modals. Useful when customizing how modals interact within a container.\n */\n manager: _propTypes.default.object,\n\n /**\n * Callback fired when the backdrop is clicked.\n */\n onBackdropClick: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback\n * @param {string} reason Can be:`\"escapeKeyDown\"`, `\"backdropClick\"`\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the escape key is pressed,\n * `disableEscapeKeyDown` is false and the modal is in focus.\n */\n onEscapeKeyDown: _propTypes.default.func,\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n * It signals that the `open={true}` property took effect.\n */\n onRendered: _propTypes.default.func,\n\n /**\n * If `true`, the modal is open.\n */\n open: _propTypes.default.bool.isRequired\n} : {};\nModal.defaultProps = {\n disableAutoFocus: false,\n disableBackdropClick: false,\n disableEnforceFocus: false,\n disableEscapeKeyDown: false,\n disableRestoreFocus: false,\n hideBackdrop: false,\n keepMounted: false,\n // Modals don't open on the server so this won't conflict with concurrent requests.\n manager: new _ModalManager.default(),\n BackdropComponent: _Backdrop.default\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n flip: false,\n name: 'MuiModal'\n})((0, _reactLifecyclesCompat.polyfill)(Modal));\n\nexports.default = _default;\n\n/***/ }),\n/* 718 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _exactProp = _interopRequireDefault(__webpack_require__(228));\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom.default.findDOMNode(container) || defaultContainer;\n}\n\nfunction getOwnerDocument(element) {\n return (0, _ownerDocument.default)(_reactDom.default.findDOMNode(element));\n}\n/**\n * This component shares many concepts with\n * [react-overlays](https://react-bootstrap.github.io/react-overlays/#portals)\n * But has been forked in order to fix some bugs, reduce the number of dependencies\n * and take the control of our destiny.\n */\n\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Portal, _React$Component);\n\n function Portal() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Portal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Portal.__proto__ || (0, _getPrototypeOf.default)(Portal)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getMountNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n return _this.mountNode;\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Portal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setContainer(this.props.container);\n this.forceUpdate(this.props.onRendered);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.container !== this.props.container) {\n this.setContainer(this.props.container);\n this.forceUpdate();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mountNode = null;\n }\n }, {\n key: \"setContainer\",\n value: function setContainer(container) {\n this.mountNode = getContainer(container, getOwnerDocument(this).body);\n }\n /**\n * @public\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return this.mountNode ? _reactDom.default.createPortal(children, this.mountNode) : null;\n }\n }]);\n return Portal;\n}(_react.default.Component);\n\nPortal.propTypes = false ? {\n /**\n * The children to render into the `container`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n * By default, it's using the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n */\n onRendered: _propTypes.default.func\n} : {};\nPortal.propTypes = false ? (0, _exactProp.default)(Portal.propTypes, 'Portal') : {};\nvar _default = Portal;\nexports.default = _default;\n\n/***/ }),\n/* 719 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _exactProp = _interopRequireDefault(__webpack_require__(228));\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom.default.findDOMNode(container) || defaultContainer;\n}\n\nfunction getOwnerDocument(element) {\n return (0, _ownerDocument.default)(_reactDom.default.findDOMNode(element));\n}\n/**\n * @ignore - internal component.\n *\n * This module will soon be gone. We should drop it as soon as react@15.x support stop.\n */\n\n\nvar LegacyPortal =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(LegacyPortal, _React$Component);\n\n function LegacyPortal() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, LegacyPortal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = LegacyPortal.__proto__ || (0, _getPrototypeOf.default)(LegacyPortal)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getMountNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n return _this.mountNode;\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mountOverlayTarget\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (!_this.overlayTarget) {\n _this.overlayTarget = document.createElement('div');\n _this.mountNode = getContainer(_this.props.container, getOwnerDocument((0, _assertThisInitialized2.default)(_this)).body);\n\n _this.mountNode.appendChild(_this.overlayTarget);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"unmountOverlayTarget\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.overlayTarget) {\n _this.mountNode.removeChild(_this.overlayTarget);\n\n _this.overlayTarget = null;\n }\n\n _this.mountNode = null;\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"unrenderOverlay\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.overlayTarget) {\n _reactDom.default.unmountComponentAtNode(_this.overlayTarget);\n\n _this.overlayInstance = null;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"renderOverlay\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n var overlay = _this.props.children;\n\n _this.mountOverlayTarget();\n\n var initialRender = !_this.overlayInstance;\n _this.overlayInstance = _reactDom.default.unstable_renderSubtreeIntoContainer((0, _assertThisInitialized2.default)(_this), overlay, _this.overlayTarget, function () {\n if (initialRender && _this.props.onRendered) {\n _this.props.onRendered();\n }\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(LegacyPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n this.renderOverlay();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.overlayTarget && prevProps.container !== this.props.container) {\n this.mountNode.removeChild(this.overlayTarget);\n this.mountNode = getContainer(this.props.container, getOwnerDocument(this).body);\n this.mountNode.appendChild(this.overlayTarget);\n }\n\n this.renderOverlay();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n }\n /**\n * @public\n */\n\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n return LegacyPortal;\n}(_react.default.Component);\n\nLegacyPortal.propTypes = false ? {\n children: _propTypes.default.element.isRequired,\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n onRendered: _propTypes.default.func\n} : {};\nLegacyPortal.propTypes = false ? (0, _exactProp.default)(LegacyPortal.propTypes, 'LegacyPortal') : {};\nvar _default = LegacyPortal;\nexports.default = _default;\n\n/***/ }),\n/* 720 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(__webpack_require__(375));\n\nvar _hyphenateStyle = _interopRequireDefault(__webpack_require__(722));\n\nvar _getComputedStyle2 = _interopRequireDefault(__webpack_require__(724));\n\nvar _removeStyle = _interopRequireDefault(__webpack_require__(725));\n\nvar _properties = __webpack_require__(726);\n\nvar _isTransform = _interopRequireDefault(__webpack_require__(727));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 721 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 722 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(__webpack_require__(723));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 723 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 724 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(__webpack_require__(375));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 725 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 726 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(__webpack_require__(172));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}\n\n/***/ }),\n/* 727 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 728 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isBody = isBody;\nexports.default = isOverflowing;\n\nvar _isWindow = _interopRequireDefault(__webpack_require__(729));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _ownerWindow = _interopRequireDefault(__webpack_require__(173));\n\nfunction isBody(node) {\n return node && node.tagName.toLowerCase() === 'body';\n} // Do we have a scroll bar?\n\n\nfunction isOverflowing(container) {\n var doc = (0, _ownerDocument.default)(container);\n var win = (0, _ownerWindow.default)(doc);\n /* istanbul ignore next */\n\n if (!(0, _isWindow.default)(doc) && !isBody(container)) {\n return container.scrollHeight > container.clientHeight;\n } // Takes in account potential non zero margin on the body.\n\n\n var style = win.getComputedStyle(doc.body);\n var marginLeft = parseInt(style.getPropertyValue('margin-left'), 10);\n var marginRight = parseInt(style.getPropertyValue('margin-right'), 10);\n return marginLeft + doc.body.clientWidth + marginRight < win.innerWidth;\n}\n\n/***/ }),\n/* 729 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 730 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\nvar BLACKLIST = ['template', 'script', 'style'];\n\nfunction isHidable(node) {\n return node.nodeType === 1 && BLACKLIST.indexOf(node.tagName.toLowerCase()) === -1;\n}\n\nfunction siblings(container, mount, callback) {\n mount = [].concat(mount); // eslint-disable-line no-param-reassign\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n callback(node);\n }\n });\n}\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}\n\n/***/ }),\n/* 731 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = false ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = false ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;\n\n/***/ }),\n/* 732 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n var elevations = {};\n theme.shadows.forEach(function (shadow, index) {\n elevations[\"elevation\".concat(index)] = {\n boxShadow: shadow\n };\n });\n return (0, _objectSpread2.default)({\n root: {\n backgroundColor: theme.palette.background.paper\n },\n rounded: {\n borderRadius: 2\n }\n }, elevations);\n};\n\nexports.styles = styles;\n\nfunction Paper(props) {\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n square = props.square,\n elevation = props.elevation,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"square\", \"elevation\"]);\n false ? (0, _warning.default)(elevation >= 0 && elevation < 25, \"Material-UI: this elevation `\".concat(elevation, \"` is not implemented.\")) : void 0;\n var className = (0, _classnames.default)(classes.root, classes[\"elevation\".concat(elevation)], (0, _defineProperty2.default)({}, classes.rounded, !square), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nPaper.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It's accepting values between 0 and 24 inclusive.\n */\n elevation: _propTypes.default.number,\n\n /**\n * If `true`, rounded corners are disabled.\n */\n square: _propTypes.default.bool\n} : {};\nPaper.defaultProps = {\n component: 'div',\n elevation: 2,\n square: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiPaper'\n})(Paper);\n\nexports.default = _default;\n\n/***/ }),\n/* 733 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _reactHelpers = __webpack_require__(230);\n\n__webpack_require__(57);\n\n// So we don't have any override priority issue.\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n flex: '0 0 auto',\n margin: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit / 2, \"px\")\n },\n action: {\n margin: \"0 \".concat(theme.spacing.unit / 2, \"px\"),\n minWidth: 64\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogActions(props) {\n var disableActionSpacing = props.disableActionSpacing,\n children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"disableActionSpacing\", \"children\", \"classes\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), disableActionSpacing ? children : (0, _reactHelpers.cloneChildrenWithClassName)(children, classes.action));\n}\n\nDialogActions.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the dialog actions do not have additional margin.\n */\n disableActionSpacing: _propTypes.default.bool\n} : {};\nDialogActions.defaultProps = {\n disableActionSpacing: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogActions'\n})(DialogActions);\n\nexports.default = _default;\n\n/***/ }),\n/* 734 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _colorManipulator = __webpack_require__(113);\n\nvar _ButtonBase = _interopRequireDefault(__webpack_require__(176));\n\nvar _helpers = __webpack_require__(39);\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.typography.button, {\n lineHeight: '1.4em',\n // Improve readability for multiline button.\n boxSizing: 'border-box',\n minWidth: theme.spacing.unit * 11,\n minHeight: 36,\n padding: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit * 2, \"px\"),\n borderRadius: 2,\n color: theme.palette.text.primary,\n transition: theme.transitions.create(['background-color', 'box-shadow'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n }),\n label: {\n width: '100%',\n display: 'inherit',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n },\n flatPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n flatSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n colorInherit: {\n color: 'inherit'\n },\n raised: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n backgroundColor: theme.palette.grey[300],\n boxShadow: theme.shadows[2],\n '&$focusVisible': {\n boxShadow: theme.shadows[6]\n },\n '&:active': {\n boxShadow: theme.shadows[8]\n },\n '&$disabled': {\n color: theme.palette.action.disabled,\n boxShadow: theme.shadows[0],\n backgroundColor: theme.palette.action.disabledBackground\n },\n '&:hover': {\n backgroundColor: theme.palette.grey.A100,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.grey[300]\n },\n '&$disabled': {\n backgroundColor: theme.palette.action.disabledBackground\n }\n }\n },\n raisedPrimary: {\n color: theme.palette.primary.contrastText,\n backgroundColor: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.primary.main\n }\n }\n },\n raisedSecondary: {\n color: theme.palette.secondary.contrastText,\n backgroundColor: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: theme.palette.secondary.dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.secondary.main\n }\n }\n },\n focusVisible: {},\n disabled: {},\n fab: {\n borderRadius: '50%',\n padding: 0,\n minWidth: 0,\n width: 56,\n fontSize: 24,\n height: 56,\n boxShadow: theme.shadows[6],\n '&:active': {\n boxShadow: theme.shadows[12]\n }\n },\n mini: {\n width: 40,\n height: 40\n },\n sizeSmall: {\n padding: \"\".concat(theme.spacing.unit - 1, \"px \").concat(theme.spacing.unit, \"px\"),\n minWidth: theme.spacing.unit * 8,\n minHeight: 32,\n fontSize: theme.typography.pxToRem(13)\n },\n sizeLarge: {\n padding: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit * 3, \"px\"),\n minWidth: theme.spacing.unit * 14,\n minHeight: 40,\n fontSize: theme.typography.pxToRem(15)\n },\n fullWidth: {\n width: '100%'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Button(props) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n disabled = props.disabled,\n disableFocusRipple = props.disableFocusRipple,\n fullWidth = props.fullWidth,\n focusVisibleClassName = props.focusVisibleClassName,\n mini = props.mini,\n size = props.size,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"focusVisibleClassName\", \"mini\", \"size\", \"variant\"]);\n var fab = variant === 'fab';\n var raised = variant === 'raised';\n var flat = !raised && !fab;\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.raised, raised || fab), (0, _defineProperty2.default)(_classNames, classes.fab, fab), (0, _defineProperty2.default)(_classNames, classes.mini, fab && mini), (0, _defineProperty2.default)(_classNames, classes.colorInherit, color === 'inherit'), (0, _defineProperty2.default)(_classNames, classes.flatPrimary, flat && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.flatSecondary, flat && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.raisedPrimary, !flat && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.raisedSecondary, !flat && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes[\"size\".concat((0, _helpers.capitalize)(size))], size !== 'medium'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), classNameProp);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: className,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: (0, _classnames.default)(classes.focusVisible, focusVisibleClassName)\n }, other), _react.default.createElement(\"span\", {\n className: classes.label\n }, children));\n}\n\nButton.propTypes = false ? {\n /**\n * The content of the button.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n * The default value is a `button`.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n * `disableRipple` must also be true.\n */\n disableFocusRipple: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n focusVisibleClassName: _propTypes.default.string,\n\n /**\n * If `true`, the button will take up the full width of its container.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: _propTypes.default.string,\n\n /**\n * If `true`, and `variant` is `'fab'`, will use mini floating action button styling.\n */\n mini: _propTypes.default.bool,\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: _propTypes.default.oneOf(['small', 'medium', 'large']),\n\n /**\n * @ignore\n */\n type: _propTypes.default.string,\n\n /**\n * The type of button.\n */\n variant: _propTypes.default.oneOf(['flat', 'raised', 'fab'])\n} : {};\nButton.defaultProps = {\n color: 'default',\n disabled: false,\n disableFocusRipple: false,\n fullWidth: false,\n mini: false,\n size: 'medium',\n type: 'button',\n variant: 'flat'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiButton'\n})(Button);\n\nexports.default = _default;\n\n/***/ }),\n/* 735 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _ownerWindow = _interopRequireDefault(__webpack_require__(173));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _focusVisible = __webpack_require__(736);\n\nvar _TouchRipple = _interopRequireDefault(__webpack_require__(737));\n\nvar _createRippleHandler = _interopRequireDefault(__webpack_require__(744));\n\nvar styles = {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n // Remove grey highlight\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native
    element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n }\n },\n disabled: {},\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nexports.styles = styles;\n\nvar ButtonBase =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(ButtonBase, _React$Component);\n\n function ButtonBase() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, ButtonBase);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ButtonBase.__proto__ || (0, _getPrototypeOf.default)(ButtonBase)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {}\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"onFocusVisibleHandler\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.keyDown = false;\n\n _this.setState({\n focusVisible: true\n });\n\n if (_this.props.onFocusVisible) {\n _this.props.onFocusVisible(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"onRippleRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.ripple = node;\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ripple\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"keyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"button\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"focusVisibleTimeout\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"focusVisibleCheckTime\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: 50\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"focusVisibleMaxCheckTimes\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: 5\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props = _this.props,\n component = _this$props.component,\n focusRipple = _this$props.focusRipple,\n onKeyDown = _this$props.onKeyDown,\n onClick = _this$props.onClick;\n var key = (0, _keycode.default)(event); // Check if key is already down to avoid repeats being counted as multiple activations\n\n if (focusRipple && !_this.keyDown && _this.state.focusVisible && _this.ripple && key === 'space') {\n _this.keyDown = true;\n event.persist();\n\n _this.ripple.stop(event, function () {\n _this.ripple.start(event);\n });\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && component && component !== 'button' && (key === 'space' || key === 'enter')) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyUp\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.focusRipple && (0, _keycode.default)(event) === 'space' && _this.ripple && _this.state.focusVisible) {\n _this.keyDown = false;\n event.persist();\n\n _this.ripple.stop(event, function () {\n return _this.ripple.pulsate(event);\n });\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseDown', 'start', function () {\n clearTimeout(_this.focusVisibleTimeout);\n\n if (_this.state.focusVisible) {\n _this.setState({\n focusVisible: false\n });\n }\n })\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseUp\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseUp', 'stop')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseLeave\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseLeave', 'stop', function (event) {\n if (_this.state.focusVisible) {\n event.preventDefault();\n }\n })\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchStart\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchStart', 'start')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchEnd\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchEnd', 'stop')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchMove\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchMove', 'stop')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'Blur', 'stop', function () {\n clearTimeout(_this.focusVisibleTimeout);\n\n if (_this.state.focusVisible) {\n _this.setState({\n focusVisible: false\n });\n }\n })\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.disabled) {\n return;\n } // Fix for https://github.com/facebook/react/issues/7769\n\n\n if (!_this.button) {\n _this.button = event.currentTarget;\n }\n\n event.persist();\n (0, _focusVisible.detectFocusVisible)((0, _assertThisInitialized2.default)(_this), _this.button, function () {\n _this.onFocusVisibleHandler(event);\n });\n\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(ButtonBase, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.button = _reactDom.default.findDOMNode(this);\n (0, _focusVisible.listenForFocusKeys)((0, _ownerWindow.default)(this.button));\n\n if (this.props.action) {\n this.props.action({\n focusVisible: function focusVisible() {\n _this2.setState({\n focusVisible: true\n });\n\n _this2.button.focus();\n }\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.props.focusRipple && !this.props.disableRipple && !prevState.focusVisible && this.state.focusVisible) {\n this.ripple.pulsate();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.button = null;\n clearTimeout(this.focusVisibleTimeout);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n action = _props.action,\n buttonRef = _props.buttonRef,\n centerRipple = _props.centerRipple,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n component = _props.component,\n disabled = _props.disabled,\n disableRipple = _props.disableRipple,\n focusRipple = _props.focusRipple,\n focusVisibleClassName = _props.focusVisibleClassName,\n onBlur = _props.onBlur,\n onFocus = _props.onFocus,\n onFocusVisible = _props.onFocusVisible,\n onKeyDown = _props.onKeyDown,\n onKeyUp = _props.onKeyUp,\n onMouseDown = _props.onMouseDown,\n onMouseLeave = _props.onMouseLeave,\n onMouseUp = _props.onMouseUp,\n onTouchEnd = _props.onTouchEnd,\n onTouchMove = _props.onTouchMove,\n onTouchStart = _props.onTouchStart,\n tabIndex = _props.tabIndex,\n TouchRippleProps = _props.TouchRippleProps,\n type = _props.type,\n other = (0, _objectWithoutProperties2.default)(_props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.focusVisible, this.state.focusVisible), (0, _defineProperty2.default)(_classNames, focusVisibleClassName, this.state.focusVisible), _classNames), classNameProp);\n var buttonProps = {};\n var ComponentProp = component;\n\n if (!ComponentProp) {\n if (other.href) {\n ComponentProp = 'a';\n } else {\n ComponentProp = 'button';\n }\n }\n\n if (ComponentProp === 'button') {\n buttonProps.type = type || 'button';\n buttonProps.disabled = disabled;\n } else {\n buttonProps.role = 'button';\n }\n\n return _react.default.createElement(ComponentProp, (0, _extends2.default)({\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onMouseDown: this.handleMouseDown,\n onMouseLeave: this.handleMouseLeave,\n onMouseUp: this.handleMouseUp,\n onTouchEnd: this.handleTouchEnd,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n tabIndex: disabled ? '-1' : tabIndex,\n className: className,\n ref: buttonRef\n }, buttonProps, other), children, !disableRipple && !disabled ? _react.default.createElement(_TouchRipple.default, (0, _extends2.default)({\n innerRef: this.onRippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (typeof prevState.focusVisible === 'undefined') {\n return {\n focusVisible: false,\n lastDisabled: nextProps.disabled\n };\n } // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n\n\n if (!prevState.prevState && nextProps.disabled && prevState.focusVisible) {\n return {\n focusVisible: false,\n lastDisabled: nextProps.disabled\n };\n }\n\n return {\n lastDisabled: nextProps.disabled\n };\n }\n }]);\n return ButtonBase;\n}(_react.default.Component);\n\nButtonBase.propTypes = false ? {\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It currently only supports `focusVisible()` action.\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: _propTypes.default.func,\n\n /**\n * Use that property to pass a ref callback to the native button component.\n */\n buttonRef: _propTypes.default.func,\n\n /**\n * If `true`, the ripples will be centered.\n * They won't start at the cursor interaction position.\n */\n centerRipple: _propTypes.default.bool,\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n * The default value is a `button`.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the base button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: _propTypes.default.bool,\n\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * `disableRipple` must also be `false`.\n */\n focusRipple: _propTypes.default.bool,\n\n /**\n * This property can help a person know which element has the keyboard focus.\n * The class name will be applied when the element gain the focus throught a keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible feature](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rational for using this feature [is explain here](https://github.com/WICG/focus-visible/blob/master/explainer.md).\n */\n focusVisibleClassName: _propTypes.default.string,\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onClick: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onKeyDown: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onKeyUp: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseDown: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseLeave: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseUp: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onTouchEnd: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onTouchMove: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onTouchStart: _propTypes.default.func,\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * @ignore\n */\n tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * Properties applied to the `TouchRipple` element.\n */\n TouchRippleProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n type: _propTypes.default.string\n} : {};\nButtonBase.defaultProps = {\n centerRipple: false,\n disableRipple: false,\n focusRipple: false,\n tabIndex: '0',\n type: 'button'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiButtonBase'\n})((0, _reactLifecyclesCompat.polyfill)(ButtonBase));\n\nexports.default = _default;\n\n/***/ }),\n/* 736 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.detectFocusVisible = detectFocusVisible;\nexports.listenForFocusKeys = listenForFocusKeys;\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _contains = _interopRequireDefault(__webpack_require__(171));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\n// weak\nvar internal = {\n focusKeyPressed: false,\n keyUpEventTimeout: -1\n};\n\nfunction detectFocusVisible(instance, element, callback) {\n var attempt = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n false ? (0, _warning.default)(instance.focusVisibleCheckTime, 'Material-UI: missing instance.focusVisibleCheckTime') : void 0;\n false ? (0, _warning.default)(instance.focusVisibleMaxCheckTimes, 'Material-UI: missing instance.focusVisibleMaxCheckTimes') : void 0;\n instance.focusVisibleTimeout = setTimeout(function () {\n var doc = (0, _ownerDocument.default)(element);\n\n if (internal.focusKeyPressed && (doc.activeElement === element || (0, _contains.default)(element, doc.activeElement))) {\n callback();\n } else if (attempt < instance.focusVisibleMaxCheckTimes) {\n detectFocusVisible(instance, element, callback, attempt + 1);\n }\n }, instance.focusVisibleCheckTime);\n}\n\nvar FOCUS_KEYS = ['tab', 'enter', 'space', 'esc', 'up', 'down', 'left', 'right'];\n\nfunction isFocusKey(event) {\n return FOCUS_KEYS.indexOf((0, _keycode.default)(event)) !== -1;\n}\n\nvar handleKeyUpEvent = function handleKeyUpEvent(event) {\n if (isFocusKey(event)) {\n internal.focusKeyPressed = true; // Let's consider that the user is using a keyboard during a window frame of 1s.\n\n clearTimeout(internal.keyUpEventTimeout);\n internal.keyUpEventTimeout = setTimeout(function () {\n internal.focusKeyPressed = false;\n }, 1e3);\n }\n};\n\nfunction listenForFocusKeys(win) {\n // The event listener will only be added once per window.\n // Duplicate event listeners will be ignored by addEventListener.\n // Also, this logic is client side only, we don't need a teardown.\n win.addEventListener('keyup', handleKeyUpEvent);\n}\n\n/***/ }),\n/* 737 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = exports.DELAY_RIPPLE = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(231));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _TransitionGroup = _interopRequireDefault(__webpack_require__(741));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Ripple = _interopRequireDefault(__webpack_require__(743));\n\nvar DURATION = 550;\nvar DELAY_RIPPLE = 80;\nexports.DELAY_RIPPLE = DELAY_RIPPLE;\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'block',\n position: 'absolute',\n overflow: 'hidden',\n borderRadius: 'inherit',\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n pointerEvents: 'none',\n zIndex: 0\n },\n ripple: {\n width: 50,\n height: 50,\n left: 0,\n top: 0,\n opacity: 0,\n position: 'absolute'\n },\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"mui-ripple-enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n childLeaving: {\n opacity: 0,\n animation: \"mui-ripple-exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"mui-ripple-pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes mui-ripple-enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes mui-ripple-exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes mui-ripple-pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n\nexports.styles = styles;\n\nvar TouchRipple =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n (0, _inherits2.default)(TouchRipple, _React$PureComponent);\n\n function TouchRipple() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, TouchRipple);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TouchRipple.__proto__ || (0, _getPrototypeOf.default)(TouchRipple)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n nextKey: 0,\n ripples: []\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoringMouseDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"startTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"startTimerCommit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"pulsate\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.start({}, {\n pulsate: true\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"start\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? _this.props.center || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && _this.ignoringMouseDown) {\n _this.ignoringMouseDown = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n _this.ignoringMouseDown = true;\n }\n\n var element = fakeElement ? null : _reactDom.default.findDOMNode((0, _assertThisInitialized2.default)(_this));\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var clientX = event.clientX ? event.clientX : event.touches[0].clientX;\n var clientY = event.clientY ? event.clientY : event.touches[0].clientY;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // Prepare the ripple effect.\n _this.startTimerCommit = function () {\n _this.startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Deplay the execution of the ripple effect.\n\n\n _this.startTimer = setTimeout(function () {\n _this.startTimerCommit();\n\n _this.startTimerCommit = null;\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n } else {\n _this.startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"startCommit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n var ripples = _this.state.ripples; // Add a ripple to the ripples array.\n\n ripples = (0, _toConsumableArray2.default)(ripples).concat([_react.default.createElement(_Ripple.default, {\n key: _this.state.nextKey,\n classes: _this.props.classes,\n timeout: {\n exit: DURATION,\n enter: DURATION\n },\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n\n _this.setState({\n nextKey: _this.state.nextKey + 1,\n ripples: ripples\n }, cb);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"stop\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event, cb) {\n clearTimeout(_this.startTimer);\n var ripples = _this.state.ripples; // The touch interaction occures to quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && _this.startTimerCommit) {\n event.persist();\n\n _this.startTimerCommit();\n\n _this.startTimerCommit = null;\n _this.startTimer = setTimeout(function () {\n _this.stop(event, cb);\n }, 0);\n return;\n }\n\n _this.startTimerCommit = null;\n\n if (ripples && ripples.length) {\n _this.setState({\n ripples: ripples.slice(1)\n }, cb);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(TouchRipple, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.startTimer);\n } // Used to filter out mouse emulated events on mobile.\n\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n center = _props.center,\n classes = _props.classes,\n className = _props.className,\n other = (0, _objectWithoutProperties2.default)(_props, [\"center\", \"classes\", \"className\"]);\n return _react.default.createElement(_TransitionGroup.default, (0, _extends2.default)({\n component: \"span\",\n enter: true,\n exit: true,\n className: (0, _classnames.default)(classes.root, className)\n }, other), this.state.ripples);\n }\n }]);\n return TouchRipple;\n}(_react.default.PureComponent);\n\nTouchRipple.propTypes = false ? {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: _propTypes.default.bool,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nTouchRipple.defaultProps = {\n center: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})(TouchRipple);\n\nexports.default = _default;\n\n/***/ }),\n/* 738 */\n/***/ (function(module, exports) {\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;\n\n/***/ }),\n/* 739 */\n/***/ (function(module, exports) {\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\n\n/***/ }),\n/* 740 */\n/***/ (function(module, exports) {\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;\n\n/***/ }),\n/* 741 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _ChildMapping = __webpack_require__(742);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = false ? {\n /**\n * `` renders a `
    ` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
    ` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 742 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = __webpack_require__(0);\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}\n\n/***/ }),\n/* 743 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _Transition = _interopRequireDefault(__webpack_require__(175));\n\n/**\n * @ignore - internal component.\n */\nvar Ripple =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Ripple, _React$Component);\n\n function Ripple() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Ripple);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Ripple.__proto__ || (0, _getPrototypeOf.default)(Ripple)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n visible: false,\n leaving: false\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n visible: true\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n leaving: true\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Ripple, [{\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2;\n\n var _props = this.props,\n classes = _props.classes,\n classNameProp = _props.className,\n pulsate = _props.pulsate,\n rippleX = _props.rippleX,\n rippleY = _props.rippleY,\n rippleSize = _props.rippleSize,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"pulsate\", \"rippleX\", \"rippleY\", \"rippleSize\"]);\n var _state = this.state,\n visible = _state.visible,\n leaving = _state.leaving;\n var rippleClassName = (0, _classnames.default)(classes.ripple, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.rippleVisible, visible), (0, _defineProperty2.default)(_classNames, classes.ripplePulsate, pulsate), _classNames), classNameProp);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = (0, _classnames.default)(classes.child, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.childLeaving, leaving), (0, _defineProperty2.default)(_classNames2, classes.childPulsate, pulsate), _classNames2));\n return _react.default.createElement(_Transition.default, (0, _extends2.default)({\n onEnter: this.handleEnter,\n onExit: this.handleExit\n }, other), _react.default.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, _react.default.createElement(\"span\", {\n className: childClassName\n })));\n }\n }]);\n return Ripple;\n}(_react.default.Component);\n\nRipple.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: _propTypes.default.bool,\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: _propTypes.default.number,\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: _propTypes.default.number,\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: _propTypes.default.number\n} : {};\nRipple.defaultProps = {\n pulsate: false\n};\nvar _default = Ripple;\nexports.default = _default;\n\n/***/ }),\n/* 744 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction createRippleHandler(instance, eventName, action, cb) {\n return function handleEvent(event) {\n if (cb) {\n cb.call(instance, event);\n }\n\n if (event.defaultPrevented) {\n return false;\n }\n\n if (instance.ripple) {\n instance.ripple[action](event);\n }\n\n if (instance.props && typeof instance.props[\"on\".concat(eventName)] === 'function') {\n instance.props[\"on\".concat(eventName)](event);\n }\n\n return true;\n };\n}\n\nvar _default = createRippleHandler;\nexports.default = _default;\n\n/***/ }),\n/* 745 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar styles = function styles(theme) {\n return {\n root: {\n margin: 0,\n padding: \"\".concat(theme.spacing.unit * 3, \"px \").concat(theme.spacing.unit * 3, \"px 20px \").concat(theme.spacing.unit * 3, \"px\"),\n flex: '0 0 auto'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogTitle(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n disableTypography = props.disableTypography,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableTypography\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), disableTypography ? children : _react.default.createElement(_Typography.default, {\n variant: \"title\"\n }, children));\n}\n\nDialogTitle.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the children won't be wrapped by a typography component.\n * For instance, this can be useful to render an h4 instead of the default h2.\n */\n disableTypography: _propTypes.default.bool\n} : {};\nDialogTitle.defaultProps = {\n disableTypography: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogTitle'\n})(DialogTitle);\n\nexports.default = _default;\n\n/***/ }),\n/* 746 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'block',\n margin: 0\n },\n display4: theme.typography.display4,\n display3: theme.typography.display3,\n display2: theme.typography.display2,\n display1: theme.typography.display1,\n headline: theme.typography.headline,\n title: theme.typography.title,\n subheading: theme.typography.subheading,\n body2: theme.typography.body2,\n body1: theme.typography.body1,\n caption: theme.typography.caption,\n button: theme.typography.button,\n alignLeft: {\n textAlign: 'left'\n },\n alignCenter: {\n textAlign: 'center'\n },\n alignRight: {\n textAlign: 'right'\n },\n alignJustify: {\n textAlign: 'justify'\n },\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n gutterBottom: {\n marginBottom: '0.35em'\n },\n paragraph: {\n marginBottom: theme.spacing.unit * 2\n },\n colorInherit: {\n color: 'inherit'\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n colorError: {\n color: theme.palette.error.main\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Typography(props) {\n var _classNames;\n\n var align = props.align,\n classes = props.classes,\n classNameProp = props.className,\n componentProp = props.component,\n color = props.color,\n gutterBottom = props.gutterBottom,\n headlineMapping = props.headlineMapping,\n noWrap = props.noWrap,\n paragraph = props.paragraph,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"align\", \"classes\", \"className\", \"component\", \"color\", \"gutterBottom\", \"headlineMapping\", \"noWrap\", \"paragraph\", \"variant\"]);\n var className = (0, _classnames.default)(classes.root, classes[variant], (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.noWrap, noWrap), (0, _defineProperty2.default)(_classNames, classes.gutterBottom, gutterBottom), (0, _defineProperty2.default)(_classNames, classes.paragraph, paragraph), (0, _defineProperty2.default)(_classNames, classes[\"align\".concat((0, _helpers.capitalize)(align))], align !== 'inherit'), _classNames), classNameProp);\n var Component = componentProp || (paragraph ? 'p' : headlineMapping[variant]) || 'span';\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nTypography.propTypes = false ? {\n /**\n * Set the text-align on the component.\n */\n align: _propTypes.default.oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['inherit', 'primary', 'textSecondary', 'secondary', 'error', 'default']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n * By default, it maps the variant to a good default headline component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: _propTypes.default.bool,\n\n /**\n * We are empirically mapping the variant property to a range of different DOM element types.\n * For instance, h1 to h6. If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` property.\n */\n headlineMapping: _propTypes.default.object,\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with an ellipsis.\n */\n noWrap: _propTypes.default.bool,\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: _propTypes.default.bool,\n\n /**\n * Applies the theme typography styles.\n */\n variant: _propTypes.default.oneOf(['display4', 'display3', 'display2', 'display1', 'headline', 'title', 'subheading', 'body2', 'body1', 'caption', 'button'])\n} : {};\nTypography.defaultProps = {\n align: 'inherit',\n color: 'default',\n gutterBottom: false,\n headlineMapping: {\n display4: 'h1',\n display3: 'h1',\n display2: 'h1',\n display1: 'h1',\n headline: 'h1',\n title: 'h2',\n subheading: 'h3',\n body2: 'aside',\n body1: 'p'\n },\n noWrap: false,\n paragraph: false,\n variant: 'body1'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTypography'\n})(Typography);\n\nexports.default = _default;\n\n/***/ }),\n/* 747 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n var spacing = theme.spacing.unit * 3;\n return {\n root: {\n flex: '1 1 auto',\n overflowY: 'auto',\n WebkitOverflowScrolling: 'touch',\n // Add iOS momentum scrolling.\n padding: \"0 \".concat(spacing, \"px \").concat(spacing, \"px \").concat(spacing, \"px\"),\n '&:first-child': {\n paddingTop: spacing\n }\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogContent(props) {\n var classes = props.classes,\n children = props.children,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"children\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nDialogContent.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogContent'\n})(DialogContent);\n\nexports.default = _default;\n\n/***/ }),\n/* 748 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\n// @inheritedComponent Typography\nvar styles = function styles(theme) {\n return {\n root: {\n color: theme.palette.text.secondary\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogContentText(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.createElement(_Typography.default, (0, _extends2.default)({\n component: \"p\",\n variant: \"subheading\",\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nDialogContentText.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogContentText'\n})(DialogContentText);\n\nexports.default = _default;\n\n/***/ }),\n/* 749 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireWildcard = __webpack_require__(208);\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _withWidth = _interopRequireWildcard(__webpack_require__(750));\n\n/**\n * Dialog will responsively be full screen *at or below* the given breakpoint\n * (defaults to 'sm' for mobile devices).\n * Notice that this Higher-order Component is incompatible with server side rendering.\n */\nvar withMobileDialog = function withMobileDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (Component) {\n var _options$breakpoint = options.breakpoint,\n breakpoint = _options$breakpoint === void 0 ? 'sm' : _options$breakpoint;\n\n function WithMobileDialog(props) {\n return _react.default.createElement(Component, (0, _extends2.default)({\n fullScreen: (0, _withWidth.isWidthDown)(breakpoint, props.width)\n }, props));\n }\n\n WithMobileDialog.propTypes = false ? {\n width: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']).isRequired\n } : {};\n return (0, _withWidth.default)()(WithMobileDialog);\n };\n};\n\nvar _default = withMobileDialog;\nexports.default = _default;\n\n/***/ }),\n/* 750 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.isWidthDown = exports.isWidthUp = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _wrapDisplayName = _interopRequireDefault(__webpack_require__(134));\n\nvar _hoistNonReactStatics = _interopRequireDefault(__webpack_require__(109));\n\nvar _withTheme = _interopRequireDefault(__webpack_require__(115));\n\nvar _createBreakpoints = __webpack_require__(365);\n\n// By default, returns true if screen width is the same or greater than the given breakpoint.\nvar isWidthUp = function isWidthUp(breakpoint, width) {\n var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (inclusive) {\n return _createBreakpoints.keys.indexOf(breakpoint) <= _createBreakpoints.keys.indexOf(width);\n }\n\n return _createBreakpoints.keys.indexOf(breakpoint) < _createBreakpoints.keys.indexOf(width);\n}; // By default, returns true if screen width is the same or less than the given breakpoint.\n\n\nexports.isWidthUp = isWidthUp;\n\nvar isWidthDown = function isWidthDown(breakpoint, width) {\n var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (inclusive) {\n return _createBreakpoints.keys.indexOf(width) <= _createBreakpoints.keys.indexOf(breakpoint);\n }\n\n return _createBreakpoints.keys.indexOf(width) < _createBreakpoints.keys.indexOf(breakpoint);\n};\n\nexports.isWidthDown = isWidthDown;\n\nvar withWidth = function withWidth() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (Component) {\n var _options$resizeInterv = options.resizeInterval,\n resizeInterval = _options$resizeInterv === void 0 ? 166 : _options$resizeInterv,\n _options$withTheme = options.withTheme,\n withThemeOption = _options$withTheme === void 0 ? false : _options$withTheme;\n\n var WithWidth =\n /*#__PURE__*/\n function (_React$Component) {\n (0, _inherits2.default)(WithWidth, _React$Component);\n\n function WithWidth() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, WithWidth);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = WithWidth.__proto__ || (0, _getPrototypeOf.default)(WithWidth)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n width: undefined\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n _this.updateWidth(window.innerWidth);\n }, resizeInterval)\n }), _temp));\n }\n\n (0, _createClass2.default)(WithWidth, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateWidth(window.innerWidth);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleResize.cancel();\n }\n }, {\n key: \"updateWidth\",\n value: function updateWidth(innerWidth) {\n var breakpoints = this.props.theme.breakpoints;\n var width = null;\n /**\n * Start with the slowest value as low end devices often have a small screen.\n *\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n var index = 1;\n\n while (width === null && index < _createBreakpoints.keys.length) {\n var currentWidth = _createBreakpoints.keys[index]; // @media are inclusive, so reproduce the behavior here.\n\n if (innerWidth < breakpoints.values[currentWidth]) {\n width = _createBreakpoints.keys[index - 1];\n break;\n }\n\n index += 1;\n }\n\n width = width || 'xl';\n\n if (width !== this.state.width) {\n this.setState({\n width: width\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n initialWidth = _props.initialWidth,\n theme = _props.theme,\n width = _props.width,\n other = (0, _objectWithoutProperties2.default)(_props, [\"initialWidth\", \"theme\", \"width\"]);\n var props = (0, _objectSpread2.default)({\n width: width || this.state.width || initialWidth\n }, other);\n var more = {};\n\n if (withThemeOption) {\n more.theme = theme;\n } // When rendering the component on the server,\n // we have no idea about the client browser screen width.\n // In order to prevent blinks and help the reconciliation of the React tree\n // we are not rendering the child component.\n //\n // An alternative is to use the `initialWidth` property.\n\n\n if (props.width === undefined) {\n return null;\n }\n\n return _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }, _react.default.createElement(Component, (0, _extends2.default)({}, more, props)));\n }\n }]);\n return WithWidth;\n }(_react.default.Component);\n\n WithWidth.propTypes = false ? {\n /**\n * As `window.innerWidth` is unavailable on the server,\n * we default to rendering an empty componenent during the first mount.\n * In some situation you might want to use an heristic to approximate\n * the screen width of the client browser screen width.\n *\n * For instance, you could be using the user-agent or the client-hints.\n * http://caniuse.com/#search=client%20hint\n */\n initialWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * Bypass the width calculation logic.\n */\n width: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])\n } : {};\n\n if (false) {\n WithWidth.displayName = (0, _wrapDisplayName.default)(Component, 'WithWidth');\n }\n\n (0, _hoistNonReactStatics.default)(WithWidth, Component);\n return (0, _withTheme.default)()(WithWidth);\n };\n};\n\nvar _default = withWidth;\nexports.default = _default;\n\n/***/ }),\n/* 751 */\n/***/ (function(module, exports) {\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\n\n/***/ }),\n/* 752 */\n/***/ (function(module, exports) {\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\n\n/***/ }),\n/* 753 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _typeof = __webpack_require__(378);\n\nvar assertThisInitialized = __webpack_require__(754);\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\n\n/***/ }),\n/* 754 */\n/***/ (function(module, exports) {\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n/***/ }),\n/* 755 */\n/***/ (function(module, exports) {\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inherits;\n\n/***/ }),\n/* 756 */\n/***/ (function(module, exports) {\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\n\n/***/ }),\n/* 757 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(758);\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;\n\n/***/ }),\n/* 758 */\n/***/ (function(module, exports) {\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\n\n/***/ }),\n/* 759 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(61);\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n/***/ }),\n/* 760 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Symbol = __webpack_require__(138);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n/***/ }),\n/* 761 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 762 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\nvar bind = __webpack_require__(382);\nvar Axios = __webpack_require__(763);\nvar defaults = __webpack_require__(232);\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(387);\naxios.CancelToken = __webpack_require__(777);\naxios.isCancel = __webpack_require__(386);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(778);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 763 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar defaults = __webpack_require__(232);\nvar utils = __webpack_require__(53);\nvar InterceptorManager = __webpack_require__(772);\nvar dispatchRequest = __webpack_require__(773);\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n/***/ }),\n/* 764 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n/***/ }),\n/* 765 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(385);\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n/***/ }),\n/* 766 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n/***/ }),\n/* 767 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n/***/ }),\n/* 768 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n/***/ }),\n/* 769 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n/***/ }),\n/* 770 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n/***/ }),\n/* 771 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n/***/ }),\n/* 772 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 773 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\nvar transformData = __webpack_require__(774);\nvar isCancel = __webpack_require__(386);\nvar defaults = __webpack_require__(232);\nvar isAbsoluteURL = __webpack_require__(775);\nvar combineURLs = __webpack_require__(776);\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n/***/ }),\n/* 774 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n/***/ }),\n/* 775 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n/***/ }),\n/* 776 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n/***/ }),\n/* 777 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(387);\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 778 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n/***/ }),\n/* 779 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 780 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getImageUrl;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getUrl;\n/* unused harmony export test */\n/* unused harmony export toPath */\nfunction getImageUrl(path){// https://www.educoder.net\n// https://testbdweb.trustie.net\nvar local='http://localhost:3000';if(window.location.port==3007){return local+'/'+path;}return'/'+path;}function getUrl(path,goTest){// https://www.educoder.net\n// https://testbdweb.trustie.net\n// 如果想所有url定位到测试版,可以反注释掉下面这行\n// goTest = true\n// testbdweb.educoder.net testbdweb.trustie.net\nvar local=goTest?'http://testbdweb.educoder.net':'http://localhost:3000';if(window.location.port==3007){return''+local+(path?path:'');}return''+(path?path:'');}function test(path){return''+path;}function toPath(path){window.open(path,'_blank');}// export default queryString\n\n/***/ }),\n/* 781 */\n/***/ (function(module, exports) {\n\nvar queryString={stringify:function stringify(params){var noParams=true;var paramsUrl='';for(var key in params){noParams=false;paramsUrl+=key+'='+params[key]+'&';}if(noParams){return'';}paramsUrl=paramsUrl.substring(0,paramsUrl.length-1);return paramsUrl;},parse:function parse(search){// ?a=1&b=2\nif(!search){return{};}if(search.startsWith('?')){search=search.substring(1);}if(!search){return{};}var keyValArray=search.split('&');var result={};keyValArray.forEach(function(keyValItem){var keyAndVal=keyValItem.split('=');result[keyAndVal[0]]=keyAndVal[1];});return result;}/*\t\r\n\tquery-string用不了\r\n\r\n\tFailed to minify the code from this file:\r\n\r\n\t ./node_modules/_query-string@6.1.0@query-string/index.js:8\r\n\r\n\tRead more here: http://bit.ly/2tRViJ9\r\n*/};module.exports=queryString;\n\n/***/ }),\n/* 782 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SnackbarHOC;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar__ = __webpack_require__(388);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};return function wrap(WrappedComponent){return function(_Component){_inherits(Wrapper,_Component);function Wrapper(props){_classCallCheck(this,Wrapper);var _this=_possibleConstructorReturn(this,(Wrapper.__proto__||Object.getPrototypeOf(Wrapper)).call(this,props));_this.showSnackbar=_this.showSnackbar.bind(_this);_this.state={snackbarText:'',snackbarOpen:false};return _this;}_createClass(Wrapper,[{key:'handleSnackbarClose',value:function handleSnackbarClose(){this.setState({snackbarOpen:false,snackbarVertical:'',snackbarHorizontal:''});}// 全局的snackbar this.props.showSnackbar调用即可\n},{key:'showSnackbar',value:function showSnackbar(text,vertical,horizontal){this.setState({snackbarOpen:true,snackbarText:text,snackbarVertical:vertical,snackbarHorizontal:horizontal});}},{key:'render',value:function render(){var _this2=this;var _state=this.state,snackbarOpen=_state.snackbarOpen,snackbarText=_state.snackbarText,snackbarHorizontal=_state.snackbarHorizontal,snackbarVertical=_state.snackbarVertical;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar___default.a,{className:\"rootSnackbar\",open:this.state.snackbarOpen,autoHideDuration:3000,anchorOrigin:{vertical:this.state.snackbarVertical||'top',horizontal:this.state.snackbarHorizontal||'center'},onClose:function onClose(){return _this2.handleSnackbarClose();},transition:__WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade___default.a,SnackbarContentProps:{'aria-describedby':'message-id'},resumeHideDuration:2000,message:__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'message-id'},this.state.snackbarText)}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent,Object.assign({},this.props,{showSnackbar:this.showSnackbar})));}}]);return Wrapper;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);};}\n\n/***/ }),\n/* 783 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread8 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _transitions = __webpack_require__(114);\n\nvar _ClickAwayListener = _interopRequireDefault(__webpack_require__(784));\n\nvar _helpers = __webpack_require__(39);\n\nvar _Slide = _interopRequireDefault(__webpack_require__(389));\n\nvar _SnackbarContent = _interopRequireDefault(__webpack_require__(390));\n\nvar styles = function styles(theme) {\n var gutter = theme.spacing.unit * 3;\n var top = {\n top: 0\n };\n var bottom = {\n bottom: 0\n };\n var right = {\n justifyContent: 'flex-end'\n };\n var left = {\n justifyContent: 'flex-start'\n };\n var topSpace = {\n top: gutter\n };\n var bottomSpace = {\n bottom: gutter\n };\n var rightSpace = {\n right: gutter\n };\n var leftSpace = {\n left: gutter\n };\n var center = {\n left: '50%',\n right: 'auto',\n transform: 'translateX(-50%)'\n };\n return {\n root: {\n zIndex: theme.zIndex.snackbar,\n position: 'fixed',\n display: 'flex',\n left: 0,\n right: 0,\n justifyContent: 'center',\n alignItems: 'center'\n },\n anchorOriginTopCenter: (0, _objectSpread8.default)({}, top, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({}, center))),\n anchorOriginBottomCenter: (0, _objectSpread8.default)({}, bottom, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({}, center))),\n anchorOriginTopRight: (0, _objectSpread8.default)({}, top, right, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n left: 'auto'\n }, topSpace, rightSpace))),\n anchorOriginBottomRight: (0, _objectSpread8.default)({}, bottom, right, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n left: 'auto'\n }, bottomSpace, rightSpace))),\n anchorOriginTopLeft: (0, _objectSpread8.default)({}, top, left, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n right: 'auto'\n }, topSpace, leftSpace))),\n anchorOriginBottomLeft: (0, _objectSpread8.default)({}, bottom, left, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n right: 'auto'\n }, bottomSpace, leftSpace)))\n };\n};\n\nexports.styles = styles;\n\nvar Snackbar =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Snackbar, _React$Component);\n\n function Snackbar() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Snackbar);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Snackbar.__proto__ || (0, _getPrototypeOf.default)(Snackbar)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {}\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"timerAutoHide\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onMouseEnter) {\n _this.props.onMouseEnter(event);\n }\n\n _this.handlePause();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseLeave\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave(event);\n }\n\n _this.handleResume();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClickAway\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onClose) {\n _this.props.onClose(event, 'clickaway');\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handlePause\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n clearTimeout(_this.timerAutoHide);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResume\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.props.autoHideDuration != null) {\n if (_this.props.resumeHideDuration !== undefined) {\n _this.setAutoHideTimer(_this.props.resumeHideDuration);\n\n return;\n }\n\n _this.setAutoHideTimer((_this.props.autoHideDuration || 0) * 0.5);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExited\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n exited: true\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Snackbar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.open) {\n this.setAutoHideTimer();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.open !== this.props.open) {\n if (this.props.open) {\n this.setAutoHideTimer();\n } else {\n clearTimeout(this.timerAutoHide);\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timerAutoHide);\n } // Timer that controls delay before snackbar auto hides\n\n }, {\n key: \"setAutoHideTimer\",\n value: function setAutoHideTimer() {\n var _this2 = this;\n\n var autoHideDuration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.props.onClose || this.props.autoHideDuration == null) {\n return;\n }\n\n clearTimeout(this.timerAutoHide);\n this.timerAutoHide = setTimeout(function () {\n if (!_this2.props.onClose || _this2.props.autoHideDuration == null) {\n return;\n }\n\n _this2.props.onClose(null, 'timeout');\n }, autoHideDuration || this.props.autoHideDuration || 0);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n action = _props.action,\n _props$anchorOrigin = _props.anchorOrigin,\n vertical = _props$anchorOrigin.vertical,\n horizontal = _props$anchorOrigin.horizontal,\n autoHideDuration = _props.autoHideDuration,\n children = _props.children,\n classes = _props.classes,\n className = _props.className,\n ContentProps = _props.ContentProps,\n disableWindowBlurListener = _props.disableWindowBlurListener,\n message = _props.message,\n onClose = _props.onClose,\n onEnter = _props.onEnter,\n onEntered = _props.onEntered,\n onEntering = _props.onEntering,\n onExit = _props.onExit,\n onExited = _props.onExited,\n onExiting = _props.onExiting,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n open = _props.open,\n resumeHideDuration = _props.resumeHideDuration,\n TransitionComponent = _props.TransitionComponent,\n transitionDuration = _props.transitionDuration,\n TransitionProps = _props.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(_props, [\"action\", \"anchorOrigin\", \"autoHideDuration\", \"children\", \"classes\", \"className\", \"ContentProps\", \"disableWindowBlurListener\", \"message\", \"onClose\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"onMouseEnter\", \"onMouseLeave\", \"open\", \"resumeHideDuration\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]); // So we only render active snackbars.\n\n if (!open && this.state.exited) {\n return null;\n }\n\n return _react.default.createElement(_ClickAwayListener.default, {\n onClickAway: this.handleClickAway\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, classes[\"anchorOrigin\".concat((0, _helpers.capitalize)(vertical)).concat((0, _helpers.capitalize)(horizontal))], className),\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, other), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onFocus: disableWindowBlurListener ? undefined : this.handleResume,\n onBlur: disableWindowBlurListener ? undefined : this.handlePause\n }), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n onEnter: onEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n onExit: onExit,\n onExited: (0, _helpers.createChainedFunction)(this.handleExited, onExited),\n onExiting: onExiting,\n timeout: transitionDuration,\n direction: vertical === 'top' ? 'down' : 'up'\n }, TransitionProps), children || _react.default.createElement(_SnackbarContent.default, (0, _extends2.default)({\n message: message,\n action: action\n }, ContentProps)))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (typeof prevState.exited === 'undefined') {\n return {\n exited: !nextProps.open\n };\n }\n\n if (nextProps.open) {\n return {\n exited: false\n };\n }\n\n return null;\n }\n }]);\n return Snackbar;\n}(_react.default.Component);\n\nSnackbar.propTypes = false ? {\n /**\n * The action to display.\n */\n action: _propTypes.default.node,\n\n /**\n * The anchor of the `Snackbar`.\n */\n anchorOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * The number of milliseconds to wait before automatically calling the\n * `onClose` function. `onClose` should then set the state of the `open`\n * prop to hide the Snackbar. This behavior is disabled by default with\n * the `null` value.\n */\n autoHideDuration: _propTypes.default.number,\n\n /**\n * If you wish the take control over the children of the component you can use this property.\n * When used, you replace the `SnackbarContent` component with the children.\n */\n children: _propTypes.default.element,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * Properties applied to the `SnackbarContent` element.\n */\n ContentProps: _propTypes.default.object,\n\n /**\n * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.\n */\n disableWindowBlurListener: _propTypes.default.bool,\n\n /**\n * When displaying multiple consecutive Snackbars from a parent rendering a single\n * , add the key property to ensure independent treatment of each message.\n * e.g. , otherwise, the message may update-in-place and\n * features such as autoHideDuration may be canceled.\n */\n key: _propTypes.default.any,\n\n /**\n * The message to display.\n */\n message: _propTypes.default.node,\n\n /**\n * Callback fired when the component requests to be closed.\n * Typically `onClose` is used to set state in the parent component,\n * which is used to control the `Snackbar` `open` prop.\n * The `reason` parameter can optionally be used to control the response to `onClose`,\n * for example ignoring `clickaway`.\n *\n * @param {object} event The event source of the callback\n * @param {string} reason Can be:`\"timeout\"` (`autoHideDuration` expired) or: `\"clickaway\"`\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the transition is entering.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the transition has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the transition is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired before the transition is exiting.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the transition has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the transition is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseEnter: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseLeave: _propTypes.default.func,\n\n /**\n * If true, `Snackbar` is open.\n */\n open: _propTypes.default.bool,\n\n /**\n * The number of milliseconds to wait before dismissing after user interaction.\n * If `autoHideDuration` property isn't specified, it does nothing.\n * If `autoHideDuration` property is specified but `resumeHideDuration` isn't,\n * we default to `autoHideDuration / 2` ms.\n */\n resumeHideDuration: _propTypes.default.number,\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n })]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nSnackbar.defaultProps = {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'center'\n },\n disableWindowBlurListener: false,\n TransitionComponent: _Slide.default,\n transitionDuration: {\n enter: _transitions.duration.enteringScreen,\n exit: _transitions.duration.leavingScreen\n }\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n flip: false,\n name: 'MuiSnackbar'\n})((0, _reactLifecyclesCompat.polyfill)(Snackbar));\n\nexports.default = _default;\n\n/***/ }),\n/* 784 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\n// @inheritedComponent EventListener\nvar isDescendant = function isDescendant(el, target) {\n if (target !== null && target.parentNode) {\n return el === target || isDescendant(el, target.parentNode);\n }\n\n return false;\n};\n/**\n * Listen for click events that are triggered outside of the component children.\n */\n\n\nvar ClickAwayListener =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(ClickAwayListener, _React$Component);\n\n function ClickAwayListener() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, ClickAwayListener);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ClickAwayListener.__proto__ || (0, _getPrototypeOf.default)(ClickAwayListener)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mounted\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClickAway\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // Ignore events that have been `event.preventDefault()` marked.\n if (event.defaultPrevented) {\n return;\n } // IE11 support, which trigger the handleClickAway even after the unbind\n\n\n if (!_this.mounted) {\n return;\n }\n\n var el = _reactDom.default.findDOMNode((0, _assertThisInitialized2.default)(_this));\n\n var doc = (0, _ownerDocument.default)(el);\n\n if (doc.documentElement && doc.documentElement.contains(event.target) && !isDescendant(el, event.target)) {\n _this.props.onClickAway(event);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(ClickAwayListener, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n mouseEvent = _props.mouseEvent,\n touchEvent = _props.touchEvent,\n onClickAway = _props.onClickAway,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"mouseEvent\", \"touchEvent\", \"onClickAway\"]);\n var listenerProps = {};\n\n if (mouseEvent !== false) {\n listenerProps[mouseEvent] = this.handleClickAway;\n }\n\n if (touchEvent !== false) {\n listenerProps[touchEvent] = this.handleClickAway;\n }\n\n return _react.default.createElement(_reactEventListener.default, (0, _extends2.default)({\n target: \"document\"\n }, listenerProps, other), children);\n }\n }]);\n return ClickAwayListener;\n}(_react.default.Component);\n\nClickAwayListener.propTypes = false ? {\n children: _propTypes.default.node.isRequired,\n mouseEvent: _propTypes.default.oneOf(['onClick', 'onMouseDown', 'onMouseUp', false]),\n onClickAway: _propTypes.default.func.isRequired,\n touchEvent: _propTypes.default.oneOf(['onTouchStart', 'onTouchEnd', false])\n} : {};\nClickAwayListener.defaultProps = {\n mouseEvent: 'onMouseUp',\n touchEvent: 'onTouchEnd'\n};\nvar _default = ClickAwayListener;\nexports.default = _default;\n\n/***/ }),\n/* 785 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SHOW_LOGIN_DIALOG_EVENT; });\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = trigger;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = on;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = off;\nvar $=window.$;var SHOW_LOGIN_DIALOG_EVENT='SHOW_LOGIN_DIALOG_EVENT';function trigger(eventName,data){$(window).trigger(eventName,data);}function on(eventName,callback){$(window).on(eventName,function(event,data){callback&&callback(event,data);});}function off(eventName){$(window).off(eventName);}\n\n/***/ }),\n/* 786 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = updatePageParams;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_educoder__ = __webpack_require__(42);\nfunction updatePageParams(pageNum,props){var url=props.match.url;var _search=props.location.search;var parsed={};if(_search){parsed=__WEBPACK_IMPORTED_MODULE_0_educoder__[\"j\" /* queryString */].parse(_search);}// 修改page參數\nparsed.page=pageNum;props.history.push(url+'?'+__WEBPACK_IMPORTED_MODULE_0_educoder__[\"j\" /* queryString */].stringify(parsed));}\n\n/***/ }),\n/* 787 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = bytesToSize;\nfunction bytesToSize(bytes){var sizes=['Bytes','KB','MB','GB','TB'];if(bytes==0)return'0 Byte';var i=parseInt(Math.floor(Math.log(bytes)/Math.log(1024)));return Math.round(bytes/Math.pow(1024,i),2)+' '+sizes[i];}\n\n/***/ }),\n/* 788 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = isDev;\nfunction isDev(){return window.location.port===\"3007\";}\n\n/***/ }),\n/* 789 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = toStore;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = fromStore;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_store__ = __webpack_require__(790);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_store__);\nfunction toStore(key,val){var _config=__WEBPACK_IMPORTED_MODULE_0_store___default.a.get('__ec');if(!_config)_config={};_config[key]=val;__WEBPACK_IMPORTED_MODULE_0_store___default.a.set('__ec',_config);}function fromStore(key,defaultVal){var _config=__WEBPACK_IMPORTED_MODULE_0_store___default.a.get('__ec');if(!_config)return defaultVal;return _config[key]===undefined?defaultVal:_config[key];}\n\n/***/ }),\n/* 790 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar engine = __webpack_require__(791)\n\nvar storages = __webpack_require__(792)\nvar plugins = [__webpack_require__(799)]\n\nmodule.exports = engine.createStore(storages, plugins)\n\n\n/***/ }),\n/* 791 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar util = __webpack_require__(117)\nvar slice = util.slice\nvar pluck = util.pluck\nvar each = util.each\nvar bind = util.bind\nvar create = util.create\nvar isList = util.isList\nvar isFunction = util.isFunction\nvar isObject = util.isObject\n\nmodule.exports = {\n\tcreateStore: createStore\n}\n\nvar storeAPI = {\n\tversion: '2.0.12',\n\tenabled: false,\n\t\n\t// get returns the value of the given key. If that value\n\t// is undefined, it returns optionalDefaultValue instead.\n\tget: function(key, optionalDefaultValue) {\n\t\tvar data = this.storage.read(this._namespacePrefix + key)\n\t\treturn this._deserialize(data, optionalDefaultValue)\n\t},\n\n\t// set will store the given value at key and returns value.\n\t// Calling set with value === undefined is equivalent to calling remove.\n\tset: function(key, value) {\n\t\tif (value === undefined) {\n\t\t\treturn this.remove(key)\n\t\t}\n\t\tthis.storage.write(this._namespacePrefix + key, this._serialize(value))\n\t\treturn value\n\t},\n\n\t// remove deletes the key and value stored at the given key.\n\tremove: function(key) {\n\t\tthis.storage.remove(this._namespacePrefix + key)\n\t},\n\n\t// each will call the given callback once for each key-value pair\n\t// in this store.\n\teach: function(callback) {\n\t\tvar self = this\n\t\tthis.storage.each(function(val, namespacedKey) {\n\t\t\tcallback.call(self, self._deserialize(val), (namespacedKey || '').replace(self._namespaceRegexp, ''))\n\t\t})\n\t},\n\n\t// clearAll will remove all the stored key-value pairs in this store.\n\tclearAll: function() {\n\t\tthis.storage.clearAll()\n\t},\n\n\t// additional functionality that can't live in plugins\n\t// ---------------------------------------------------\n\n\t// hasNamespace returns true if this store instance has the given namespace.\n\thasNamespace: function(namespace) {\n\t\treturn (this._namespacePrefix == '__storejs_'+namespace+'_')\n\t},\n\n\t// createStore creates a store.js instance with the first\n\t// functioning storage in the list of storage candidates,\n\t// and applies the the given mixins to the instance.\n\tcreateStore: function() {\n\t\treturn createStore.apply(this, arguments)\n\t},\n\t\n\taddPlugin: function(plugin) {\n\t\tthis._addPlugin(plugin)\n\t},\n\t\n\tnamespace: function(namespace) {\n\t\treturn createStore(this.storage, this.plugins, namespace)\n\t}\n}\n\nfunction _warn() {\n\tvar _console = (typeof console == 'undefined' ? null : console)\n\tif (!_console) { return }\n\tvar fn = (_console.warn ? _console.warn : _console.log)\n\tfn.apply(_console, arguments)\n}\n\nfunction createStore(storages, plugins, namespace) {\n\tif (!namespace) {\n\t\tnamespace = ''\n\t}\n\tif (storages && !isList(storages)) {\n\t\tstorages = [storages]\n\t}\n\tif (plugins && !isList(plugins)) {\n\t\tplugins = [plugins]\n\t}\n\n\tvar namespacePrefix = (namespace ? '__storejs_'+namespace+'_' : '')\n\tvar namespaceRegexp = (namespace ? new RegExp('^'+namespacePrefix) : null)\n\tvar legalNamespaces = /^[a-zA-Z0-9_\\-]*$/ // alpha-numeric + underscore and dash\n\tif (!legalNamespaces.test(namespace)) {\n\t\tthrow new Error('store.js namespaces can only have alphanumerics + underscores and dashes')\n\t}\n\t\n\tvar _privateStoreProps = {\n\t\t_namespacePrefix: namespacePrefix,\n\t\t_namespaceRegexp: namespaceRegexp,\n\n\t\t_testStorage: function(storage) {\n\t\t\ttry {\n\t\t\t\tvar testStr = '__storejs__test__'\n\t\t\t\tstorage.write(testStr, testStr)\n\t\t\t\tvar ok = (storage.read(testStr) === testStr)\n\t\t\t\tstorage.remove(testStr)\n\t\t\t\treturn ok\n\t\t\t} catch(e) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\t_assignPluginFnProp: function(pluginFnProp, propName) {\n\t\t\tvar oldFn = this[propName]\n\t\t\tthis[propName] = function pluginFn() {\n\t\t\t\tvar args = slice(arguments, 0)\n\t\t\t\tvar self = this\n\n\t\t\t\t// super_fn calls the old function which was overwritten by\n\t\t\t\t// this mixin.\n\t\t\t\tfunction super_fn() {\n\t\t\t\t\tif (!oldFn) { return }\n\t\t\t\t\teach(arguments, function(arg, i) {\n\t\t\t\t\t\targs[i] = arg\n\t\t\t\t\t})\n\t\t\t\t\treturn oldFn.apply(self, args)\n\t\t\t\t}\n\n\t\t\t\t// Give mixing function access to super_fn by prefixing all mixin function\n\t\t\t\t// arguments with super_fn.\n\t\t\t\tvar newFnArgs = [super_fn].concat(args)\n\n\t\t\t\treturn pluginFnProp.apply(self, newFnArgs)\n\t\t\t}\n\t\t},\n\n\t\t_serialize: function(obj) {\n\t\t\treturn JSON.stringify(obj)\n\t\t},\n\n\t\t_deserialize: function(strVal, defaultVal) {\n\t\t\tif (!strVal) { return defaultVal }\n\t\t\t// It is possible that a raw string value has been previously stored\n\t\t\t// in a storage without using store.js, meaning it will be a raw\n\t\t\t// string value instead of a JSON serialized string. By defaulting\n\t\t\t// to the raw string value in case of a JSON parse error, we allow\n\t\t\t// for past stored values to be forwards-compatible with store.js\n\t\t\tvar val = ''\n\t\t\ttry { val = JSON.parse(strVal) }\n\t\t\tcatch(e) { val = strVal }\n\n\t\t\treturn (val !== undefined ? val : defaultVal)\n\t\t},\n\t\t\n\t\t_addStorage: function(storage) {\n\t\t\tif (this.enabled) { return }\n\t\t\tif (this._testStorage(storage)) {\n\t\t\t\tthis.storage = storage\n\t\t\t\tthis.enabled = true\n\t\t\t}\n\t\t},\n\n\t\t_addPlugin: function(plugin) {\n\t\t\tvar self = this\n\n\t\t\t// If the plugin is an array, then add all plugins in the array.\n\t\t\t// This allows for a plugin to depend on other plugins.\n\t\t\tif (isList(plugin)) {\n\t\t\t\teach(plugin, function(plugin) {\n\t\t\t\t\tself._addPlugin(plugin)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Keep track of all plugins we've seen so far, so that we\n\t\t\t// don't add any of them twice.\n\t\t\tvar seenPlugin = pluck(this.plugins, function(seenPlugin) {\n\t\t\t\treturn (plugin === seenPlugin)\n\t\t\t})\n\t\t\tif (seenPlugin) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.plugins.push(plugin)\n\n\t\t\t// Check that the plugin is properly formed\n\t\t\tif (!isFunction(plugin)) {\n\t\t\t\tthrow new Error('Plugins must be function values that return objects')\n\t\t\t}\n\n\t\t\tvar pluginProperties = plugin.call(this)\n\t\t\tif (!isObject(pluginProperties)) {\n\t\t\t\tthrow new Error('Plugins must return an object of function properties')\n\t\t\t}\n\n\t\t\t// Add the plugin function properties to this store instance.\n\t\t\teach(pluginProperties, function(pluginFnProp, propName) {\n\t\t\t\tif (!isFunction(pluginFnProp)) {\n\t\t\t\t\tthrow new Error('Bad plugin property: '+propName+' from plugin '+plugin.name+'. Plugins should only return functions.')\n\t\t\t\t}\n\t\t\t\tself._assignPluginFnProp(pluginFnProp, propName)\n\t\t\t})\n\t\t},\n\t\t\n\t\t// Put deprecated properties in the private API, so as to not expose it to accidential\n\t\t// discovery through inspection of the store object.\n\t\t\n\t\t// Deprecated: addStorage\n\t\taddStorage: function(storage) {\n\t\t\t_warn('store.addStorage(storage) is deprecated. Use createStore([storages])')\n\t\t\tthis._addStorage(storage)\n\t\t}\n\t}\n\n\tvar store = create(_privateStoreProps, storeAPI, {\n\t\tplugins: []\n\t})\n\tstore.raw = {}\n\teach(store, function(prop, propName) {\n\t\tif (isFunction(prop)) {\n\t\t\tstore.raw[propName] = bind(store, prop)\t\t\t\n\t\t}\n\t})\n\teach(storages, function(storage) {\n\t\tstore._addStorage(storage)\n\t})\n\teach(plugins, function(plugin) {\n\t\tstore._addPlugin(plugin)\n\t})\n\treturn store\n}\n\n\n/***/ }),\n/* 792 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = [\n\t// Listed in order of usage preference\n\t__webpack_require__(793),\n\t__webpack_require__(794),\n\t__webpack_require__(795),\n\t__webpack_require__(796),\n\t__webpack_require__(797),\n\t__webpack_require__(798)\n]\n\n\n/***/ }),\n/* 793 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'localStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nfunction localStorage() {\n\treturn Global.localStorage\n}\n\nfunction read(key) {\n\treturn localStorage().getItem(key)\n}\n\nfunction write(key, data) {\n\treturn localStorage().setItem(key, data)\n}\n\nfunction each(fn) {\n\tfor (var i = localStorage().length - 1; i >= 0; i--) {\n\t\tvar key = localStorage().key(i)\n\t\tfn(read(key), key)\n\t}\n}\n\nfunction remove(key) {\n\treturn localStorage().removeItem(key)\n}\n\nfunction clearAll() {\n\treturn localStorage().clear()\n}\n\n\n/***/ }),\n/* 794 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// oldFF-globalStorage provides storage for Firefox\n// versions 6 and 7, where no localStorage, etc\n// is available.\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'oldFF-globalStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar globalStorage = Global.globalStorage\n\nfunction read(key) {\n\treturn globalStorage[key]\n}\n\nfunction write(key, data) {\n\tglobalStorage[key] = data\n}\n\nfunction each(fn) {\n\tfor (var i = globalStorage.length - 1; i >= 0; i--) {\n\t\tvar key = globalStorage.key(i)\n\t\tfn(globalStorage[key], key)\n\t}\n}\n\nfunction remove(key) {\n\treturn globalStorage.removeItem(key)\n}\n\nfunction clearAll() {\n\teach(function(key, _) {\n\t\tdelete globalStorage[key]\n\t})\n}\n\n\n/***/ }),\n/* 795 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// oldIE-userDataStorage provides storage for Internet Explorer\n// versions 6 and 7, where no localStorage, sessionStorage, etc\n// is available.\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'oldIE-userDataStorage',\n\twrite: write,\n\tread: read,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar storageName = 'storejs'\nvar doc = Global.document\nvar _withStorageEl = _makeIEStorageElFunction()\nvar disable = (Global.navigator ? Global.navigator.userAgent : '').match(/ (MSIE 8|MSIE 9|MSIE 10)\\./) // MSIE 9.x, MSIE 10.x\n\nfunction write(unfixedKey, data) {\n\tif (disable) { return }\n\tvar fixedKey = fixKey(unfixedKey)\n\t_withStorageEl(function(storageEl) {\n\t\tstorageEl.setAttribute(fixedKey, data)\n\t\tstorageEl.save(storageName)\n\t})\n}\n\nfunction read(unfixedKey) {\n\tif (disable) { return }\n\tvar fixedKey = fixKey(unfixedKey)\n\tvar res = null\n\t_withStorageEl(function(storageEl) {\n\t\tres = storageEl.getAttribute(fixedKey)\n\t})\n\treturn res\n}\n\nfunction each(callback) {\n\t_withStorageEl(function(storageEl) {\n\t\tvar attributes = storageEl.XMLDocument.documentElement.attributes\n\t\tfor (var i=attributes.length-1; i>=0; i--) {\n\t\t\tvar attr = attributes[i]\n\t\t\tcallback(storageEl.getAttribute(attr.name), attr.name)\n\t\t}\n\t})\n}\n\nfunction remove(unfixedKey) {\n\tvar fixedKey = fixKey(unfixedKey)\n\t_withStorageEl(function(storageEl) {\n\t\tstorageEl.removeAttribute(fixedKey)\n\t\tstorageEl.save(storageName)\n\t})\n}\n\nfunction clearAll() {\n\t_withStorageEl(function(storageEl) {\n\t\tvar attributes = storageEl.XMLDocument.documentElement.attributes\n\t\tstorageEl.load(storageName)\n\t\tfor (var i=attributes.length-1; i>=0; i--) {\n\t\t\tstorageEl.removeAttribute(attributes[i].name)\n\t\t}\n\t\tstorageEl.save(storageName)\n\t})\n}\n\n// Helpers\n//////////\n\n// In IE7, keys cannot start with a digit or contain certain chars.\n// See https://github.com/marcuswestin/store.js/issues/40\n// See https://github.com/marcuswestin/store.js/issues/83\nvar forbiddenCharsRegex = new RegExp(\"[!\\\"#$%&'()*+,/\\\\\\\\:;<=>?@[\\\\]^`{|}~]\", \"g\")\nfunction fixKey(key) {\n\treturn key.replace(/^\\d/, '___$&').replace(forbiddenCharsRegex, '___')\n}\n\nfunction _makeIEStorageElFunction() {\n\tif (!doc || !doc.documentElement || !doc.documentElement.addBehavior) {\n\t\treturn null\n\t}\n\tvar scriptTag = 'script',\n\t\tstorageOwner,\n\t\tstorageContainer,\n\t\tstorageEl\n\n\t// Since #userData storage applies only to specific paths, we need to\n\t// somehow link our data to a specific path. We choose /favicon.ico\n\t// as a pretty safe option, since all browsers already make a request to\n\t// this URL anyway and being a 404 will not hurt us here. We wrap an\n\t// iframe pointing to the favicon in an ActiveXObject(htmlfile) object\n\t// (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)\n\t// since the iframe access rules appear to allow direct access and\n\t// manipulation of the document element, even for a 404 page. This\n\t// document can be used instead of the current document (which would\n\t// have been limited to the current path) to perform #userData storage.\n\ttry {\n\t\t/* global ActiveXObject */\n\t\tstorageContainer = new ActiveXObject('htmlfile')\n\t\tstorageContainer.open()\n\t\tstorageContainer.write('<'+scriptTag+'>document.w=window')\n\t\tstorageContainer.close()\n\t\tstorageOwner = storageContainer.w.frames[0].document\n\t\tstorageEl = storageOwner.createElement('div')\n\t} catch(e) {\n\t\t// somehow ActiveXObject instantiation failed (perhaps some special\n\t\t// security settings or otherwse), fall back to per-path storage\n\t\tstorageEl = doc.createElement('div')\n\t\tstorageOwner = doc.body\n\t}\n\n\treturn function(storeFunction) {\n\t\tvar args = [].slice.call(arguments, 0)\n\t\targs.unshift(storageEl)\n\t\t// See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx\n\t\t// and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx\n\t\tstorageOwner.appendChild(storageEl)\n\t\tstorageEl.addBehavior('#default#userData')\n\t\tstorageEl.load(storageName)\n\t\tstoreFunction.apply(this, args)\n\t\tstorageOwner.removeChild(storageEl)\n\t\treturn\n\t}\n}\n\n\n/***/ }),\n/* 796 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// cookieStorage is useful Safari private browser mode, where localStorage\n// doesn't work but cookies do. This implementation is adopted from\n// https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\nvar trim = util.trim\n\nmodule.exports = {\n\tname: 'cookieStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar doc = Global.document\n\nfunction read(key) {\n\tif (!key || !_has(key)) { return null }\n\tvar regexpStr = \"(?:^|.*;\\\\s*)\" +\n\t\tescape(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") +\n\t\t\"\\\\s*\\\\=\\\\s*((?:[^;](?!;))*[^;]?).*\"\n\treturn unescape(doc.cookie.replace(new RegExp(regexpStr), \"$1\"))\n}\n\nfunction each(callback) {\n\tvar cookies = doc.cookie.split(/; ?/g)\n\tfor (var i = cookies.length - 1; i >= 0; i--) {\n\t\tif (!trim(cookies[i])) {\n\t\t\tcontinue\n\t\t}\n\t\tvar kvp = cookies[i].split('=')\n\t\tvar key = unescape(kvp[0])\n\t\tvar val = unescape(kvp[1])\n\t\tcallback(val, key)\n\t}\n}\n\nfunction write(key, data) {\n\tif(!key) { return }\n\tdoc.cookie = escape(key) + \"=\" + escape(data) + \"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/\"\n}\n\nfunction remove(key) {\n\tif (!key || !_has(key)) {\n\t\treturn\n\t}\n\tdoc.cookie = escape(key) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/\"\n}\n\nfunction clearAll() {\n\teach(function(_, key) {\n\t\tremove(key)\n\t})\n}\n\nfunction _has(key) {\n\treturn (new RegExp(\"(?:^|;\\\\s*)\" + escape(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(doc.cookie)\n}\n\n\n/***/ }),\n/* 797 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'sessionStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll\n}\n\nfunction sessionStorage() {\n\treturn Global.sessionStorage\n}\n\nfunction read(key) {\n\treturn sessionStorage().getItem(key)\n}\n\nfunction write(key, data) {\n\treturn sessionStorage().setItem(key, data)\n}\n\nfunction each(fn) {\n\tfor (var i = sessionStorage().length - 1; i >= 0; i--) {\n\t\tvar key = sessionStorage().key(i)\n\t\tfn(read(key), key)\n\t}\n}\n\nfunction remove(key) {\n\treturn sessionStorage().removeItem(key)\n}\n\nfunction clearAll() {\n\treturn sessionStorage().clear()\n}\n\n\n/***/ }),\n/* 798 */\n/***/ (function(module, exports) {\n\n// memoryStorage is a useful last fallback to ensure that the store\n// is functions (meaning store.get(), store.set(), etc will all function).\n// However, stored values will not persist when the browser navigates to\n// a new page or reloads the current page.\n\nmodule.exports = {\n\tname: 'memoryStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar memoryStorage = {}\n\nfunction read(key) {\n\treturn memoryStorage[key]\n}\n\nfunction write(key, data) {\n\tmemoryStorage[key] = data\n}\n\nfunction each(callback) {\n\tfor (var key in memoryStorage) {\n\t\tif (memoryStorage.hasOwnProperty(key)) {\n\t\t\tcallback(memoryStorage[key], key)\n\t\t}\n\t}\n}\n\nfunction remove(key) {\n\tdelete memoryStorage[key]\n}\n\nfunction clearAll(key) {\n\tmemoryStorage = {}\n}\n\n\n/***/ }),\n/* 799 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = json2Plugin\n\nfunction json2Plugin() {\n\t__webpack_require__(800)\n\treturn {}\n}\n\n\n/***/ }),\n/* 800 */\n/***/ (function(module, exports) {\n\n/* eslint-disable */\n\n// json2.js\n// 2016-10-28\n// Public Domain.\n// NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n// See http://www.JSON.org/js.html\n// This code should be minified before deployment.\n// See http://javascript.crockford.com/jsmin.html\n\n// USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n// NOT CONTROL.\n\n// This file creates a global JSON object containing two methods: stringify\n// and parse. This file provides the ES5 JSON capability to ES3 systems.\n// If a project might run on IE8 or earlier, then this file should be included.\n// This file does nothing on ES5 systems.\n\n// JSON.stringify(value, replacer, space)\n// value any JavaScript value, usually an object or array.\n// replacer an optional parameter that determines how object\n// values are stringified for objects. It can be a\n// function or an array of strings.\n// space an optional parameter that specifies the indentation\n// of nested structures. If it is omitted, the text will\n// be packed without extra whitespace. If it is a number,\n// it will specify the number of spaces to indent at each\n// level. If it is a string (such as \"\\t\" or \" \"),\n// it contains the characters used to indent at each level.\n// This method produces a JSON text from a JavaScript value.\n// When an object value is found, if the object contains a toJSON\n// method, its toJSON method will be called and the result will be\n// stringified. A toJSON method does not serialize: it returns the\n// value represented by the name/value pair that should be serialized,\n// or undefined if nothing should be serialized. The toJSON method\n// will be passed the key associated with the value, and this will be\n// bound to the value.\n\n// For example, this would serialize Dates as ISO strings.\n\n// Date.prototype.toJSON = function (key) {\n// function f(n) {\n// // Format integers to have at least two digits.\n// return (n < 10)\n// ? \"0\" + n\n// : n;\n// }\n// return this.getUTCFullYear() + \"-\" +\n// f(this.getUTCMonth() + 1) + \"-\" +\n// f(this.getUTCDate()) + \"T\" +\n// f(this.getUTCHours()) + \":\" +\n// f(this.getUTCMinutes()) + \":\" +\n// f(this.getUTCSeconds()) + \"Z\";\n// };\n\n// You can provide an optional replacer method. It will be passed the\n// key and value of each member, with this bound to the containing\n// object. The value that is returned from your method will be\n// serialized. If your method returns undefined, then the member will\n// be excluded from the serialization.\n\n// If the replacer parameter is an array of strings, then it will be\n// used to select the members to be serialized. It filters the results\n// such that only members with keys listed in the replacer array are\n// stringified.\n\n// Values that do not have JSON representations, such as undefined or\n// functions, will not be serialized. Such values in objects will be\n// dropped; in arrays they will be replaced with null. You can use\n// a replacer function to replace those with JSON values.\n\n// JSON.stringify(undefined) returns undefined.\n\n// The optional space parameter produces a stringification of the\n// value that is filled with line breaks and indentation to make it\n// easier to read.\n\n// If the space parameter is a non-empty string, then that string will\n// be used for indentation. If the space parameter is a number, then\n// the indentation will be that many spaces.\n\n// Example:\n\n// text = JSON.stringify([\"e\", {pluribus: \"unum\"}]);\n// // text is '[\"e\",{\"pluribus\":\"unum\"}]'\n\n// text = JSON.stringify([\"e\", {pluribus: \"unum\"}], null, \"\\t\");\n// // text is '[\\n\\t\"e\",\\n\\t{\\n\\t\\t\"pluribus\": \"unum\"\\n\\t}\\n]'\n\n// text = JSON.stringify([new Date()], function (key, value) {\n// return this[key] instanceof Date\n// ? \"Date(\" + this[key] + \")\"\n// : value;\n// });\n// // text is '[\"Date(---current time---)\"]'\n\n// JSON.parse(text, reviver)\n// This method parses a JSON text to produce an object or array.\n// It can throw a SyntaxError exception.\n\n// The optional reviver parameter is a function that can filter and\n// transform the results. It receives each of the keys and values,\n// and its return value is used instead of the original value.\n// If it returns what it received, then the structure is not modified.\n// If it returns undefined then the member is deleted.\n\n// Example:\n\n// // Parse the text. Values that look like ISO date strings will\n// // be converted to Date objects.\n\n// myData = JSON.parse(text, function (key, value) {\n// var a;\n// if (typeof value === \"string\") {\n// a =\n// /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n// if (a) {\n// return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n// +a[5], +a[6]));\n// }\n// }\n// return value;\n// });\n\n// myData = JSON.parse('[\"Date(09/09/2001)\"]', function (key, value) {\n// var d;\n// if (typeof value === \"string\" &&\n// value.slice(0, 5) === \"Date(\" &&\n// value.slice(-1) === \")\") {\n// d = new Date(value.slice(5, -1));\n// if (d) {\n// return d;\n// }\n// }\n// return value;\n// });\n\n// This is a reference implementation. You are free to copy, modify, or\n// redistribute.\n\n/*jslint\n eval, for, this\n*/\n\n/*property\n JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,\n getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,\n lastIndex, length, parse, prototype, push, replace, slice, stringify,\n test, toJSON, toString, valueOf\n*/\n\n\n// Create a JSON object only if one does not already exist. We create the\n// methods in a closure to avoid creating global variables.\n\nif (typeof JSON !== \"object\") {\n JSON = {};\n}\n\n(function () {\n \"use strict\";\n\n var rx_one = /^[\\],:{}\\s]*$/;\n var rx_two = /\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g;\n var rx_three = /\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\n var rx_four = /(?:^|:|,)(?:\\s*\\[)+/g;\n var rx_escapable = /[\\\\\"\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n var rx_dangerous = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n\n function f(n) {\n // Format integers to have at least two digits.\n return n < 10\n ? \"0\" + n\n : n;\n }\n\n function this_value() {\n return this.valueOf();\n }\n\n if (typeof Date.prototype.toJSON !== \"function\") {\n\n Date.prototype.toJSON = function () {\n\n return isFinite(this.valueOf())\n ? this.getUTCFullYear() + \"-\" +\n f(this.getUTCMonth() + 1) + \"-\" +\n f(this.getUTCDate()) + \"T\" +\n f(this.getUTCHours()) + \":\" +\n f(this.getUTCMinutes()) + \":\" +\n f(this.getUTCSeconds()) + \"Z\"\n : null;\n };\n\n Boolean.prototype.toJSON = this_value;\n Number.prototype.toJSON = this_value;\n String.prototype.toJSON = this_value;\n }\n\n var gap;\n var indent;\n var meta;\n var rep;\n\n\n function quote(string) {\n\n// If the string contains no control characters, no quote characters, and no\n// backslash characters, then we can safely slap some quotes around it.\n// Otherwise we must also replace the offending characters with safe escape\n// sequences.\n\n rx_escapable.lastIndex = 0;\n return rx_escapable.test(string)\n ? \"\\\"\" + string.replace(rx_escapable, function (a) {\n var c = meta[a];\n return typeof c === \"string\"\n ? c\n : \"\\\\u\" + (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4);\n }) + \"\\\"\"\n : \"\\\"\" + string + \"\\\"\";\n }\n\n\n function str(key, holder) {\n\n// Produce a string from holder[key].\n\n var i; // The loop counter.\n var k; // The member key.\n var v; // The member value.\n var length;\n var mind = gap;\n var partial;\n var value = holder[key];\n\n// If the value has a toJSON method, call it to obtain a replacement value.\n\n if (value && typeof value === \"object\" &&\n typeof value.toJSON === \"function\") {\n value = value.toJSON(key);\n }\n\n// If we were called with a replacer function, then call the replacer to\n// obtain a replacement value.\n\n if (typeof rep === \"function\") {\n value = rep.call(holder, key, value);\n }\n\n// What happens next depends on the value's type.\n\n switch (typeof value) {\n case \"string\":\n return quote(value);\n\n case \"number\":\n\n// JSON numbers must be finite. Encode non-finite numbers as null.\n\n return isFinite(value)\n ? String(value)\n : \"null\";\n\n case \"boolean\":\n case \"null\":\n\n// If the value is a boolean or null, convert it to a string. Note:\n// typeof null does not produce \"null\". The case is included here in\n// the remote chance that this gets fixed someday.\n\n return String(value);\n\n// If the type is \"object\", we might be dealing with an object or an array or\n// null.\n\n case \"object\":\n\n// Due to a specification blunder in ECMAScript, typeof null is \"object\",\n// so watch out for that case.\n\n if (!value) {\n return \"null\";\n }\n\n// Make an array to hold the partial results of stringifying this object value.\n\n gap += indent;\n partial = [];\n\n// Is the value an array?\n\n if (Object.prototype.toString.apply(value) === \"[object Array]\") {\n\n// The value is an array. Stringify every element. Use null as a placeholder\n// for non-JSON values.\n\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || \"null\";\n }\n\n// Join all of the elements together, separated with commas, and wrap them in\n// brackets.\n\n v = partial.length === 0\n ? \"[]\"\n : gap\n ? \"[\\n\" + gap + partial.join(\",\\n\" + gap) + \"\\n\" + mind + \"]\"\n : \"[\" + partial.join(\",\") + \"]\";\n gap = mind;\n return v;\n }\n\n// If the replacer is an array, use it to select the members to be stringified.\n\n if (rep && typeof rep === \"object\") {\n length = rep.length;\n for (i = 0; i < length; i += 1) {\n if (typeof rep[i] === \"string\") {\n k = rep[i];\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (\n gap\n ? \": \"\n : \":\"\n ) + v);\n }\n }\n }\n } else {\n\n// Otherwise, iterate through all of the keys in the object.\n\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (\n gap\n ? \": \"\n : \":\"\n ) + v);\n }\n }\n }\n }\n\n// Join all of the member texts together, separated with commas,\n// and wrap them in braces.\n\n v = partial.length === 0\n ? \"{}\"\n : gap\n ? \"{\\n\" + gap + partial.join(\",\\n\" + gap) + \"\\n\" + mind + \"}\"\n : \"{\" + partial.join(\",\") + \"}\";\n gap = mind;\n return v;\n }\n }\n\n// If the JSON object does not yet have a stringify method, give it one.\n\n if (typeof JSON.stringify !== \"function\") {\n meta = { // table of character substitutions\n \"\\b\": \"\\\\b\",\n \"\\t\": \"\\\\t\",\n \"\\n\": \"\\\\n\",\n \"\\f\": \"\\\\f\",\n \"\\r\": \"\\\\r\",\n \"\\\"\": \"\\\\\\\"\",\n \"\\\\\": \"\\\\\\\\\"\n };\n JSON.stringify = function (value, replacer, space) {\n\n// The stringify method takes a value and an optional replacer, and an optional\n// space parameter, and returns a JSON text. The replacer can be a function\n// that can replace values, or an array of strings that will select the keys.\n// A default replacer method can be provided. Use of the space parameter can\n// produce text that is more easily readable.\n\n var i;\n gap = \"\";\n indent = \"\";\n\n// If the space parameter is a number, make an indent string containing that\n// many spaces.\n\n if (typeof space === \"number\") {\n for (i = 0; i < space; i += 1) {\n indent += \" \";\n }\n\n// If the space parameter is a string, it will be used as the indent string.\n\n } else if (typeof space === \"string\") {\n indent = space;\n }\n\n// If there is a replacer, it must be a function or an array.\n// Otherwise, throw an error.\n\n rep = replacer;\n if (replacer && typeof replacer !== \"function\" &&\n (typeof replacer !== \"object\" ||\n typeof replacer.length !== \"number\")) {\n throw new Error(\"JSON.stringify\");\n }\n\n// Make a fake root object containing our value under the key of \"\".\n// Return the result of stringifying the value.\n\n return str(\"\", {\"\": value});\n };\n }\n\n\n// If the JSON object does not yet have a parse method, give it one.\n\n if (typeof JSON.parse !== \"function\") {\n JSON.parse = function (text, reviver) {\n\n// The parse method takes a text and an optional reviver function, and returns\n// a JavaScript value if the text is a valid JSON text.\n\n var j;\n\n function walk(holder, key) {\n\n// The walk method is used to recursively walk the resulting structure so\n// that modifications can be made.\n\n var k;\n var v;\n var value = holder[key];\n if (value && typeof value === \"object\") {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }\n\n\n// Parsing happens in four stages. In the first stage, we replace certain\n// Unicode characters with escape sequences. JavaScript handles many characters\n// incorrectly, either silently deleting them, or treating them as line endings.\n\n text = String(text);\n rx_dangerous.lastIndex = 0;\n if (rx_dangerous.test(text)) {\n text = text.replace(rx_dangerous, function (a) {\n return \"\\\\u\" +\n (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4);\n });\n }\n\n// In the second stage, we run the text against regular expressions that look\n// for non-JSON patterns. We are especially concerned with \"()\" and \"new\"\n// because they can cause invocation, and \"=\" because it can cause mutation.\n// But just to be safe, we want to reject all unexpected forms.\n\n// We split the second stage into 4 regexp operations in order to work around\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\n// replace the JSON backslash pairs with \"@\" (a non-JSON character). Second, we\n// replace all simple value tokens with \"]\" characters. Third, we delete all\n// open brackets that follow a colon or comma or that begin the text. Finally,\n// we look to see that the remaining characters are only whitespace or \"]\" or\n// \",\" or \":\" or \"{\" or \"}\". If that is so, then the text is safe for eval.\n\n if (\n rx_one.test(\n text\n .replace(rx_two, \"@\")\n .replace(rx_three, \"]\")\n .replace(rx_four, \"\")\n )\n ) {\n\n// In the third stage we use the eval function to compile the text into a\n// JavaScript structure. The \"{\" operator is subject to a syntactic ambiguity\n// in JavaScript: it can begin a block or an object literal. We wrap the text\n// in parens to eliminate the ambiguity.\n\n j = eval(\"(\" + text + \")\");\n\n// In the optional fourth stage, we recursively walk the new structure, passing\n// each name/value pair to a reviver function for possible transformation.\n\n return (typeof reviver === \"function\")\n ? walk({\"\": j}, \"\")\n : j;\n }\n\n// If the text is not JSON parseable, then a SyntaxError is thrown.\n\n throw new SyntaxError(\"JSON.parse\");\n };\n }\n}());\n\n/***/ }),\n/* 801 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(81);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&challenge.status===2?'+'+challenge.experience:challenge.experience;// const showGold = (challenge.gold > 0 && challenge.status === 2) ? '+' + challenge.gold : challenge.gold\nreturn __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:__WEBPACK_IMPORTED_MODULE_6_classnames___default()(\"panel-list\",{'current':currentChallenge.position-1===index}),key:index},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'currentSelected'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:' clearfix -task-list-inner',id:'game_status_118'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('h4',{className:' -task-list-title fl'},shixun.status<2||challenge.status===2||challenges[index-1]&&challenges[index-1].status===2||shixun.task_pass||myshixun_manager===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__[\"b\" /* Link */],{to:'/tasks/'+challenge.identifier,onClick:onChallengesDrawerClose},index+1,'. ',challenge.subject):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',null,index+1,'. ',challenge.subject)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'fr'},challenge.status===2?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{'data-tip-down':'\\u5DF2\\u5B8C\\u6210',className:'fa fa-check-circle color-light-green fr font-16 mt5 -text-danger w20_center'}):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{'data-tip-down':'\\u5F85\\u5B8C\\u6210',className:'fa fa-check-circle fr font-16 mt5 color-light-grey w20_center'})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{display:'flex'},className:'grades with80 ml20 '+(challenge.status===2?'':'notFinish')},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'font-12 mr15 info-partly '+(challenge.status===2&&challenge.experience>0?'positive ':'negative'),id:'shixun_exp_118'},'\\u7ECF\\u9A8C\\u503C',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'ml5'},showExp)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'font-12 mr15 info-partly '+(challenge.status===2&&challenge.experience>0?'positive ':'negative'),id:'shixun_grade_118'},'\\u91D1\\u5E01',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'ml5'},showExp)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:' font-12 mr15 info-partly',id:'shixun_tag_118'},challenge.tag_count?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,'\\u6280\\u80FD\\u6807\\u7B7E',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'ml5'},challenge.tag_count||'无')):'')),shixun.status>=2&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'rateRow'},challenge.status===2&&challenge.star===0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'unstar'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starTip'},'\\u7ED9\\u4E2A\\u8BC4\\u5206\\u5427\\uFF1A'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_rate__[\"a\" /* default */],{defaultValue:0,onChange:function onChange(value){return _this2.props.onStarChange(challenge,index,value);}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starNumber',onClick:function onClick(){return _this2.props.saveChallengeStar(challenge,index);}},'\\u8BC4\\u4EF7')):challenge.status===2&&challenge.star>0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'stared'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starTip'},'\\u5DF2\\u8BC4\\u5206\\uFF1A'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_rate__[\"a\" /* default */],{defaultValue:challenge.star,disabled:true}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starNumber'},challenge.star,'\\u5206')):'')));});return taskArray;}},{key:'render',value:function render(){var taskListLoading=this.props.taskListLoading;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'page--over'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'col-width-3 -scroll',style:{height:'100%'},id:'all_task_index'},taskListLoading?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{marginLeft:'auto',marginRight:'auto',marginTop:'40%',display:'block'}}):this.renderTasks()));}/*\r\n \t\t\r\n\t\t
    \r\n\t\t\t\t \t

    全部任务

    \r\n\t\t\t \t
    \r\n \t*/}]);return TaskList;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (TaskList);\n\n/***/ }),\n/* 805 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar SIZE = 50;\n\nfunction getRelativeValue(value, min, max) {\n var clampedValue = Math.min(Math.max(min, value), max);\n return (clampedValue - min) / (max - min);\n}\n\nfunction easeOut(t) {\n t = getRelativeValue(t, 0, 1); // https://gist.github.com/gre/1650294\n\n t = (t -= 1) * t * t + 1;\n return t;\n}\n\nfunction easeIn(t) {\n return t * t;\n}\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-block'\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n svg: {},\n svgIndeterminate: {\n animation: 'mui-progress-circular-rotate 1.4s linear infinite'\n },\n circle: {\n stroke: 'currentColor',\n strokeLinecap: 'round'\n },\n circleIndeterminate: {\n animation: 'mui-progress-circular-dash 1.4s ease-in-out infinite',\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: '0px' // Add the unit to fix a Edge 16 and below bug.\n\n },\n '@keyframes mui-progress-circular-rotate': {\n '100%': {\n transform: 'rotate(360deg)'\n }\n },\n '@keyframes mui-progress-circular-dash': {\n '0%': {\n strokeDasharray: '1px, 200px',\n strokeDashoffset: '0px'\n },\n '50%': {\n strokeDasharray: '100px, 200px',\n strokeDashoffset: '-15px'\n },\n '100%': {\n strokeDasharray: '100px, 200px',\n strokeDashoffset: '-120px'\n }\n }\n };\n};\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\n\n\nexports.styles = styles;\n\nfunction CircularProgress(props) {\n var classes = props.classes,\n className = props.className,\n color = props.color,\n size = props.size,\n style = props.style,\n thickness = props.thickness,\n value = props.value,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"]);\n var circleStyle = {};\n var rootStyle = {};\n var rootProps = {};\n\n if (variant === 'determinate' || variant === 'static') {\n var circumference = 2 * Math.PI * (SIZE / 2 - 5);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n\n if (variant === 'static') {\n circleStyle.strokeDashoffset = \"\".concat(((100 - value) / 100 * circumference).toFixed(3), \"px\");\n rootStyle.transform = 'rotate(-90deg)';\n } else {\n circleStyle.strokeDashoffset = \"\".concat((easeIn((100 - value) / 100) * circumference).toFixed(3), \"px\");\n rootStyle.transform = \"rotate(\".concat((easeOut(value / 70) * 270).toFixed(3), \"deg)\");\n }\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), className),\n style: (0, _objectSpread2.default)({\n width: size,\n height: size\n }, rootStyle, style),\n role: \"progressbar\"\n }, rootProps, other), _react.default.createElement(\"svg\", {\n className: (0, _classnames.default)(classes.svg, (0, _defineProperty2.default)({}, classes.svgIndeterminate, variant === 'indeterminate')),\n viewBox: \"0 0 \".concat(SIZE, \" \").concat(SIZE)\n }, _react.default.createElement(\"circle\", {\n className: (0, _classnames.default)(classes.circle, (0, _defineProperty2.default)({}, classes.circleIndeterminate, variant === 'indeterminate')),\n style: circleStyle,\n cx: SIZE / 2,\n cy: SIZE / 2,\n r: SIZE / 2 - 5,\n fill: \"none\",\n strokeWidth: thickness\n })));\n}\n\nCircularProgress.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['primary', 'secondary', 'inherit']),\n\n /**\n * The size of the circle.\n */\n size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * @ignore\n */\n style: _propTypes.default.object,\n\n /**\n * The thickness of the circle.\n */\n thickness: _propTypes.default.number,\n\n /**\n * The value of the progress indicator for the determinate and static variants.\n * Value between 0 and 100.\n */\n value: _propTypes.default.number,\n\n /**\n * The variant of progress indicator. Use indeterminate\n * when there is no progress value.\n */\n variant: _propTypes.default.oneOf(['determinate', 'indeterminate', 'static'])\n} : {};\nCircularProgress.defaultProps = {\n color: 'primary',\n size: 40,\n thickness: 3.6,\n value: 0,\n variant: 'indeterminate'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiCircularProgress',\n flip: false\n})(CircularProgress);\n\nexports.default = _default;\n\n/***/ }),\n/* 806 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _colorManipulator = __webpack_require__(113);\n\nvar TRANSITION_DURATION = 4; // 400ms\n\nvar styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n overflow: 'hidden',\n height: 5\n },\n colorPrimary: {\n backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6)\n },\n colorSecondary: {\n backgroundColor: (0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.4)\n },\n buffer: {\n backgroundColor: 'transparent'\n },\n query: {\n transform: 'rotate(180deg)'\n },\n dashed: {\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%',\n animation: 'buffer 3s infinite linear'\n },\n dashedColorPrimary: {\n backgroundImage: \"radial-gradient(\".concat((0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6), \" 0%, \").concat((0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6), \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0px -23px'\n },\n dashedColorSecondary: {\n backgroundImage: \"radial-gradient(\".concat((0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.4), \" 0%, \").concat((0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.6), \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0px -23px'\n },\n bar: {\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n },\n barColorPrimary: {\n backgroundColor: theme.palette.primary.main\n },\n barColorSecondary: {\n backgroundColor: theme.palette.secondary.main\n },\n bar1Indeterminate: {\n width: 'auto',\n willChange: 'left, right',\n animation: 'mui-indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite'\n },\n bar2Indeterminate: {\n width: 'auto',\n willChange: 'left, right',\n animation: 'mui-indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite',\n animationDelay: '1.15s'\n },\n bar1Determinate: {\n willChange: 'transform',\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n bar1Buffer: {\n zIndex: 1,\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n bar2Buffer: {\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n // Legends:\n // || represents the viewport\n // - represents a light background\n // x represents a dark background\n '@keyframes mui-indeterminate1': {\n // |-----|---x-||-----||-----|\n '0%': {\n left: '-35%',\n right: '100%'\n },\n // |-----|-----||-----||xxxx-|\n '60%': {\n left: '100%',\n right: '-90%'\n },\n '100%': {\n left: '100%',\n right: '-90%'\n }\n },\n '@keyframes mui-indeterminate2': {\n // |xxxxx|xxxxx||-----||-----|\n '0%': {\n left: '-200%',\n right: '100%'\n },\n // |-----|-----||-----||-x----|\n '60%': {\n left: '107%',\n right: '-8%'\n },\n '100%': {\n left: '107%',\n right: '-8%'\n }\n },\n '@keyframes buffer': {\n '0%': {\n opacity: 1,\n backgroundPosition: '0px -23px'\n },\n '50%': {\n opacity: 0,\n backgroundPosition: '0px -23px'\n },\n '100%': {\n opacity: 1,\n backgroundPosition: '-200px -23px'\n }\n }\n };\n};\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\n\n\nexports.styles = styles;\n\nfunction LinearProgress(props) {\n var _classNames, _classNames2, _classNames3, _classNames4;\n\n var classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n value = props.value,\n valueBuffer = props.valueBuffer,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.colorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.colorSecondary, color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.buffer, variant === 'buffer'), (0, _defineProperty2.default)(_classNames, classes.query, variant === 'query'), _classNames), classNameProp);\n var dashedClass = (0, _classnames.default)(classes.dashed, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.dashedColorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames2, classes.dashedColorSecondary, color === 'secondary'), _classNames2));\n var bar1ClassName = (0, _classnames.default)(classes.bar, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.barColorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames3, classes.barColorSecondary, color === 'secondary'), (0, _defineProperty2.default)(_classNames3, classes.bar1Indeterminate, variant === 'indeterminate' || variant === 'query'), (0, _defineProperty2.default)(_classNames3, classes.bar1Determinate, variant === 'determinate'), (0, _defineProperty2.default)(_classNames3, classes.bar1Buffer, variant === 'buffer'), _classNames3));\n var bar2ClassName = (0, _classnames.default)(classes.bar, (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, classes.barColorPrimary, color === 'primary' && variant !== 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.colorPrimary, color === 'primary' && variant === 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.barColorSecondary, color === 'secondary' && variant !== 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.colorSecondary, color === 'secondary' && variant === 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.bar2Indeterminate, variant === 'indeterminate' || variant === 'query'), (0, _defineProperty2.default)(_classNames4, classes.bar2Buffer, variant === 'buffer'), _classNames4));\n var rootProps = {};\n var inlineStyles = {\n bar1: {},\n bar2: {}\n };\n\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n inlineStyles.bar1.transform = \"scaleX(\".concat(value / 100, \")\");\n } else {\n false ? (0, _warning.default)(false, 'Material-UI: you need to provide a value property ' + 'when using the determinate or buffer variant of LinearProgress .') : void 0;\n }\n }\n\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n inlineStyles.bar2.transform = \"scaleX(\".concat((valueBuffer || 0) / 100, \")\");\n } else {\n false ? (0, _warning.default)(false, 'Material-UI: you need to provide a valueBuffer property ' + 'when using the buffer variant of LinearProgress.') : void 0;\n }\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: className,\n role: \"progressbar\"\n }, rootProps, other), variant === 'buffer' ? _react.default.createElement(\"div\", {\n className: dashedClass\n }) : null, _react.default.createElement(\"div\", {\n className: bar1ClassName,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : _react.default.createElement(\"div\", {\n className: bar2ClassName,\n style: inlineStyles.bar2\n }));\n}\n\nLinearProgress.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['primary', 'secondary']),\n\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: _propTypes.default.number,\n\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: _propTypes.default.number,\n\n /**\n * The variant of progress indicator. Use indeterminate or query\n * when there is no progress value.\n */\n variant: _propTypes.default.oneOf(['determinate', 'indeterminate', 'buffer', 'query'])\n} : {};\nLinearProgress.defaultProps = {\n color: 'primary',\n variant: 'indeterminate'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiLinearProgress'\n})(LinearProgress);\n\nexports.default = _default;\n\n/***/ }),\n/* 807 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_lifecycles_compat__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(808);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Star__ = __webpack_require__(809);\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nvar Rate =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Rate, _React$Component);\n\n function Rate(props) {\n var _this;\n\n _classCallCheck(this, Rate);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Rate).call(this, props));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onHover\", function (event, index) {\n var onHoverChange = _this.props.onHoverChange;\n\n var hoverValue = _this.getStarValue(index, event.pageX);\n\n var cleanedValue = _this.state.cleanedValue;\n\n if (hoverValue !== cleanedValue) {\n _this.setState({\n hoverValue: hoverValue,\n cleanedValue: null\n });\n }\n\n onHoverChange(hoverValue);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onMouseLeave\", function () {\n var onHoverChange = _this.props.onHoverChange;\n\n _this.setState({\n hoverValue: undefined,\n cleanedValue: null\n });\n\n onHoverChange(undefined);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onClick\", function (event, index) {\n var allowClear = _this.props.allowClear;\n var value = _this.state.value;\n\n var newValue = _this.getStarValue(index, event.pageX);\n\n var isReset = false;\n\n if (allowClear) {\n isReset = newValue === value;\n }\n\n _this.onMouseLeave(true);\n\n _this.changeValue(isReset ? 0 : newValue);\n\n _this.setState({\n cleanedValue: isReset ? newValue : null\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onFocus\", function () {\n var onFocus = _this.props.onFocus;\n\n _this.setState({\n focused: true\n });\n\n if (onFocus) {\n onFocus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onBlur\", function () {\n var onBlur = _this.props.onBlur;\n\n _this.setState({\n focused: false\n });\n\n if (onBlur) {\n onBlur();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onKeyDown\", function (event) {\n var keyCode = event.keyCode;\n var _this$props = _this.props,\n count = _this$props.count,\n allowHalf = _this$props.allowHalf,\n onKeyDown = _this$props.onKeyDown;\n var value = _this.state.value;\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].RIGHT && value < count) {\n if (allowHalf) {\n value += 0.5;\n } else {\n value += 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].LEFT && value > 0) {\n if (allowHalf) {\n value -= 0.5;\n } else {\n value -= 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"saveRef\", function (index) {\n return function (node) {\n _this.stars[index] = node;\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"saveRate\", function (node) {\n _this.rate = node;\n });\n\n var _value = props.value;\n\n if (_value === undefined) {\n _value = props.defaultValue;\n }\n\n _this.stars = {};\n _this.state = {\n value: _value,\n focused: false,\n cleanedValue: null\n };\n return _this;\n }\n\n _createClass(Rate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n autoFocus = _this$props2.autoFocus,\n disabled = _this$props2.disabled;\n\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n }, {\n key: \"getStarDOM\",\n value: function getStarDOM(index) {\n return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this.stars[index]);\n }\n }, {\n key: \"getStarValue\",\n value: function getStarValue(index, x) {\n var allowHalf = this.props.allowHalf;\n var value = index + 1;\n\n if (allowHalf) {\n var starEle = this.getStarDOM(index);\n var leftDis = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"a\" /* getOffsetLeft */])(starEle);\n var width = starEle.clientWidth;\n\n if (x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n\n return value;\n }\n }, {\n key: \"focus\",\n value: function focus() {\n var disabled = this.props.disabled;\n\n if (!disabled) {\n this.rate.focus();\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n var disabled = this.props.disabled;\n\n if (!disabled) {\n this.rate.focus();\n }\n }\n }, {\n key: \"changeValue\",\n value: function changeValue(value) {\n var onChange = this.props.onChange;\n\n if (!('value' in this.props)) {\n this.setState({\n value: value\n });\n }\n\n onChange(value);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n count = _this$props3.count,\n allowHalf = _this$props3.allowHalf,\n style = _this$props3.style,\n prefixCls = _this$props3.prefixCls,\n disabled = _this$props3.disabled,\n className = _this$props3.className,\n character = _this$props3.character,\n characterRender = _this$props3.characterRender,\n tabIndex = _this$props3.tabIndex;\n var _this$state = this.state,\n value = _this$state.value,\n hoverValue = _this$state.hoverValue,\n focused = _this$state.focused;\n var stars = [];\n var disabledClass = disabled ? \"\".concat(prefixCls, \"-disabled\") : '';\n\n for (var index = 0; index < count; index++) {\n stars.push(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Star__[\"a\" /* default */], {\n ref: this.saveRef(index),\n index: index,\n count: count,\n disabled: disabled,\n prefixCls: \"\".concat(prefixCls, \"-star\"),\n allowHalf: allowHalf,\n value: hoverValue === undefined ? value : hoverValue,\n onClick: this.onClick,\n onHover: this.onHover,\n key: index,\n character: character,\n characterRender: characterRender,\n focused: focused\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"ul\", {\n className: __WEBPACK_IMPORTED_MODULE_3_classnames___default()(prefixCls, disabledClass, className),\n style: style,\n onMouseLeave: disabled ? null : this.onMouseLeave,\n tabIndex: disabled ? -1 : tabIndex,\n onFocus: disabled ? null : this.onFocus,\n onBlur: disabled ? null : this.onBlur,\n onKeyDown: disabled ? null : this.onKeyDown,\n ref: this.saveRate,\n role: \"radiogroup\"\n }, stars);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n if ('value' in nextProps && nextProps.value !== undefined) {\n return _objectSpread({}, state, {\n value: nextProps.value\n });\n }\n\n return state;\n }\n }]);\n\n return Rate;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\n_defineProperty(Rate, \"propTypes\", {\n disabled: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n value: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n defaultValue: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n count: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n allowHalf: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n allowClear: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n style: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.object,\n prefixCls: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n onChange: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n onHoverChange: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n className: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n character: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node,\n characterRender: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n tabIndex: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n onFocus: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n onBlur: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n onKeyDown: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n autoFocus: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool\n});\n\n_defineProperty(Rate, \"defaultProps\", {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n style: {},\n prefixCls: 'rc-rate',\n onChange: noop,\n character: '★',\n onHoverChange: noop,\n tabIndex: 0\n});\n\nObject(__WEBPACK_IMPORTED_MODULE_4_react_lifecycles_compat__[\"polyfill\"])(Rate);\n/* harmony default export */ __webpack_exports__[\"a\"] = (Rate);\n\n/***/ }),\n/* 808 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getOffsetLeft;\n/* eslint-disable import/prefer-default-export */\nfunction getScroll(w, top) {\n var ret = top ? w.pageYOffset : w.pageXOffset;\n var method = top ? 'scrollTop' : 'scrollLeft';\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getClientPosition(elem) {\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n var box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getOffsetLeft(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n\n/***/ }),\n/* 809 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Star; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nvar Star =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Star, _React$Component);\n\n function Star() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Star);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Star)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onHover\", function (e) {\n var _this$props = _this.props,\n onHover = _this$props.onHover,\n index = _this$props.index;\n onHover(e, index);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onClick\", function (e) {\n var _this$props2 = _this.props,\n onClick = _this$props2.onClick,\n index = _this$props2.index;\n onClick(e, index);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onKeyDown\", function (e) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n index = _this$props3.index;\n\n if (e.keyCode === 13) {\n onClick(e, index);\n }\n });\n\n return _this;\n }\n\n _createClass(Star, [{\n key: \"getClassName\",\n value: function getClassName() {\n var _this$props4 = this.props,\n prefixCls = _this$props4.prefixCls,\n index = _this$props4.index,\n value = _this$props4.value,\n allowHalf = _this$props4.allowHalf,\n focused = _this$props4.focused;\n var starValue = index + 1;\n var className = prefixCls;\n\n if (value === 0 && index === 0 && focused) {\n className += \" \".concat(prefixCls, \"-focused\");\n } else if (allowHalf && value + 0.5 === starValue) {\n className += \" \".concat(prefixCls, \"-half \").concat(prefixCls, \"-active\");\n\n if (focused) {\n className += \" \".concat(prefixCls, \"-focused\");\n }\n } else {\n className += starValue <= value ? \" \".concat(prefixCls, \"-full\") : \" \".concat(prefixCls, \"-zero\");\n\n if (starValue === value && focused) {\n className += \" \".concat(prefixCls, \"-focused\");\n }\n }\n\n return className;\n }\n }, {\n key: \"render\",\n value: function render() {\n var onHover = this.onHover,\n onClick = this.onClick,\n onKeyDown = this.onKeyDown;\n var _this$props5 = this.props,\n disabled = _this$props5.disabled,\n prefixCls = _this$props5.prefixCls,\n character = _this$props5.character,\n characterRender = _this$props5.characterRender,\n index = _this$props5.index,\n count = _this$props5.count,\n value = _this$props5.value;\n var start = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"li\", {\n className: this.getClassName()\n }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", {\n onClick: disabled ? null : onClick,\n onKeyDown: disabled ? null : onKeyDown,\n onMouseMove: disabled ? null : onHover,\n role: \"radio\",\n \"aria-checked\": value > index ? 'true' : 'false',\n \"aria-posinset\": index + 1,\n \"aria-setsize\": count,\n tabIndex: 0\n }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-first\")\n }, character), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-second\")\n }, character)));\n\n if (characterRender) {\n start = characterRender(start, this.props);\n }\n\n return start;\n }\n }]);\n\n return Star;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\n_defineProperty(Star, \"propTypes\", {\n value: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,\n index: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,\n prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n allowHalf: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n disabled: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n onHover: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n character: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,\n characterRender: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n focused: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n count: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number\n});\n\n\n\n/***/ }),\n/* 810 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 811 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 812 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Drawer__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Drawer___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Drawer__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__taskList_TaskListContainer__ = __webpack_require__(392);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layers_TaskResultLayer__ = __webpack_require__(815);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_Tooltip__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_Tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_material_ui_Tooltip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_moment__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_moment__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n')) : void 0;\n return localTheme(this.outerTheme);\n }\n\n if (!this.outerTheme) {\n return localTheme;\n }\n\n return (0, _objectSpread2.default)({}, this.outerTheme, localTheme);\n }\n }, {\n key: \"render\",\n value: function render() {\n // TODO move the sheetsManager property to a different component.\n // warning(\n // typeof window !== 'undefined' || this.props.sheetsManager,\n // [\n // 'Material-UI: you need to provide a sheetsManager to the MuiThemeProvider ' +\n // 'when rendering on the server.',\n // 'If you do not, you might experience a memory leak',\n // ].join('\\n'),\n // );\n return this.props.children;\n }\n }]);\n return MuiThemeProvider;\n}(_react.default.Component);\n\nMuiThemeProvider.propTypes = false ? {\n /**\n * You can only provide a single element with react@15, a node with react@16.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server side.\n * You can significantly speed up the traversal with this property.\n */\n disableStylesGeneration: _propTypes.default.bool,\n\n /**\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: _propTypes.default.object,\n\n /**\n * A theme object.\n */\n theme: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]).isRequired\n} : {};\nMuiThemeProvider.propTypes = false ? (0, _exactProp.default)(MuiThemeProvider.propTypes, 'MuiThemeProvider') : {};\nMuiThemeProvider.childContextTypes = (0, _objectSpread2.default)({}, _themeListener.default.contextTypes, {\n muiThemeProviderOptions: _propTypes.default.object\n});\nMuiThemeProvider.contextTypes = (0, _objectSpread2.default)({}, _themeListener.default.contextTypes, {\n muiThemeProviderOptions: _propTypes.default.object\n});\nvar _default = MuiThemeProvider;\nexports.default = _default;\n\n/***/ }),\n/* 814 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nfunction createBroadcast (initialState) {\n var listeners = {};\n var id = 1;\n var _state = initialState;\n\n function getState () {\n return _state\n }\n\n function setState (state) {\n _state = state;\n var keys = Object.keys(listeners);\n var i = 0;\n var len = keys.length;\n for (; i < len; i++) {\n // if a listener gets unsubscribed during setState we just skip it\n if (listeners[keys[i]]) { listeners[keys[i]](state); }\n }\n }\n\n // subscribe to changes and return the subscriptionId\n function subscribe (listener) {\n if (typeof listener !== 'function') {\n throw new Error('listener must be a function.')\n }\n var currentId = id;\n listeners[currentId] = listener;\n id += 1;\n return currentId\n }\n\n // remove subscription by removing the listener function\n function unsubscribe (id) {\n listeners[id] = undefined;\n }\n\n return { getState: getState, setState: setState, subscribe: subscribe, unsubscribe: unsubscribe }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBroadcast);\n\n\n/***/ }),\n/* 815 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_rate__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__TaskResultLayer_css__ = __webpack_require__(393);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__TaskResultLayer_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__TaskResultLayer_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png__ = __webpack_require__(816);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png__ = __webpack_require__(817);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png__ = __webpack_require__(818);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_educoder__ = __webpack_require__(42);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i=2){// 没点评星 && 未评星 && 实训已发布(模拟实战可以继续)\nshowSnackbar('请先给该任务评星,谢谢。');return;}// 点击了查看效果,而非查看下一关\nif(!goNext){if(challenge.showWebDisplayButton===true&&challenge.webDisplayUrl){// 打开web效果查看页面\nwindow.open(challenge.webDisplayUrl,'_blank');return;}else{Object(__WEBPACK_IMPORTED_MODULE_8_educoder__[\"l\" /* trigger */])('showWebDisplayEvent');}}if(!game.star){// 当前关卡没有评星,评星后再跳转\nthis.props.saveChallengeStar(game,challenge.position);}// 跳转到下一关\n// https://stackoverflow.com/questions/29244731/react-router-how-to-manually-invoke-link\n// this.context.router.push('/sample');\nif(goNext===true){if(next_game){// https://www.trustie.net/issues/18573\nthis.goNext=true;}// 隐藏掉效果查看页面\nwindow.$('#picture_display').hide();}this.props.onGamePassed();this.setState({stared:false});}},{key:'_fakeRanking',value:function _fakeRanking(){var cost_time=this.props.game.cost_time;if(cost_time>60*10){return Math.floor(Math.random()*11)+20;}return Math.floor((600-cost_time)/600*100);}},{key:'render',value:function render(){var _this2=this;if(!this.props.challenge||!this.props.challenge.id){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null);}var shixun=this.props.shixun;var stared=this.state.stared;var _props2=this.props,currentGamePassed=_props2.currentGamePassed,currentPassedGameGainGold=_props2.currentPassedGameGainGold,currentPassedGameGainExperience=_props2.currentPassedGameGainExperience,game_count=_props2.game_count,challenge=_props2.challenge,next_game=_props2.next_game,game=_props2.game,closeTaskResultLayer=_props2.closeTaskResultLayer;// TODO closeTaskResultLayer的时候没有调用评星接口\n// 如果时最后一关,图片要换\nvar isLastGame=game_count===challenge.position;// false //\n// TODO 这个用法有点蹩脚\nif(this.goNext&&next_game){this.goNext=false;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router__[\"Redirect\"],{push:true,to:'/tasks/'+next_game});}if(shixun.status<=1){// 模拟实战\ngame.star=8;// 跳过评星\n}var titleObj={title:game.star?'':'请先给该任务评星,谢谢。'// const fakeRanking = this.fakeRanking;\n};return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,currentGamePassed?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'taskResultLayer'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'pr passTaskContent',style:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'far fa-times-circle closeIcon',onClick:closeTaskResultLayer,title:'\\u5173\\u95ED'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('img',{src:isLastGame?__WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png___default.a:__WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png___default.a,width:'652px',className:'passTaskImg'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'winpPerson expGold'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'inline'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:' goldring'}),currentPassedGameGainGold>=0?'+'+currentPassedGameGainGold:'+0'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'inline exp'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('img',{src:__WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png___default.a,className:' mt5 fl'}),currentPassedGameGainExperience>=0?'+'+currentPassedGameGainExperience:'+0')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'winPanel'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),!game.star?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'rateLabel '},'\\u60A8\\u7684\\u8BC4\\u4EF7\\u51B3\\u5B9A\\u8001\\u5E08\\u7684\\u6C5F\\u6E56\\u5730\\u4F4D~'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_rate__[\"a\" /* default */],{defaultValue:0,allowClear:false,onChange:function onChange(value){return _this2.onStarChange(_this2.props.game,_this2.props.challenge.position,value);}})):'',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',Object.assign({href:'javascript:void(0)',className:'passed '+(stared||game.star?'stared':'')},titleObj,{onClick:function onClick(){return _this2.onFinish(true);}}),next_game?'下一关':'完成'),challenge.showLanguagePictrue&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',Object.assign({href:'javascript:void(0)',className:'passed '+(stared||game.star?'stared':'')},titleObj,{onClick:function onClick(){return _this2.onFinish();}}),'查看效果'))))):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null));}}]);return TaskResultLayer;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (TaskResultLayer);\n\n/***/ }),\n/* 816 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"static/media/passall.46817e26.png\";\n\n/***/ }),\n/* 817 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"static/media/passpart.4aaf3e6b.png\";\n\n/***/ }),\n/* 818 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEMUNCRTZCNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEMUNCRTZDNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0QxQ0JFNjk0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0QxQ0JFNkE0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6xcnMrAAABN0lEQVR42qzTsUtCURTH8fskisZoa4ogcGhpcYuW+gsk+icyGiyEoNVB0i3EWYJwaG2Koj+gBiEqqIasRQlCHCJ8fU+cB4fLldS68BHO755zeQ/vi7L3q4vOuRMsu9HWNTZT/NTHGHY6U5cDMm78lUm5P65/OaDtZXsoB3or2PWythxQ9cInFHBrsjvNHr3eqhxQxIsJS5jAlsl29GlLJpOZooQ979HmsY9zHOMUZ8hjwfTJTC/iIkkR4RIruvmJJXQxhVhfaVr3ryCDcfIvSMM2+lpP4ghveMahGe5rb+z/jTeomXoNG1hH1uQ17f1ZySskaxYPmNH6FR9Ia/0O+XY6gy6SbByYes4MO93r/HYT5V40A3kzcGeCB3whF8hzujfUt3CBhqkbmo30McnFaan8oKZvAQYAarBDzHlRpVIAAAAASUVORK5CYII=\"\n\n/***/ }),\n/* 819 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _reactPopper = __webpack_require__(820);\n\nvar _helpers = __webpack_require__(39);\n\nvar _RootRef = _interopRequireDefault(__webpack_require__(372));\n\nvar _Portal = _interopRequireDefault(__webpack_require__(373));\n\nvar _common = _interopRequireDefault(__webpack_require__(225));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\n/* eslint-disable react/no-multi-comp, no-underscore-dangle */\nvar styles = function styles(theme) {\n return {\n // Will be gone once we drop React 15.x support.\n root: {\n display: 'inline-block',\n flexDirection: 'inherit' // Makes the wrapper more transparent.\n\n },\n popper: {\n zIndex: theme.zIndex.tooltip,\n pointerEvents: 'none',\n '&$open': {\n pointerEvents: 'auto'\n }\n },\n open: {},\n tooltip: {\n backgroundColor: theme.palette.grey[700],\n borderRadius: 2,\n color: _common.default.white,\n fontFamily: theme.typography.fontFamily,\n opacity: 0,\n transform: 'scale(0)',\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shortest,\n easing: theme.transitions.easing.easeIn\n }),\n minHeight: 0,\n padding: \"\".concat(theme.spacing.unit / 2, \"px \").concat(theme.spacing.unit, \"px\"),\n fontSize: theme.typography.pxToRem(10),\n lineHeight: \"\".concat(theme.typography.round(14 / 10), \"em\"),\n '&$open': {\n opacity: 0.9,\n transform: 'scale(1)',\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shortest,\n easing: theme.transitions.easing.easeOut\n })\n }\n },\n touch: {\n padding: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit * 2, \"px\"),\n fontSize: theme.typography.pxToRem(14),\n lineHeight: \"\".concat(theme.typography.round(16 / 14), \"em\")\n },\n tooltipPlacementLeft: (0, _defineProperty2.default)({\n transformOrigin: 'right center',\n margin: \"0 \".concat(theme.spacing.unit * 3, \"px\")\n }, theme.breakpoints.up('sm'), {\n margin: '0 14px'\n }),\n tooltipPlacementRight: (0, _defineProperty2.default)({\n transformOrigin: 'left center',\n margin: \"0 \".concat(theme.spacing.unit * 3, \"px\")\n }, theme.breakpoints.up('sm'), {\n margin: '0 14px'\n }),\n tooltipPlacementTop: (0, _defineProperty2.default)({\n transformOrigin: 'center bottom',\n margin: \"\".concat(theme.spacing.unit * 3, \"px 0\")\n }, theme.breakpoints.up('sm'), {\n margin: '14px 0'\n }),\n tooltipPlacementBottom: (0, _defineProperty2.default)({\n transformOrigin: 'center top',\n margin: \"\".concat(theme.spacing.unit * 3, \"px 0\")\n }, theme.breakpoints.up('sm'), {\n margin: '14px 0'\n })\n };\n};\n\nexports.styles = styles;\n\nfunction flipPlacement(placement) {\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n\n case 'bottom-start':\n return 'bottom-end';\n\n case 'top-end':\n return 'top-start';\n\n case 'top-start':\n return 'top-end';\n\n default:\n return placement;\n }\n}\n\nvar Tooltip =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Tooltip, _React$Component);\n\n function Tooltip(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Tooltip);\n _this = (0, _possibleConstructorReturn2.default)(this, (Tooltip.__proto__ || (0, _getPrototypeOf.default)(Tooltip)).call(this, props, context));\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"enterTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"leaveTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"touchTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"closeTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"popper\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"children\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoreNonTouchEvents\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n if (_this.popper) {\n _this.popper._popper.scheduleUpdate();\n }\n }, 166)\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props = _this.props,\n children = _this$props.children,\n enterDelay = _this$props.enterDelay;\n var childrenProps = children.props;\n\n if (event.type === 'focus' && childrenProps.onFocus) {\n childrenProps.onFocus(event);\n }\n\n if (event.type === 'mouseover' && childrenProps.onMouseOver) {\n childrenProps.onMouseOver(event);\n }\n\n if (_this.ignoreNonTouchEvents && event.type !== 'touchstart') {\n return;\n }\n\n clearTimeout(_this.enterTimer);\n clearTimeout(_this.leaveTimer);\n\n if (enterDelay) {\n event.persist();\n _this.enterTimer = setTimeout(function () {\n _this.handleOpen(event);\n }, enterDelay);\n } else {\n _this.handleOpen(event);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleOpen\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (!_this.isControlled) {\n _this.setState({\n open: true\n });\n }\n\n if (_this.props.onOpen) {\n _this.props.onOpen(event, true);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleLeave\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props2 = _this.props,\n children = _this$props2.children,\n leaveDelay = _this$props2.leaveDelay;\n var childrenProps = children.props;\n\n if (event.type === 'blur' && childrenProps.onBlur) {\n childrenProps.onBlur(event);\n }\n\n if (event.type === 'mouseleave' && childrenProps.onMouseLeave) {\n childrenProps.onMouseLeave(event);\n }\n\n clearTimeout(_this.enterTimer);\n clearTimeout(_this.leaveTimer);\n\n if (leaveDelay) {\n event.persist();\n _this.leaveTimer = setTimeout(function () {\n _this.handleClose(event);\n }, leaveDelay);\n } else {\n _this.handleClose(event);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (!_this.isControlled) {\n _this.setState({\n open: false\n });\n }\n\n if (_this.props.onClose) {\n _this.props.onClose(event, false);\n }\n\n clearTimeout(_this.closeTimer);\n _this.closeTimer = setTimeout(function () {\n _this.ignoreNonTouchEvents = false;\n }, _this.props.theme.transitions.duration.shortest);\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchStart\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.ignoreNonTouchEvents = true;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n enterTouchDelay = _this$props3.enterTouchDelay;\n var childrenProps = children.props;\n\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n\n clearTimeout(_this.leaveTimer);\n clearTimeout(_this.closeTimer);\n clearTimeout(_this.touchTimer);\n event.persist();\n _this.touchTimer = setTimeout(function () {\n _this.handleEnter(event);\n }, enterTouchDelay);\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchEnd\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props4 = _this.props,\n children = _this$props4.children,\n leaveTouchDelay = _this$props4.leaveTouchDelay;\n var childrenProps = children.props;\n\n if (childrenProps.onTouchEnd) {\n childrenProps.onTouchEnd(event);\n }\n\n clearTimeout(_this.touchTimer);\n clearTimeout(_this.leaveTimer);\n event.persist();\n _this.leaveTimer = setTimeout(function () {\n _this.handleClose(event);\n }, leaveTouchDelay);\n }\n });\n _this.isControlled = props.open != null;\n\n if (!_this.isControlled) {\n // not controlled, use internal state\n _this.state.open = false;\n }\n\n return _this;\n }\n\n (0, _createClass2.default)(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n false ? (0, _warning.default)(!this.children || !this.children.disabled || !this.children.tagName.toLowerCase() === 'button', ['Material-UI: you are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Place a `div` container on top of the element.'].join('\\n')) : void 0;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.enterTimer);\n clearTimeout(this.leaveTimer);\n clearTimeout(this.touchTimer);\n clearTimeout(this.closeTimer);\n this.handleResize.cancel();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n classes = _props.classes,\n className = _props.className,\n disableFocusListener = _props.disableFocusListener,\n disableHoverListener = _props.disableHoverListener,\n disableTouchListener = _props.disableTouchListener,\n enterDelay = _props.enterDelay,\n enterTouchDelay = _props.enterTouchDelay,\n id = _props.id,\n leaveDelay = _props.leaveDelay,\n leaveTouchDelay = _props.leaveTouchDelay,\n onClose = _props.onClose,\n onOpen = _props.onOpen,\n openProp = _props.open,\n placementProp = _props.placement,\n _props$PopperProps = _props.PopperProps;\n _props$PopperProps = _props$PopperProps === void 0 ? {} : _props$PopperProps;\n var PopperClassName = _props$PopperProps.className,\n PopperProps = (0, _objectWithoutProperties2.default)(_props$PopperProps, [\"className\"]),\n theme = _props.theme,\n title = _props.title,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"classes\", \"className\", \"disableFocusListener\", \"disableHoverListener\", \"disableTouchListener\", \"enterDelay\", \"enterTouchDelay\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperProps\", \"theme\", \"title\"]);\n var placement = theme.direction === 'rtl' ? flipPlacement(placementProp) : placementProp;\n var open = this.isControlled ? openProp : this.state.open;\n var childrenProps = {\n 'aria-describedby': id\n }; // There is no point at displaying an empty tooltip.\n\n if (title === '') {\n open = false;\n }\n\n if (!disableTouchListener) {\n childrenProps.onTouchStart = this.handleTouchStart;\n childrenProps.onTouchEnd = this.handleTouchEnd;\n }\n\n if (!disableHoverListener) {\n childrenProps.onMouseOver = this.handleEnter;\n childrenProps.onMouseLeave = this.handleLeave;\n }\n\n if (!disableFocusListener) {\n childrenProps.onFocus = this.handleEnter;\n childrenProps.onBlur = this.handleLeave;\n }\n\n false ? (0, _warning.default)(!children.props.title, ['Material-UI: you have been providing a `title` property to the child of .', \"Remove this title property `\".concat(children.props.title, \"` or the Tooltip component.\")].join('\\n')) : void 0;\n return _react.default.createElement(_reactPopper.Manager, (0, _extends2.default)({\n tag: _reactDom.default.createPortal ? false : 'div',\n className: (0, _classnames.default)(classes.root, className)\n }, other), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), _react.default.createElement(_reactPopper.Target, null, function (_ref) {\n var targetProps = _ref.targetProps;\n return _react.default.createElement(_RootRef.default, {\n rootRef: function rootRef(node) {\n _this2.children = node;\n targetProps.ref(_this2.children);\n }\n }, _react.default.cloneElement(children, childrenProps));\n }), _react.default.createElement(_Portal.default, null, _react.default.createElement(_reactPopper.Popper, (0, _extends2.default)({\n placement: placement,\n eventsEnabled: open,\n className: (0, _classnames.default)(classes.popper, (0, _defineProperty2.default)({}, classes.open, open), PopperClassName),\n ref: function ref(node) {\n _this2.popper = node;\n }\n }, PopperProps), function (_ref2) {\n var popperProps = _ref2.popperProps,\n restProps = _ref2.restProps;\n var actualPlacement = (popperProps['data-placement'] || placement).split('-')[0];\n return _react.default.createElement(\"div\", (0, _extends2.default)({}, popperProps, restProps, {\n style: (0, _objectSpread2.default)({}, popperProps.style, {\n top: popperProps.style.top || 0,\n left: popperProps.style.left || 0\n }, restProps.style)\n }), _react.default.createElement(\"div\", {\n id: id,\n role: \"tooltip\",\n \"aria-hidden\": !open,\n className: (0, _classnames.default)(classes.tooltip, (0, _defineProperty2.default)({}, classes.open, open), (0, _defineProperty2.default)({}, classes.touch, _this2.ignoreNonTouchEvents), classes[\"tooltipPlacement\".concat((0, _helpers.capitalize)(actualPlacement))])\n }, title));\n })));\n }\n }]);\n return Tooltip;\n}(_react.default.Component);\n\nTooltip.propTypes = false ? {\n /**\n * Tooltip reference element.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * Do not respond to focus events.\n */\n disableFocusListener: _propTypes.default.bool,\n\n /**\n * Do not respond to hover events.\n */\n disableHoverListener: _propTypes.default.bool,\n\n /**\n * Do not respond to long press touch events.\n */\n disableTouchListener: _propTypes.default.bool,\n\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay: _propTypes.default.number,\n\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n */\n enterTouchDelay: _propTypes.default.number,\n\n /**\n * The relationship between the tooltip and the wrapper component is not clear from the DOM.\n * By providing this property, we can use aria-describedby to solve the accessibility issue.\n */\n id: _propTypes.default.string,\n\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This property won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay: _propTypes.default.number,\n\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n */\n leaveTouchDelay: _propTypes.default.number,\n\n /**\n * Callback fired when the tooltip requests to be closed.\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the tooltip requests to be open.\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * If `true`, the tooltip is shown.\n */\n open: _propTypes.default.bool,\n\n /**\n * Tooltip placement\n */\n placement: _propTypes.default.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n\n /**\n * Properties applied to the `Popper` element.\n */\n PopperProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title: _propTypes.default.node.isRequired\n} : {};\nTooltip.defaultProps = {\n disableFocusListener: false,\n disableHoverListener: false,\n disableTouchListener: false,\n enterDelay: 0,\n enterTouchDelay: 1000,\n leaveDelay: 0,\n leaveTouchDelay: 1500,\n placement: 'bottom'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTooltip',\n withTheme: true\n})(Tooltip);\n\nexports.default = _default;\n\n/***/ }),\n/* 820 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Manager__ = __webpack_require__(821);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Manager\", function() { return __WEBPACK_IMPORTED_MODULE_0__Manager__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Target__ = __webpack_require__(822);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Target\", function() { return __WEBPACK_IMPORTED_MODULE_1__Target__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Popper__ = __webpack_require__(823);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Popper\", function() { return __WEBPACK_IMPORTED_MODULE_2__Popper__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"placements\", function() { return __WEBPACK_IMPORTED_MODULE_2__Popper__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Arrow__ = __webpack_require__(825);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Arrow\", function() { return __WEBPACK_IMPORTED_MODULE_3__Arrow__[\"a\"]; });\n\n\n\n\n\n/***/ }),\n/* 821 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar Manager = function (_Component) {\n _inherits(Manager, _Component);\n\n function Manager() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Manager);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Manager.__proto__ || Object.getPrototypeOf(Manager)).call.apply(_ref, [this].concat(args))), _this), _this._setTargetNode = function (node) {\n _this._targetNode = node;\n }, _this._getTargetNode = function () {\n return _this._targetNode;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Manager, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n popperManager: {\n setTargetNode: this._setTargetNode,\n getTargetNode: this._getTargetNode\n }\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n tag = _props.tag,\n children = _props.children,\n restProps = _objectWithoutProperties(_props, ['tag', 'children']);\n\n if (tag !== false) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(tag, restProps, children);\n } else {\n return children;\n }\n }\n }]);\n\n return Manager;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nManager.childContextTypes = {\n popperManager: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\nManager.propTypes = {\n tag: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool]),\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\nManager.defaultProps = {\n tag: 'div'\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Manager);\n\n/***/ }),\n/* 822 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\nvar Target = function Target(props, context) {\n var _props$component = props.component,\n component = _props$component === undefined ? 'div' : _props$component,\n innerRef = props.innerRef,\n children = props.children,\n restProps = _objectWithoutProperties(props, ['component', 'innerRef', 'children']);\n\n var popperManager = context.popperManager;\n\n var targetRef = function targetRef(node) {\n popperManager.setTargetNode(node);\n if (typeof innerRef === 'function') {\n innerRef(node);\n }\n };\n\n if (typeof children === 'function') {\n var targetProps = { ref: targetRef };\n return children({ targetProps: targetProps, restProps: restProps });\n }\n\n var componentProps = _extends({}, restProps);\n\n if (typeof component === 'string') {\n componentProps.ref = targetRef;\n } else {\n componentProps.innerRef = targetRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(component, componentProps, children);\n};\n\nTarget.contextTypes = {\n popperManager: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\n\nTarget.propTypes = {\n component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Target);\n\n/***/ }),\n/* 823 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return placements; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_popper_js__ = __webpack_require__(824);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\nvar placements = __WEBPACK_IMPORTED_MODULE_2_popper_js__[\"a\" /* default */].placements;\n\nvar Popper = function (_Component) {\n _inherits(Popper, _Component);\n\n function Popper() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Popper);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Popper.__proto__ || Object.getPrototypeOf(Popper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {}, _this._setArrowNode = function (node) {\n _this._arrowNode = node;\n }, _this._getTargetNode = function () {\n if (_this.props.target) {\n return _this.props.target;\n } else if (!_this.context.popperManager || !_this.context.popperManager.getTargetNode()) {\n throw new Error('Target missing. Popper must be given a target from the Popper Manager, or as a prop.');\n }\n return _this.context.popperManager.getTargetNode();\n }, _this._getOffsets = function (data) {\n return Object.keys(data.offsets).map(function (key) {\n return data.offsets[key];\n });\n }, _this._isDataDirty = function (data) {\n if (_this.state.data) {\n return JSON.stringify(_this._getOffsets(_this.state.data)) !== JSON.stringify(_this._getOffsets(data));\n } else {\n return true;\n }\n }, _this._updateStateModifier = {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n if (_this._isDataDirty(data)) {\n _this.setState({ data: data });\n }\n return data;\n }\n }, _this._getPopperStyle = function () {\n var data = _this.state.data;\n\n\n if (!_this._popper || !data) {\n return {\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0\n };\n }\n\n return _extends({\n position: data.offsets.popper.position\n }, data.styles);\n }, _this._getPopperPlacement = function () {\n return _this.state.data ? _this.state.data.placement : undefined;\n }, _this._getPopperHide = function () {\n return !!_this.state.data && _this.state.data.hide ? '' : undefined;\n }, _this._getArrowStyle = function () {\n if (!_this.state.data || !_this.state.data.offsets.arrow) {\n return {};\n } else {\n var _this$state$data$offs = _this.state.data.offsets.arrow,\n top = _this$state$data$offs.top,\n left = _this$state$data$offs.left;\n\n return { top: top, left: left };\n }\n }, _this._handlePopperRef = function (node) {\n _this._popperNode = node;\n if (node) {\n _this._createPopper();\n } else {\n _this._destroyPopper();\n }\n if (_this.props.innerRef) {\n _this.props.innerRef(node);\n }\n }, _this._scheduleUpdate = function () {\n _this._popper && _this._popper.scheduleUpdate();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Popper, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n popper: {\n setArrowNode: this._setArrowNode,\n getArrowStyle: this._getArrowStyle\n }\n };\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(lastProps) {\n if (lastProps.placement !== this.props.placement || lastProps.eventsEnabled !== this.props.eventsEnabled || lastProps.target !== this.props.target) {\n this._destroyPopper();\n this._createPopper();\n }\n if (lastProps.children !== this.props.children) {\n this._scheduleUpdate();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._destroyPopper();\n }\n }, {\n key: '_createPopper',\n value: function _createPopper() {\n var _this2 = this;\n\n var _props = this.props,\n placement = _props.placement,\n eventsEnabled = _props.eventsEnabled,\n positionFixed = _props.positionFixed;\n\n var modifiers = _extends({}, this.props.modifiers, {\n applyStyle: { enabled: false },\n updateState: this._updateStateModifier\n });\n if (this._arrowNode) {\n modifiers.arrow = _extends({}, this.props.modifiers.arrow || {}, {\n element: this._arrowNode\n });\n }\n this._popper = new __WEBPACK_IMPORTED_MODULE_2_popper_js__[\"a\" /* default */](this._getTargetNode(), this._popperNode, {\n placement: placement,\n positionFixed: positionFixed,\n eventsEnabled: eventsEnabled,\n modifiers: modifiers\n });\n\n // TODO: look into setTimeout scheduleUpdate call, without it, the popper will not position properly on creation\n setTimeout(function () {\n return _this2._scheduleUpdate();\n });\n }\n }, {\n key: '_destroyPopper',\n value: function _destroyPopper() {\n if (this._popper) {\n this._popper.destroy();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n component = _props2.component,\n innerRef = _props2.innerRef,\n placement = _props2.placement,\n eventsEnabled = _props2.eventsEnabled,\n positionFixed = _props2.positionFixed,\n modifiers = _props2.modifiers,\n children = _props2.children,\n restProps = _objectWithoutProperties(_props2, ['component', 'innerRef', 'placement', 'eventsEnabled', 'positionFixed', 'modifiers', 'children']);\n\n var popperStyle = this._getPopperStyle();\n var popperPlacement = this._getPopperPlacement();\n var popperHide = this._getPopperHide();\n\n if (typeof children === 'function') {\n var popperProps = {\n ref: this._handlePopperRef,\n style: popperStyle,\n 'data-placement': popperPlacement,\n 'data-x-out-of-boundaries': popperHide\n };\n return children({\n popperProps: popperProps,\n restProps: restProps,\n scheduleUpdate: this._scheduleUpdate\n });\n }\n\n var componentProps = _extends({}, restProps, {\n style: _extends({}, restProps.style, popperStyle),\n 'data-placement': popperPlacement,\n 'data-x-out-of-boundaries': popperHide\n });\n\n if (typeof component === 'string') {\n componentProps.ref = this._handlePopperRef;\n } else {\n componentProps.innerRef = this._handlePopperRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(component, componentProps, children);\n }\n }]);\n\n return Popper;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nPopper.contextTypes = {\n popperManager: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object\n};\nPopper.childContextTypes = {\n popper: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\nPopper.propTypes = {\n component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n placement: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf(placements),\n eventsEnabled: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n positionFixed: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n modifiers: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n target: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([\n // the following check is needed for SSR\n __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.instanceOf(typeof Element !== 'undefined' ? Element : Object), __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n getBoundingClientRect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,\n clientWidth: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number.isRequired,\n clientHeight: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number.isRequired\n })])\n};\nPopper.defaultProps = {\n component: 'div',\n placement: 'bottom',\n eventsEnabled: true,\n positionFixed: false,\n modifiers: {}\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popper);\n\n/***/ }),\n/* 824 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
    \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
    \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
    \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
    \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
    \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
    \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
    \n * It will read the variation of the `placement` property.
    \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
    \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
    \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
    \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
    \n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
    \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
    \n * These can be overridden using the `options` argument of Popper.js.
    \n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
    \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popper);\n//# sourceMappingURL=popper.js.map\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(20)))\n\n/***/ }),\n/* 825 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\nvar Arrow = function Arrow(props, context) {\n var _props$component = props.component,\n component = _props$component === undefined ? 'span' : _props$component,\n innerRef = props.innerRef,\n children = props.children,\n restProps = _objectWithoutProperties(props, ['component', 'innerRef', 'children']);\n\n var popper = context.popper;\n\n var arrowRef = function arrowRef(node) {\n popper.setArrowNode(node);\n if (typeof innerRef === 'function') {\n innerRef(node);\n }\n };\n var arrowStyle = popper.getArrowStyle();\n\n if (typeof children === 'function') {\n var arrowProps = {\n ref: arrowRef,\n style: arrowStyle\n };\n return children({ arrowProps: arrowProps, restProps: restProps });\n }\n\n var componentProps = _extends({}, restProps, {\n style: _extends({}, arrowStyle, restProps.style)\n });\n\n if (typeof component === 'string') {\n componentProps.ref = arrowRef;\n } else {\n componentProps.innerRef = arrowRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(component, componentProps, children);\n};\n\nArrow.contextTypes = {\n popper: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\n\nArrow.propTypes = {\n component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Arrow);\n\n/***/ }),\n/* 826 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__MainContent__ = __webpack_require__(827);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_UpdateDrawer__ = __webpack_require__(1618);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_lodash__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i评测等待通知

    \";if(flag==0){htmlvalue+=\"

    目前有\"+num+\"人正在等待评测,还需等待约\"+(mintes>0?mintes+\"分钟\":second+\"秒\")+\"。您可以先完成“下一关”任务。

    \";}else{htmlvalue+=\"

    目前有超过\"+num*10+\"人正在等待评测,请您稍后再试。您可以先完成其他关卡

    \";}htmlvalue+=\"
    \";if(flag==0){htmlvalue+=\"继续等待\";if(next_game){htmlvalue+=\"下一关\";}else{htmlvalue+=\"已经是最后一关啦\";}}else{htmlvalue+=\"知道啦\";if(next_game){htmlvalue+=\"下一关\";}else{htmlvalue+=\"已经是最后一关啦\";}}htmlvalue+=\"
    \";return htmlvalue;}/*更新通知*/function tip_half_update(){var htmlvalue=\"\";htmlvalue+=\"

    本次更新设计以下几个步骤,预计需要花费几分钟时间,请耐心等待~

    \";htmlvalue+=\"
      \";htmlvalue+=\"
    1. 更新版本库
    2. \";htmlvalue+=\"
    3. 同步评测机制
    \";htmlvalue+=\"
    \";htmlvalue+=\"知道啦\";htmlvalue+=\"
    \";return htmlvalue;}// ============================ ============================ ============================ ============================\n// ============================ ============================ ============================ ============================\nvar UPDATED=0;var SAVING=1;var SAVED=2;var SAVE_FAILED=3;var MainContentContainer=function(_Component){_inherits(MainContentContainer,_Component);function MainContentContainer(props){_classCallCheck(this,MainContentContainer);var _this=_possibleConstructorReturn(this,(MainContentContainer.__proto__||Object.getPrototypeOf(MainContentContainer)).call(this,props));_this.handleClose=function(){_this.setState({open:false});};_this.onRepositoryCodeUpdate=_this.onRepositoryCodeUpdate.bind(_this);_this.onRunCodeTest=_this.onRunCodeTest.bind(_this);_this.codemirrorDidMount=_this.codemirrorDidMount.bind(_this);_this.fetchRepositoryCode=_this.fetchRepositoryCode.bind(_this);_this.showResetCodeDialog=_this.showResetCodeDialog.bind(_this);_this.showResetPassedCodeDialog=_this.showResetPassedCodeDialog.bind(_this);_this.doFileUpdateRequestOnCodeMirrorBlur=_this.doFileUpdateRequestOnCodeMirrorBlur.bind(_this);_this.oldRepositoryCode='';_this.state={repositoryCode:'',open:false,// 繁忙等级等提示用Dialog,考虑重构封装到根组件\ngameBuilding:false,// 评测中标志\ncodeStatus:SAVED,// 0 已修改 1 保存中 2 已保存 3 保存失败\ncodeLoading:true,// code加载中\nreadRepoTimeout:false,// 加载代码轮训超时\nresetCodeDialogOpen:false,// 考虑重构封装到根组件\nresetPassedCodeDialogOpen:false,// 考虑重构封装到根组件\nisEditablePath:true};return _this;}// ------------------------------------------------\n// static childContextTypes = {\n// muiTheme: PropTypes.object\n// }\n// getChildContext() {\n// return {\n// muiTheme: getMuiTheme()\n// }\n// }\n// ------------------------------------------------\n_createClass(MainContentContainer,[{key:'shouldComponentUpdate',value:function shouldComponentUpdate(nextProps,nextState){// _.isEqual(this.props, nextProps)\nif(JSON.stringify(nextProps)!==JSON.stringify(this.props)||!__WEBPACK_IMPORTED_MODULE_7_lodash___default.a.isEqual(this.state,nextState)){return true;}else{return false;}}},{key:'componentWillReceiveProps',value:function componentWillReceiveProps(newProps,nContext){// 编程题才需要拿代码\nif(newProps.game&&newProps.st===0){if(!this.props||!this.props.game||newProps.game.identifier!==this.props.game.identifier){setTimeout(this.fetchRepositoryCode(newProps),1500);}else if(this.props.challenge.pathIndex!=newProps.challenge.pathIndex&&newProps.challenge.pathIndex!==-1){// 切换到只读文件\n// pathIndex切换\nsetTimeout(this.fetchRepositoryCode(newProps),1500);}}if(newProps.myshixun){var stageId=newProps.match.params.stageId;var shixunId=newProps.myshixun.identifier;// locationPath = `/myshixuns/${shixunId}/stages/${stageId}`\nlocationPath='/api/v1/games/'+newProps.game.identifier;next_game=newProps.next_game;}}// arg_path 点击文件目录树时,传入的点击节点对应的path\n},{key:'fetchRepositoryCode',value:function fetchRepositoryCode(props,arg_path,type,isRetry){var _this2=this;var _ref=props?props:this.props,challenge=_ref.challenge,showSnackbar=_ref.showSnackbar,game=_ref.game,shixun=_ref.shixun,hide_code=_ref.hide_code;if(hide_code){// 隐藏code的实训\nthis.setState({codeLoading:false});return;}var stageId=game.identifier;var path=void 0;var isEditablePath=false;if(arg_path){path=arg_path;if(challenge.multiPath){challenge.path.forEach(function(item){if(path==item){isEditablePath=true;}});}else if(path==challenge.path){isEditablePath=true;}}else{isEditablePath=true;path=challenge.multiPath?challenge.path[challenge.pathIndex]:challenge.path;}if(readingRepoTimes===0){this.setState({readRepoTimeout:false});}// http://localhost:3000/api/v1/games/zl6kx8f7vfpo/rep_content\nvar status=type?type:0;// type 1 目录树点击 默认 0: 正常代码加载\nvar fetchRepoCodeUrl='/api/v1/games/'+stageId+'/rep_content?path='+path+'&shixun_gpid='+shixun.gpid+'&status='+status+'&retry='+(isRetry?1:0);if(this.state.codeLoading===true&&this._cancel){// 多次请求,则cancel掉前面的请求\n// bug cancel掉第一次请求后,第二次请求也没法发出,先注释掉了\n// this._cancel();\n// this._cancel = null;\n}var that=this;this.setState({gameBuilding:false,codeLoading:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(fetchRepoCodeUrl,{withCredentials:true,cancelToken:new CancelToken(function executor(c){// An executor function receives a cancel function as a parameter\nthat._cancel=c;})}).then(function(fetchRepositoryCodeResponse){// 空字符串还是正常切换\nif(fetchRepositoryCodeResponse.data==null||fetchRepositoryCodeResponse.data==undefined){readingRepoTimes=readingRepoTimes+1;if(readingRepoTimes>29){_this2.setState({readRepoTimeout:true});readingRepoTimes=0;showSnackbar('\\u7F51\\u7EDC\\u5F02\\u5E38\\uFF0C\\u8BF7\\u7A0D\\u540E\\u91CD\\u8BD5\\u3002');return;}else{if(status===0){if(_this2.props.tpm_modified===true){_this2.props.onShowUpdateDialog();// 需要先更新代码才能fetch\n}else{setTimeout(function(){_this2.fetchRepositoryCode(props,arg_path,type);},1500);}}}}else if(fetchRepositoryCodeResponse.data&&fetchRepositoryCodeResponse.data.status===-1){_this2.setState({codeLoading:false});console.error('`获取代码失败!');showSnackbar('\\u83B7\\u53D6\\u4EE3\\u7801\\u5931\\u8D25\\uFF1A'+fetchRepositoryCodeResponse.data.message);}else{_this2.setState({isEditablePath:isEditablePath,currentPath:path});_this2.oldRepositoryCode=fetchRepositoryCodeResponse.data;_this2.updateRepositoryCode(fetchRepositoryCodeResponse.data,updateCodeMirror);}}).catch(function(error){console.log(error);});}},{key:'componentDidMount',value:function componentDidMount(){window.$(window.documents).bind(\"submitChoose\",function(){alert(\"hello world!\");});}},{key:'doFileUpdateRequestOnCodeMirrorBlur',value:function doFileUpdateRequestOnCodeMirrorBlur(){var _this3=this;var fileUpdatePromise=this.doFileUpdateRequest(true);if(fileUpdatePromise){fileUpdatePromise.then(function(resData){if(resData.status===-1){// 保存文件出现异常\n_this3.setState({codeStatus:SAVE_FAILED});return;}_this3.setState({codeStatus:SAVED});}).catch(function(e){console.log(e);_this3.setState({codeStatus:SAVE_FAILED});});}}},{key:'componentWillUnmount',value:function componentWillUnmount(){this.autoSaveInterval&&clearInterval(this.autoSaveInterval);}},{key:'codemirrorDidMount',value:function codemirrorDidMount(){var _this4=this;var editor_CodeMirror=window.editor_CodeMirror;// 失去焦点终止保存事件\neditor_CodeMirror.on('blur',function(cMirror){if(_this4.autoSaveInterval){clearInterval(_this4.autoSaveInterval);_this4.autoSaveInterval=null;}// const delay = 0;\n// if (this.refreshHtmlTimeout) {\t// 延迟setState还存在,则延迟fileupdate\n// setTimeout(()=> {\n_this4.doFileUpdateRequestOnCodeMirrorBlur();// }, 1500 + delay)\n// } else {\n// 避免和评测的file_update请求串到一起,延迟3s执行\n// setTimeout(()=> {\n// this.doFileUpdateRequestOnCodeMirrorBlur()\n// }, delay)\n// }\n});// 每60秒钟保存一次\neditor_CodeMirror.on('focus',function(cMirror){if(_this4.autoSaveInterval){return;}_this4.autoSaveInterval=setInterval(function(){// code变化时,,每30秒保存到数据库,没变化则不处理\nvar autoSave=true;var fileUpdatePromise=_this4.doFileUpdateRequest(true);if(fileUpdatePromise){fileUpdatePromise.then(function(resData){// TODO 保存失败的处理\n_this4.setState({codeStatus:SAVED});}).catch(function(e){console.log(e);});}},30000);});}},{key:'_refreshHtmlIframe',value:function _refreshHtmlIframe(newCode){// TODO 是否是html的code\nvar isHtmlCode=this.props.challenge.isHtml;if(isHtmlCode){// TODO 参考 _code_actions.html.erb 做link script标签替换\n// var $iframe = window.$('#htmlIframe');\n// $iframe.ready( () => {\n// $iframe.contents().find(\"body\").html(newCode || this.state.repositoryCode);\n// });\nwindow.tpi_html_show();}}},{key:'updateRepositoryCode',value:function updateRepositoryCode(newCode,callback){this.setState({codeLoading:false,repositoryCode:newCode},function(){callback&&callback();});this._refreshHtmlIframe(newCode);}},{key:'onRepositoryCodeUpdate',value:function onRepositoryCodeUpdate(newCode){var _this5=this;if(this.refreshHtmlTimeout){clearTimeout(this.refreshHtmlTimeout);}// 每2s刷新一次\nthis.setState({codeStatus:UPDATED});this.refreshHtmlTimeout=setTimeout(function(){// \tthis.setState({\n// \t\t// codeStatus: UPDATED,\n// repositoryCode: newCode\n// });\n_this5._refreshHtmlIframe(newCode);_this5.refreshHtmlTimeout=null;},1500);}// forTest true 是评测时触发的file_update\n},{key:'doFileUpdateRequest',value:function doFileUpdateRequest(checkIfCodeChanged,forTest){var codeStatus=this.state.codeStatus;if(!forTest&&codeStatus!==UPDATED){// 已修改状态才能保存\nreturn;}var codeContent=window['editor_CodeMirror']?window.editor_CodeMirror.getValue():this.state.repositoryCode;if(checkIfCodeChanged===true&&this.oldRepositoryCode==codeContent){// console.log('code not changed');\nthis.setState({codeStatus:SAVED});return null;}var _props=this.props,challenge=_props.challenge,output_sets=_props.output_sets,onRunCodeTestFinish=_props.onRunCodeTestFinish;var url=locationPath+'/file_update?path='+encodeURIComponent(challenge.path);this.setState({codeStatus:SAVING});this.oldRepositoryCode=codeContent;var argPath=void 0;if(challenge.pathIndex===-1){// 当前是只读文件\nargPath=challenge.multiPath===true?challenge.path[0]:challenge.path;}else{argPath=challenge.multiPath===true?challenge.path[challenge.pathIndex]:challenge.path;}// 跨域请求时会多一个options请求\n// https://github.com/axios/axios/issues/475\nreturn __WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url,{content:codeContent,evaluate:forTest===true?1:0,path:argPath},{withCredentials:true// headers: {\n// \t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n// }\n});}},{key:'onRunChooseTest',value:function onRunChooseTest(){var _this6=this;var _props2=this.props,st=_props2.st,game=_props2.game,onRunChooseTestFinish=_props2.onRunChooseTestFinish,showSnackbar=_props2.showSnackbar;// 获取form表单值\nvar value=this.refs.mainContent.refs.chooseQ.getForm().getFieldsValue();var valueArray=[];// map转array\nvar unSelectOptionIndexArray=[];// 自己做未选提示\nfor(var key in value){if(!value[key]||__WEBPACK_IMPORTED_MODULE_7_lodash___default.a.isArray(value[key])&&!value[key].join('')[0]){unSelectOptionIndexArray.push(key);break;// 为空处理\n}// TODO array判断\nvalueArray[parseInt(key)]=__WEBPACK_IMPORTED_MODULE_7_lodash___default.a.isArray(value[key])?value[key].join(''):value[key];}if(unSelectOptionIndexArray.length){var unSelectOptionIndex=unSelectOptionIndexArray[0];var _unSelectOptionDom=window.$('#games_repository_contents #choice'+unSelectOptionIndex)[0];_unSelectOptionDom.scrollIntoView();showSnackbar('\\u8BF7\\u5148\\u7ED9\\u7B2C'+(parseInt(unSelectOptionIndex)+1)+'\\u9898\\u9009\\u62E9\\u4E00\\u4E2A\\u7B54\\u6848\\u3002');// , 'top', 'center'\n// 有未选择的题\nreturn;}// TODO 未选提示、props.onRunChooseTest\nconsole.log(unSelectOptionIndexArray);console.log('valueArray',valueArray);var url='/api/v1/games/'+game.identifier+'/choose_build';this.setState({gameBuilding:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url,{answer:valueArray},{withCredentials:true// headers: {\n// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n// }\n}).then(function(response){if(response.data.test_sets){// 评测完成\nonRunChooseTestFinish(response.data);_this6.setState({gameBuilding:false});}console.log(response);}).catch(function(error){console.log(error);_this6.setState({gameBuilding:false});});}},{key:'setGameBuildFalse',value:function setGameBuildFalse(){this.setState({gameBuilding:false});}},{key:'onRunCodeTest',value:function onRunCodeTest(){var _this7=this;// tipContent(0, 100, 30, 360, 1)\n// return; // for test\nvar _props3=this.props,st=_props3.st,challenge=_props3.challenge,output_sets=_props3.output_sets,onRunCodeTestFinish=_props3.onRunCodeTestFinish,loading=_props3.loading,showDialog=_props3.showDialog,handleGdialogClose=_props3.handleGdialogClose,onPathChange=_props3.onPathChange;var isEditablePath=this.state.isEditablePath;if(isEditablePath===false){showDialog({contentText:'需要先切回可编辑的文件才可评测,确认要现在切换吗?',callback:function callback(){onPathChange(0);handleGdialogClose();}});return;}if(loading===true){return;// 还在加载中\n}if(st===1){// 选择题\nthis.onRunChooseTest();return;}// ---------------------- 以下是编程题处理 ----------------------\nconsole.log('onRunCodeTest onRunCodeTest');// http://localhost:3000/myshixuns/so5w6iap97/stages/zl6kx8f7vfpo/file_update?path=src%2Fstep6%2FLinkedList.java\n// var url = `${locationPath}/file_update?path=${encodeURIComponent(challenge.path)}`\n// var timeOut = parseInt(<%= @myshixun.main_mirror.try(:time_limit) %>); // 超时参数\nthis.setState({gameBuilding:true});this.doFileUpdateRequest(null,true).then(function(fileUpdateResponse){console.log(fileUpdateResponse);if(fileUpdateResponse.data.status===-1){// 保存文件出现异常\n_this7.setGameBuildFalse();_this7.setState({codeStatus:SAVE_FAILED});return;}_this7.setState({codeStatus:SAVED});_this7.gameBuild(fileUpdateResponse,1);}).catch(function(fileUpdateError){console.log(fileUpdateError);_this7.setGameBuildFalse();});}// 之前的task_commit方法\n},{key:'gameBuild',value:function gameBuild(fileUpdateResponse,first){var _this8=this;var _props4=this.props,st=_props4.st,challenge=_props4.challenge,output_sets=_props4.output_sets,onRunCodeTestFinish=_props4.onRunCodeTestFinish,showSnackbar=_props4.showSnackbar,time_limit=_props4.time_limit;var _fileUpdateResponse$d=fileUpdateResponse.data,resubmit=_fileUpdateResponse$d.resubmit,content_modified=_fileUpdateResponse$d.content_modified;var timeOut=time_limit;// http://localhost:3000/myshixuns/so5w6iap97/stages/zl6kx8f7vfpo/game_build?first=1&resubmit=GDBEX741_1993\nvar game_build_url=locationPath+'/game_build?first='+first+'&resubmit='+resubmit+'&content_modified='+content_modified;// var timeOut = parseInt(<%= @myshixun.main_mirror.try(:time_limit) %>); // 超时参数\n__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(game_build_url,{withCredentials:true}).then(function(gameBuildResponse){console.log(gameBuildResponse);// D:\\Code\\trustieplus\\app\\views\\games\\_code_actions.html.erb\nvar _gameBuildResponse$da=gameBuildResponse.data,port=_gameBuildResponse$da.port,ableToCreate=_gameBuildResponse$da.ableToCreate,waitNum=_gameBuildResponse$da.waitNum,waitingTime=_gameBuildResponse$da.waitingTime,had_done=_gameBuildResponse$da.had_done;// http://localhost:3000/myshixuns/so5w6iap97/stages/zl6kx8f7vfpo/game_status?resubmit=GDBEX741_1993&port=50241&time_out=false\nif(ableToCreate==1){var timeOutFlag=false;var intervalDuring=1000;var requestTimes=0;var gameStatusIntervalId=setInterval(function(){var game_status_url=locationPath+'/game_status?port='+port+'&resubmit='+(resubmit||\"\")+'&time_out='+timeOutFlag;__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(game_status_url,{withCredentials:true}).then(function(gameStatusResponse){requestTimes++;if(!gameStatusResponse.data){if(requestTimes>=timeOut-1){// 最后一次参数改为true\ntimeOutFlag=true;}return;}var status=gameStatusResponse.data.status;if(timeOutFlag===false&&(status===2||status===0)){// 网络太慢或服务处理较慢的情况下,可能这里会执行第二次\nconsole.log('clearIntervalclearIntervalclearIntervalclearInterval status2 0');clearInterval(gameStatusIntervalId);onRunCodeTestFinish(gameStatusResponse.data);_this8.setGameBuildFalse();timeOutFlag=true;// 用这个处理重复的获取status为2或0的状态\n}// 超时处理\nif(timeOutFlag===true){// clearInterval(gameStatusIntervalId);\nconsole.log('超时处理返回值');_this8._refreshHtmlIframe();_this8.setGameBuildFalse();return;}if(requestTimes>=timeOut-1){// 最后一次参数改为true\ntimeOutFlag=true;}}).catch(function(gameStatusError){console.log(gameStatusError);});if(timeOutFlag===true){clearInterval(gameStatusIntervalId);_this8.setState({open:true});}},intervalDuring);window.gameStatusIntervalId=gameStatusIntervalId;}else if(ableToCreate===0){// 排队等待,重新执行gameBuild\nvar mintes=parseInt(waitNum*120/60);// 等待时间 = 等待人数 * (15(秒)---3分钟的随机数);\ntipContent(ableToCreate,waitNum,mintes,waitNum*180,first);setTimeout(function(){_this8.gameBuild(fileUpdateResponse,first+1);},10000);_this8.setGameBuildFalse();}else if(ableToCreate==-1){// 排队人数过多,建议先玩下一关\ntipContent(ableToCreate,waitNum,0,0,first);_this8.setGameBuildFalse();}else{showSnackbar(\"实训云平台繁忙(繁忙等级:94),请稍后刷新并重试\");_this8.setGameBuildFalse();}}).catch(function(gameBuildError){console.log(gameBuildError);_this8.setGameBuildFalse();});}},{key:'handleResetCodeDialogClose',value:function handleResetCodeDialogClose(){this.setState({resetCodeDialogOpen:false});}},{key:'showResetCodeDialog',value:function showResetCodeDialog(){this.setState({resetCodeDialogOpen:true});}},{key:'doResetCode',value:function doResetCode(){var _this9=this;var _props5=this.props,game=_props5.game,challenge=_props5.challenge,showSnackbar=_props5.showSnackbar;this.handleResetCodeDialogClose();var path=challenge.path;if(challenge.multiPath){path=path[challenge.pathIndex];}var url='/api/v1/games/'+game.identifier+'/reset_original_code?path='+path;this.setState({codeLoading:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url,{withCredentials:true}).then(function(res){_this9.handleResetCodeDialogClose();if(res.data.status===-1){console.error('代码重置失败!');showSnackbar('加载初始的代码失败');return;}// \t\tthis.setState({\n// \tcodeLoading: false\n// })\n_this9.updateRepositoryCode(res.data,updateCodeMirror);}).catch(function(error){_this9.setState({codeLoading:false});});}},{key:'handleResetPassedCodeDialogClose',value:function handleResetPassedCodeDialogClose(){this.setState({resetPassedCodeDialogOpen:false});}},{key:'showResetPassedCodeDialog',value:function showResetPassedCodeDialog(){this.setState({resetPassedCodeDialogOpen:true});}},{key:'doResetPassedCode',value:function doResetPassedCode(){var _this10=this;this.handleResetPassedCodeDialogClose();var _props6=this.props,game=_props6.game,challenge=_props6.challenge,showSnackbar=_props6.showSnackbar;var path=challenge.path;if(challenge.multiPath){path=path[challenge.pathIndex];}var url='/api/v1/games/'+game.identifier+'/reset_passed_code?path='+path;this.setState({codeLoading:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url,{withCredentials:true}).then(function(res){_this10.handleResetPassedCodeDialogClose();if(res.data.status===-1){console.error('passed代码重置失败!');showSnackbar('加载上次通过的代码失败');return;}// 注意,最好是合并到一个setState, 这里分两次setState的话,触发了2次重新渲染\n// \t\tthis.setState({\n// \tcodeLoading: false\n// })\n_this10.updateRepositoryCode(res.data,updateCodeMirror);}).catch(function(error){_this10.setState({codeLoading:false});});}},{key:'render',value:function render(){var _this11=this;var _props7=this.props,challenge=_props7.challenge,output_sets=_props7.output_sets,time_limit=_props7.time_limit;// TODO 这里直接写死了,game_status在超时时也会返回这句话\nvar msg='\\u4EE3\\u7801\\u8BC4\\u6D4B\\u8D85\\u65F6\\uFF01\\u672C\\u5173\\u9650\\u5B9A\\u65F6\\u95F4\\u4E3A\\uFF1A'+time_limit+'s\\uFF0C\\u8BF7\\u68C0\\u67E5\\u4EE3\\u7801\\u662F\\u5426\\u5B58\\u5728\\u6B7B\\u5FAA\\u73AF\\u6216\\u5176\\u4ED6\\u8017\\u65F6\\u64CD\\u4F5C';return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:this.state.open,onClose:this.handleClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},msg)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{onClick:this.handleClose,color:'primary'},'\\u5173\\u95ED'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:this.state.resetCodeDialogOpen,onClose:function onClose(){return _this11.handleResetCodeDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{textAlign:'center'}},'\\u4F60\\u5728\\u672C\\u6587\\u4EF6\\u4E2D\\u4FEE\\u6539\\u7684\\u5185\\u5BB9\\u5C06\\u4E22\\u5931',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('br',null),'\\u662F\\u5426\\u786E\\u5B9A\\u91CD\\u65B0\\u52A0\\u8F7D\\u521D\\u59CB\\u4EE3\\u7801\\uFF1F')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{onClick:function onClick(){return _this11.handleResetCodeDialogClose();},color:'primary'},'\\u5173\\u95ED'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this11.doResetCode();},color:'primary'},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:this.state.resetPassedCodeDialogOpen,onClose:function onClose(){return _this11.handleResetPassedCodeDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{textAlign:'center'}},'\\u4F60\\u5728\\u672C\\u5173\\u4E2D\\u4FEE\\u6539\\u7684\\u5185\\u5BB9\\u5C06\\u4E22\\u5931',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('br',null),'\\u662F\\u5426\\u786E\\u5B9A\\u91CD\\u65B0\\u52A0\\u8F7D\\u4E0A\\u6B21\\u901A\\u8FC7\\u7684\\u4EE3\\u7801?')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{onClick:function onClick(){return _this11.handleResetPassedCodeDialogClose();},color:'primary'},'\\u5173\\u95ED'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this11.doResetPassedCode();},color:'primary'},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__component_UpdateDrawer__[\"a\" /* default */],Object.assign({},this.props,{fetchRepositoryCode:this.fetchRepositoryCode})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__MainContent__[\"a\" /* default */],Object.assign({ref:'mainContent'},this.props,{output_sets:output_sets},this.state,{onRepositoryCodeUpdate:this.onRepositoryCodeUpdate,onRunCodeTest:this.onRunCodeTest,codemirrorDidMount:this.codemirrorDidMount,fetchRepositoryCode:this.fetchRepositoryCode,showResetCodeDialog:this.showResetCodeDialog,showResetPassedCodeDialog:this.showResetPassedCodeDialog,doFileUpdateRequestOnCodeMirrorBlur:this.doFileUpdateRequestOnCodeMirrorBlur})));}}]);return MainContentContainer;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (MainContentContainer);\n\n/***/ }),\n/* 827 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__main_ActionView__ = __webpack_require__(828);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__main_LeftViewContainer__ = __webpack_require__(830);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__main_CodeRepositoryViewContainer__ = __webpack_require__(1545);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__main_CodeEvaluateView__ = __webpack_require__(1597);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__main_ChooseRepositoryView__ = __webpack_require__(1599);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__main_ChooseEvaluateView__ = __webpack_require__(1615);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_material_ui_Progress___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__tpiPage_css__ = __webpack_require__(1616);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__tpiPage_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__tpiPage_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__tpiPageForMobile_css__ = __webpack_require__(1617);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__tpiPageForMobile_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__tpiPageForMobile_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i.resize-helper').position().top<100){window.$('.b-label>.resize-helper').css('top','200px');}},4000);$(\"body\").css(\"padding-right\",\"0px!important\");}},{key:'render',value:function render(){var _this2=this;var _props=this.props,challenge=_props.challenge,output_sets=_props.output_sets,onRunCodeTest=_props.onRunCodeTest,latest_output=_props.latest_output,record=_props.record,st=_props.st,readRepoTimeout=_props.readRepoTimeout,onTestSetHeaderClick=_props.onTestSetHeaderClick,loading=_props.loading,codeLoading=_props.codeLoading;// if (output_sets && output_sets.test_sets) {\n// \tconst test_sets_array = JSON.parse(\"[\" + output_sets.test_sets + \"]\");\n// \toutput_sets.test_sets_array = test_sets_array;\n// }\nvar games_repository_contents_style;if(st===1){games_repository_contents_style={overflow:'auto',height:'445px',backgroundColor:'#fff'};}else{games_repository_contents_style={overflow:'hidden',height:'445px'};}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'page--body -margin-t-64 -flex'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout -stretch -fit labelN',id:'game_show_content'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel--first -layout -vertical -flex -relative -flex-basic40',id:'game_left_contents',style:{width:'694px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__main_LeftViewContainer__[\"a\" /* default */],this.props)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'b-label -layout',style:{left:'687px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'resize-helper '},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8_material_ui_Button___default.a,{variant:'fab','aria-label':'Swap',mini:true,onClick:this.onResizeButtonClick},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('svg',{style:{marginTop:'1px'},width:'16',height:'13',viewBox:'0 0 16 13'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('path',{d:'M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z'}))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel--second -layout -vertical -flex -relative -flex-basic50',id:'game_right_contents',style:{width:'996px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -flex'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -relative'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel -fit -vertical',id:'games_repository_valuation'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout -stretch -fit -vertical centerH'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout -vertical -flex -relative -flex-basic70 -bg-weightblack',id:'games_repository_contents',style:games_repository_contents_style},st===0?readRepoTimeout===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'readRepoFailed'},'\\u4EE3\\u7801\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'retry',onClick:function onClick(){return _this2.props.fetchRepositoryCode(_this2.props,null,null,true);}},'\\u91CD\\u8BD5')):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{display:codeLoading?'block':'none',marginLeft:'auto',marginRight:'auto',marginTop:'20%'}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{display:codeLoading?'none':'block'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__main_CodeRepositoryViewContainer__[\"a\" /* default */],this.props))):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__main_ChooseRepositoryView__[\"a\" /* default */],Object.assign({ref:'chooseQ'},this.props))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'h-center',style:{top:'438px'}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel--second -layout -vertical -flex -relative -bg-black -flex-basic60',id:'games_valuation_contents',style:{height:'258px'}},loading?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{marginLeft:'auto',marginRight:'auto',marginTop:'10%',display:'block'}}):st===0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__main_CodeEvaluateView__[\"a\" /* default */],Object.assign({output_sets:output_sets,latest_output:latest_output,record:record,onTestSetHeaderClick:onTestSetHeaderClick},this.props)):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__main_ChooseEvaluateView__[\"a\" /* default */],this.props)))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'actionView',className:'-layout-h -center -bg-grey-90 -grey-20 -bg-darkblack',style:{height:'48px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__main_ActionView__[\"a\" /* default */],Object.assign({onRunCodeTest:onRunCodeTest},this.props))))));}}]);return MainContent;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (MainContent);\n\n/***/ }),\n/* 828 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ActionView_css__ = __webpack_require__(829);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ActionView_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__ActionView_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i耗时:0 天 3 小时 11 分钟 57 秒 */},{key:'render',value:function render(){var _this2=this;var _props=this.props,onRunCodeTest=_props.onRunCodeTest,onShowPrevStage=_props.onShowPrevStage,onShowNextStage=_props.onShowNextStage,gameBuilding=_props.gameBuilding,game=_props.game,classes=_props.classes,st=_props.st,shixun=_props.shixun,record=_props.record,challenge=_props.challenge;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -layout-h',id:'game_operate_action'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'mt10 -flex c_grey ml15',id:'time-consuming'},!gameBuilding&&record?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip___default.a,{title:\"本次评测耗时\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',null,record,' \\u79D2')):\"\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{size:'small',className:classes.button+' actionViewfirstButton',onClick:function onClick(){return _this2.showWebDisplay(challenge);},style:{visibility:challenge.showWebDisplayButton?'':'hidden'}},'\\u67E5\\u770B\\u6548\\u679C'),!gameBuilding&&game&&!!game.prev_game?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__[\"b\" /* Link */],{to:'/tasks/'+game.prev_game,className:classes.buttonText},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{size:'small',className:classes.button},'\\u4E0A\\u4E00\\u5173')):'',!gameBuilding&&(game&&(game.status===2||shixun.status<2)||shixun&&shixun.task_pass)&&!!game.next_game?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__[\"b\" /* Link */],{to:'/tasks/'+game.next_game,className:classes.buttonText},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{size:'small',className:classes.button},'\\u4E0B\\u4E00\\u5173')):'',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'code_test'},st===1&&game.status===2?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip___default.a,{title:\"已通关的选择题任务无法再次测评\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'shixun-task-btn mr15 gray'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'fa fa-play-circle font-16'}),'\\u6D4B\\u8BC4')):gameBuilding?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'shixun-task-btn mr15 gray'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'fa fa-play-circle font-16'}),'\\u6D4B\\u8BC4'):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'shixun-task-btn mr15 ',onClick:onRunCodeTest},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'fa fa-play-circle font-16'}),'\\u6D4B\\u8BC4')));/*\t\r\n\t \t离开\r\n\r\n\t \t下一关 \r\n\r\n\t\t\tonclick=\"training_task_submmit();\"\r\n\r\n\r\n\t\t\t{game && !!game.prev_game ? \r\n\t\t\t\t
    \r\n\t\t\t\t\t上一关\r\n\t\t\t\t
    \r\n\t\t\t\t\t: ''}\r\n\r\n\t\t\t\t{game && !!game.next_game ? \r\n\t\t\t\t
    \t\r\n\t\t\t\t\t下一关\r\n\t\t\t\t
    \r\n\t\t\t\t\t: ''}\r\n\t */}}]);return ActionView;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__[\"withStyles\"])(styles)(ActionView));\n\n/***/ }),\n/* 829 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 830 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__LeftView__ = __webpack_require__(831);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_immutability_helper__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__comment_CommentsHOC__ = __webpack_require__(604);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layers_ImageLayer__ = __webpack_require__(320);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_educoder__ = __webpack_require__(42);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i{debugger;$('#tab_nav_4')[0].click();}, 500)\nvar $=window.$;// TODO 多次load katex\n// TODO 从前一题切换到下一题,前一题的过关任务会闪现后再出现下一题的过关任务,考虑将loading的状态置后改动?\n// 任务切换重置state \nthis.setState({gameAnswer:''});window['__answerMarkdown']&&window.__answerMarkdown.setMarkdown('...');if(window['__task_md']){// 400ms后,等loading状态消失,调用setMarkdown才有效\nsetTimeout(function(){// 注意,如果md没完全初始化,调用setMarkdown会报this.cm.setValue空指针错误\nwindow['__task_md'].cm&&window['__task_md'].setMarkdown(newProps.challenge.task_pass);},400);this._initPropaedeuticsMarkdown(newProps);return;}else{// window.editormd.loadKaTeX( ()=> {\nthis._initMarkdown(newProps);// });\n}}// 切换了实训\nif(newProps.shixun&&newProps.challenge.shixun&&(!this.props||newProps.shixun.id!=this.props.shixun.id)){this.setState({gameAnswer:'',comments:[],comment_count_without_reply:0,currentPage:1,tabIndex:0});}}},{key:'_initPropaedeuticsMarkdown',value:function _initPropaedeuticsMarkdown(newProps){// challenge\nif(!newProps.shixun){return;}// TODO BUG 从选择题切换下一题到编程题,propaedeutics显示不出来\n// 如果watch设置为false,改变浏览器高度,editormd内容会消失\nif(!this.knowledge_md&&newProps.shixun.propaedeutics){this.knowledge_md=window.editormd(\"game_ready_knowledge\",{htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,mode:'markdown',path:path,toolbar:false,readOnly:true,watch:true,markdown:newProps.shixun.propaedeutics,tex:true,// 数学公式\nflowChart:false,// 默认不解析\nsequenceDiagram:false// 默认不解析\n// onload : function(){\n// this.previewing();\t// 注释了这个后,另一个md的onload previewing也不触发了\n// }\n});window.knowledge_md=this.knowledge_md;}else{newProps.shixun.propaedeutics&&this.knowledge_md.setMarkdown(newProps.shixun.propaedeutics);}}},{key:'_initMarkdown',value:function _initMarkdown(newProps){var _this2=this;this.task_md=window.editormd(\"game_task_pass\",{htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,mode:'markdown',path:path,toolbar:false,readOnly:true,watch:true,markdown:newProps.challenge.task_pass,tex:true,// 数学公式\nflowChart:false,// 默认不解析\nsequenceDiagram:false,// 默认不解析\nonload:function onload(){try{this.previewing();}catch(e){this.previewing();console.error(e);}// 改动了editormd源码,codemirror对象存在的话就不重新加载codemirror脚本,避免merge被覆盖掉\n// window.editormd.loadScript(\"js/merge.js\", function() {\n// });\n}});window.__task_md=this.task_md;// 过关任务 imagelayer的处理:\n$(\"#game_task_pass\").delegate(\"img\",\"click\",function(event){var imageSrc=event.target.src;_this2.setState({showImage:true,imageSrc:imageSrc});});// 初始化知识背景\nthis._initPropaedeuticsMarkdown(newProps);}},{key:'componentDidMount',value:function componentDidMount(){var _this3=this;this.newMessageIntervalRet=setInterval(function(){var _props=_this3.props,shixun=_props.shixun,myshixun=_props.myshixun;if(shixun&&shixun.id){// TODO 用了HOC后,会多执行一次interval,而且props里没有HOC里的方法\n_this3.props.newMessage&&_this3.props.newMessage();}},1000*60*1);}},{key:'componentWillUnmount',value:function componentWillUnmount(){this.newMessageIntervalRet&&clearInterval(this.newMessageIntervalRet);$(\"#game_left_contents #tab_con_4\").undelegate();}},{key:'handleDialogClose',value:function handleDialogClose(){this.setState({dialogOpen:false});}},{key:'fetchIfCouldGetAnswerWithoutGold',value:function fetchIfCouldGetAnswerWithoutGold(){var _this4=this;// 查看是否有权限直接查看,true可以直接查看,false需要扣金币查看\nvar getAnswerUrl='/api/v1/games/'+this.props.game.identifier+'/answer';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(getAnswerUrl,{withCredentials:true}).then(function(response){if(response.data.status==0){_this4.props.showSnackbar(response.data.message);return;}/*\r\n\t\t\t\t\t将扣除XXX点金币,是否确认查看答案     \r\n\r\n\t\t\t\t\t已经过职业认证的教师可以免金币查看答案哟\r\n\t\t\t\t\t继续查看 立即认证(新开页)\r\n\t\t\t \t*/if(response.data.status==-1){console.error('获取任务答案失败!');return;}var is_teacher=response.data.is_teacher;if(response.data.view_answer===true){_this4.showAnswer(response.data.answer);}else{// 三个角色 普通用户、未认证教师、已认证教师,这里要区分普通用户和未认证教师用户\nif(is_teacher){_this4.setState({is_teacher:true});}else{_this4.setState({is_teacher:false});}_this4.setState({dialogOpen:true});}}).catch(function(error){console.log(error);});}},{key:'showAnswer',value:function showAnswer(gameAnswer){var _this5=this;this.setState({tabIndex:2,dialogOpen:false,gameAnswer:gameAnswer},function(){if(_this5.props.st===1){return;}// 编程题才需要用markdown处理\n// TODO 选择题切到编程题后,编程题答案markdown没显示出来\ngameAnswer=gameAnswer||'暂未提供答案';if(!window['__answerMarkdown']){_this5._initAnswerMarkdown(gameAnswer);}else{window.__answerMarkdown.setMarkdown(gameAnswer);}// 不能setMarkdown的写法:初始化answer\n// window.answerMarkdown = window.editormd.markdownToHTML(\"game_answer_show\", {\n// htmlDecode : \"style,script,iframe\", // you can filter tags decode\n// taskList : true,\n// tex : false, // 数学公式\n// flowChart : true, // 默认不解析\n// sequenceDiagram : true // 默认不解析\n// });\n});}},{key:'_initAnswerMarkdown',value:function _initAnswerMarkdown(gameAnswer){window.__answerMarkdown=window.editormd(\"game_answer_show\",{htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,mode:'markdown',path:path,toolbar:false,readOnly:true,watch:true,markdown:gameAnswer,tex:true,// 数学公式\nflowChart:false,// 默认不解析\nsequenceDiagram:false,// 默认不解析\nonload:function onload(){this.previewing();// 为了解决切换一次关卡后,再点击答案,看不到答案的问题\nthis.setMarkdown(gameAnswer);}});}},{key:'handleDialogReadAnswer',value:function handleDialogReadAnswer(){var _this6=this;var getAnswerUrl='/api/v1/games/'+this.props.game.identifier+'/answer_grade';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(getAnswerUrl,{withCredentials:true}).then(function(response){// {message: \"您没有足够的金币\", status: -1}\nif(response.data.status==0){_this6.props.showSnackbar(response.data.message);return;}if(response.data.status==-1){console.error('获取任务答案失败!');return;}var gameAnswer=response.data.answer;var final_score=response.data.final_score;var grade=response.data.grade;_this6.props.readGameAnswer({final_score:final_score,grade:grade});_this6.showAnswer(gameAnswer);}).catch(function(error){console.log(error);});}},{key:'render',// /shixuns/mnf6b7z3/shixun_discuss?challenge_id=88\nvalue:function render(){var challenge=this.props.challenge;var tabIndex=this.state.tabIndex;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__layers_ImageLayer__[\"a\" /* default */],Object.assign({},this.state,{onImageLayerClose:this.onImageLayerClose})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__LeftView__[\"a\" /* default */],Object.assign({},this.props,{tabIndexChange:this.tabIndexChange},this.state,{tabIndex:tabIndex,handleDialogReadAnswer:this.handleDialogReadAnswer,handleDialogClose:this.handleDialogClose,showNewReply:this.showNewReply,createNewComment:this.createNewComment})));}}]);return LeftViewContainer;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/*\r\n\tcreateNewComment={this.createNewComment}\r\n\t\t \t\tfetchCommentIfNotFetched={this.fetchCommentIfNotFetched}\r\n\t\t \t\treplyComment={this.replyComment}\r\n\t\t \t\tdeleteComment={this.deleteComment}\r\n\t\t \t\tcommentPraise={this.commentPraise}\r\n\t\t \t\thiddenComment={this.hiddenComment}\r\n\t\t \t\trewardCode={this.rewardCode}\r\n\t\t \t\tshowNewReply={this.showNewReply}\r\n\t\t \t\tonPaginationChange={this.onPaginationChange}\r\n\r\n*//* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_4__comment_CommentsHOC__[\"a\" /* commentHOC */])(LeftViewContainer));\n\n/***/ }),\n/* 831 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_content_loader__ = __webpack_require__(832);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Progress___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton__ = __webpack_require__(139);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__comment_CommentContainer__ = __webpack_require__(600);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__comment_CommentInput__ = __webpack_require__(398);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_markdown__ = __webpack_require__(874);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_markdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_markdown__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__component_ChooseAnswerView__ = __webpack_require__(952);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__answer_AnswerListContainer__ = __webpack_require__(987);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__leftView_css__ = __webpack_require__(1544);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__leftView_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__leftView_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i,\n// ,\n// ];\nreturn __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog___default.a,{open:dialogOpen,onClose:handleDialogClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},is_teacher?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5DF2\\u7ECF\\u8FC7\\u804C\\u4E1A\\u8BA4\\u8BC1\\u7684\\u6559\\u5E08\\u53EF\\u4EE5\\u514D\\u91D1\\u5E01\\u67E5\\u770B\\u7B54\\u6848\\u54DF~'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5C06\\u6263\\u9664'+challenge.score+'\\u70B9\\u91D1\\u5E01\\uFF0C\\u662F\\u5426\\u786E\\u8BA4\\u67E5\\u770B\\u7B54\\u6848')):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5148\\u67E5\\u770B\\u53C2\\u8003\\u7B54\\u6848\\uFF0C\\u518D\\u901A\\u8FC7\\u8BC4\\u6D4B\\u7684\\u5B66\\u751F\\uFF0C\\u5B9E\\u8BAD\\u4F5C\\u4E1A\\u6709\\u53EF\\u80FD\\u662F\\u96F6\\u5206\\u54E6~'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5C06\\u6263\\u9664'+challenge.score+'\\u70B9\\u91D1\\u5E01\\uFF0C\\u662F\\u5426\\u786E\\u8BA4\\u67E5\\u770B\\u7B54\\u6848')))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default.a,{onClick:handleDialogClose,color:'primary'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default.a,{size:'medium',variant:is_teacher?\"flat\":\"raised\",onClick:handleDialogReadAnswer,color:'primary',autoFocus:true},is_teacher?'继续查看':'确定'),is_teacher?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default.a,{size:'small',variant:'raised',style:{marginRight:'20px'},onClick:function onClick(){return _this2.goToCertification();},color:'primary'},'立即认证'):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-fit -layout-v'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -flex -bg-white -task-ml80'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'task_name_section',className:'task_name_section'},loading?\"\":__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip___default.a,{title:\"点击查看全部任务\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton___default.a,{color:'default',mini:true,'aria-label':'edit',className:classes.button,onClick:onDrawerButtonClick},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:\"fa font-18 fa-list-ul\"}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('h3',{className:'subject'},'\\u7B2C',challenge.position,'\\u5173\\uFF1A',challenge.subject),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'btn-cir-big fr mt8 mr15'},challenge.score))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('ul',{id:'tab_nav',className:'-tab-nav'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_1',className:tabIndex===0?'tab_hover':'',onClick:function onClick(){return tabIndexChange(0);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type',style:{fontSize:'16px'}},'\\u8FC7\\u5173\\u4EFB\\u52A1')),propaedeutics&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_2',className:tabIndex===1?'tab_hover':'',onClick:function onClick(){return tabIndexChange(1);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type'},'\\u80CC\\u666F\\u77E5\\u8BC6')),_hasAnswer&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_3',className:tabIndex===2?'tab_hover':'',onClick:function onClick(){return tabIndexChange(2);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type',style:{fontSize:'16px'}},'\\u53C2\\u8003\\u7B54\\u6848')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_5',className:tabIndex===4?'tab_hover':'',onClick:function onClick(){return tabIndexChange(4);},style:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type',style:{fontSize:'16px'}},'TA\\u4EBA\\u89E3\\u7B54')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_4',className:tabIndex===3?'tab_hover':'',onClick:function onClick(){return tabIndexChange(3);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'tab_type',style:{fontSize:'16px'},'data-remote':'true'},'\\u8BC4\\u8BBA',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'discusses_count',className:'edu-cir-grey1',style:{lineHeight:'18px!important'}},discusses_count||\"\")))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -relative greytab-inner'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_1',className:'tab-info',style:tabIndex===0?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},loading?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li break_word markdown-body editormd-html-preview',unselectable:'on'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,className:'circularProgress',style:{marginLeft:'auto',marginRight:'auto',marginTop:'40% !important',display:'block'}})):\"\",__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li break_word markdown-body editormd-html-preview',unselectable:'on',id:'game_task_pass',style:loading?{display:'none'}:{}})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_2',className:'tab-info',style:tabIndex===1?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li markdown-body editormd-html-preview',unselectable:'on',id:'game_ready_knowledge'})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_3',className:'tab-info',style:tabIndex===2?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li',id:'game_answer_show',style:{display:st===0?'block':'none'}}),st===1?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li',id:'game_answer_show_choose'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10__component_ChooseAnswerView__[\"a\" /* default */],{gameAnswer:gameAnswer})):''))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_5',className:'tab-info',style:tabIndex===4?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_12__answer_AnswerListContainer__[\"a\" /* default */],this.props)))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_4',className:'tab-info commentsDelegateParent',style:tabIndex===3?{display:'block'}:{display:'none'}},loadingComments?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{marginLeft:'auto',marginRight:'auto',marginTop:'40%',display:'block'}}):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__comment_CommentContainer__[\"default\"],this.props))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'mini_comment_section'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__comment_CommentInput__[\"a\" /* default */],Object.assign({challenge:challenge},this.props))))));}}]);return LeftView;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);// \n// {/**/}\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_11_material_ui_styles__[\"withStyles\"])(styles)(LeftView));\n\n/***/ }),\n/* 832 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Facebook */\n/* unused harmony export Instagram */\n/* unused harmony export Code */\n/* unused harmony export List */\n/* unused harmony export BulletList */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar uid = (function () {\n return Math.random().toString(36).substring(2);\n});\n\nvar Svg = (function (_ref) {\n var animate = _ref.animate,\n ariaLabel = _ref.ariaLabel,\n children = _ref.children,\n className = _ref.className,\n height = _ref.height,\n preserveAspectRatio = _ref.preserveAspectRatio,\n primaryColor = _ref.primaryColor,\n primaryOpacity = _ref.primaryOpacity,\n rtl = _ref.rtl,\n secondaryColor = _ref.secondaryColor,\n secondaryOpacity = _ref.secondaryOpacity,\n speed = _ref.speed,\n style = _ref.style,\n uniquekey = _ref.uniquekey,\n width = _ref.width,\n props = _objectWithoutPropertiesLoose(_ref, [\"animate\", \"ariaLabel\", \"children\", \"className\", \"height\", \"preserveAspectRatio\", \"primaryColor\", \"primaryOpacity\", \"rtl\", \"secondaryColor\", \"secondaryOpacity\", \"speed\", \"style\", \"uniquekey\", \"width\"]);\n\n var idClip = uniquekey ? uniquekey + \"-idClip\" : uid();\n var idGradient = uniquekey ? uniquekey + \"-idGradient\" : uid();\n var defautlAnimation = [\"-3; 1\", \"-2; 2\", \"-1; 3\"];\n var rtlAnimation = [\"1; -3\", \"2; -2\", \"3; -1\"];\n var animationValues = rtl ? rtlAnimation : defautlAnimation;\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"svg\", _extends({\n role: \"img\",\n style: style,\n className: className,\n \"aria-labelledby\": ariaLabel ? ariaLabel : null,\n viewBox: \"0 0 \" + width + \" \" + height,\n preserveAspectRatio: preserveAspectRatio\n }, props), ariaLabel ? Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"title\", null, ariaLabel) : null, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n width: width,\n height: height,\n clipPath: \"url(#\" + idClip + \")\",\n style: {\n fill: \"url(#\" + idGradient + \")\"\n }\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"defs\", null, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"clipPath\", {\n id: idClip\n }, children), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"linearGradient\", {\n id: idGradient\n }, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"stop\", {\n offset: \"0%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[0],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"stop\", {\n offset: \"50%\",\n stopColor: secondaryColor,\n stopOpacity: secondaryOpacity\n }, animate && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[1],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"stop\", {\n offset: \"100%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[2],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })))));\n});\n\nvar defaultProps = {\n animate: true,\n ariaLabel: \"Loading interface...\",\n height: 130,\n preserveAspectRatio: \"xMidYMid meet\",\n primaryColor: \"#f0f0f0\",\n primaryOpacity: 1,\n rtl: false,\n secondaryColor: \"#e0e0e0\",\n secondaryOpacity: 1,\n speed: 2,\n width: 400\n};\n\nvar InitialComponent = function InitialComponent(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"5\",\n ry: \"5\",\n width: props.width,\n height: props.height\n });\n};\n\nvar Holder = (function (props) {\n var mergedProps = _extends({}, defaultProps, props);\n\n var children = props.children ? props.children : Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(InitialComponent, mergedProps);\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Svg, mergedProps, children);\n});\n\nvar FacebookStyle = function FacebookStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"70\",\n y: \"15\",\n rx: \"4\",\n ry: \"4\",\n width: \"117\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"70\",\n y: \"35\",\n rx: \"3\",\n ry: \"3\",\n width: \"85\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"350\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"380\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"120\",\n rx: \"3\",\n ry: \"3\",\n width: \"201\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }));\n};\n\nvar InstagramStyle = function InstagramStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, _extends({}, props, {\n height: 480\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"75\",\n y: \"13\",\n rx: \"4\",\n ry: \"4\",\n width: \"100\",\n height: \"13\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"75\",\n y: \"37\",\n rx: \"4\",\n ry: \"4\",\n width: \"50\",\n height: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"70\",\n rx: \"5\",\n ry: \"5\",\n width: \"400\",\n height: \"400\"\n }));\n};\n\nvar CodeStyle = function CodeStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"70\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"80\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"100\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"190\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"10\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"15\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"155\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"15\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"90\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"115\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"185\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"30\",\n height: \"10\"\n }));\n};\n\nvar ListStyle = function ListStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"170\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"200\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"80\",\n height: \"10\"\n }));\n};\n\nvar BulletListStyle = function BulletListStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"20\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"15\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"50\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"45\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"80\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"75\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"110\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"105\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }));\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Holder);\n\n\n\n/***/ }),\n/* 833 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _colorManipulator = __webpack_require__(113);\n\nvar _ButtonBase = _interopRequireDefault(__webpack_require__(176));\n\nvar _helpers = __webpack_require__(39);\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n width: 48,\n height: 48,\n padding: 0,\n borderRadius: '50%',\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n },\n colorInherit: {\n color: 'inherit'\n },\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n disabled: {},\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/style/icons) section of the documentation\n * regarding the available icon options.\n */\n\n\nexports.styles = styles;\n\nfunction IconButton(props) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n className = props.className,\n color = props.color,\n disabled = props.disabled,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"disabled\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames), className),\n centerRipple: true,\n focusRipple: true,\n disabled: disabled\n }, other), _react.default.createElement(\"span\", {\n className: classes.label\n }, children));\n}\n\nIconButton.propTypes = false ? {\n /**\n * The icon element.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple will be disabled.\n */\n disableRipple: _propTypes.default.bool\n} : {};\nIconButton.defaultProps = {\n color: 'default',\n disabled: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiIconButton'\n})(IconButton);\n\nexports.default = _default;\n\n/***/ }),\n/* 834 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Pager__ = __webpack_require__(857);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Options__ = __webpack_require__(858);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__KeyCode__ = __webpack_require__(396);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__locale_zh_CN__ = __webpack_require__(859);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_lifecycles_compat__ = __webpack_require__(11);\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.pageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nvar Pagination = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Pagination, _React$Component);\n\n function Pagination(props) {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Pagination);\n\n var _this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Pagination.__proto__ || Object.getPrototypeOf(Pagination)).call(this, props));\n\n _initialiseProps.call(_this);\n\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n\n var current = props.defaultCurrent;\n if ('current' in props) {\n current = props.current;\n }\n\n var pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = props.pageSize;\n }\n\n _this.state = {\n current: current,\n currentInputValue: current,\n pageSize: pageSize\n };\n return _this;\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(Pagination, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector('.' + prefixCls + '-item-' + prevState.current);\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.props.hideOnSinglePage === true && this.props.total <= this.state.pageSize) {\n return null;\n }\n\n var props = this.props;\n var locale = props.locale;\n\n var prefixCls = props.prefixCls;\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n\n var goButton = props.showQuickJumper && props.showQuickJumper.goButton;\n var pageBufferSize = props.showLessItems ? 1 : 2;\n var _state = this.state,\n current = _state.current,\n pageSize = _state.pageSize;\n\n\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n\n var dataOrAriaAttributeProps = Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n\n if (props.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'span',\n {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n goButton\n );\n }\n gotoButton = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? '' + locale.jump_to + this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n gotoButton\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'ul',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n className: prefixCls + ' ' + prefixCls + '-simple ' + props.className,\n style: props.style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: (this.hasPrev() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': !this.hasPrev()\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement('input', {\n type: 'text',\n value: this.state.currentInputValue,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n size: '3'\n }),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'span',\n { className: prefixCls + '-slash' },\n '\\uFF0F'\n ),\n allPages\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: (this.hasNext() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': !this.hasNext()\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n gotoButton\n );\n }\n\n if (allPages <= 5 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n };\n if (!allPages) {\n pagerList.push(__WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, pagerProps, {\n key: 'noPager',\n page: allPages,\n className: prefixCls + '-disabled'\n })));\n }\n for (var i = 1; i <= allPages; i++) {\n var active = this.state.current === i;\n pagerList.push(__WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = props.showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = props.showLessItems ? locale.next_3 : locale.next_5;\n if (props.showPrevNextJumpers) {\n var jumpPrevClassString = prefixCls + '-jump-prev';\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ' ' + prefixCls + '-jump-prev-custom-icon';\n }\n jumpPrev = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? prevItemTitle : null,\n key: 'prev',\n onClick: this.jumpPrev,\n tabIndex: '0',\n onKeyPress: this.runIfEnterJumpPrev,\n className: jumpPrevClassString\n },\n props.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(props.jumpPrevIcon))\n );\n var jumpNextClassString = prefixCls + '-jump-next';\n if (props.jumpNextIcon) {\n jumpNextClassString += ' ' + prefixCls + '-jump-next-custom-icon';\n }\n jumpNext = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? nextItemTitle : null,\n key: 'next',\n tabIndex: '0',\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: jumpNextClassString\n },\n props.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(props.jumpNextIcon))\n );\n }\n lastPager = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], {\n locale: props.locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n firstPager = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i++) {\n var _active = current === _i;\n pagerList.push(__WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n }));\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(pagerList[0], {\n className: prefixCls + '-item-after-jump-prev'\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(pagerList[pagerList.length - 1], {\n className: prefixCls + '-item-before-jump-next'\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (props.showTotal) {\n totalText = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n { className: prefixCls + '-total-text' },\n props.showTotal(props.total, [(current - 1) * pageSize + 1, current * pageSize > props.total ? props.total : current * pageSize])\n );\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'ul',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n className: prefixCls + ' ' + props.className,\n style: props.style,\n unselectable: 'unselectable',\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n totalText,\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: (!prevDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': prevDisabled\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n pagerList,\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: (!nextDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': nextDisabled\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__Options__[\"a\" /* default */], {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: props.selectComponentClass,\n selectPrefixCls: props.selectPrefixCls,\n changeSize: this.props.showSizeChanger ? this.changePageSize : null,\n current: this.state.current,\n pageSize: this.state.pageSize,\n pageSizeOptions: this.props.pageSizeOptions,\n quickGo: this.props.showQuickJumper ? this.handleChange : null,\n goButton: goButton\n })\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n\n if ('current' in props) {\n newState.current = props.current;\n\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n\n return newState;\n }\n\n /**\n * computed icon node that need to be rendered.\n * @param {React.ReactNode | React.ComponentType} icon received icon.\n * @returns {React.ReactNode}\n */\n\n }]);\n\n return Pagination;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nPagination.propTypes = {\n prefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n current: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n defaultCurrent: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n total: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n pageSize: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n defaultPageSize: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n onChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n hideOnSinglePage: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n showSizeChanger: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n showLessItems: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n onShowSizeChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n selectComponentClass: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n showPrevNextJumpers: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n showQuickJumper: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object]),\n showTitle: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n pageSizeOptions: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n showTotal: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n locale: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n itemRender: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n prevIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n nextIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n jumpPrevIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n jumpNextIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])\n};\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showSizeChanger: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: __WEBPACK_IMPORTED_MODULE_10__locale_zh_CN__[\"a\" /* default */],\n style: {},\n itemRender: defaultItemRender\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.getJumpPrevPage = function () {\n return Math.max(1, _this2.state.current - (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this2.state, _this2.props), _this2.state.current + (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getItemIcon = function (icon) {\n var prefixCls = _this2.props.prefixCls;\n\n var iconNode = icon || __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement('a', { className: prefixCls + '-item-link' });\n if (typeof icon === 'function') {\n iconNode = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(icon, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, _this2.props));\n }\n return iconNode;\n };\n\n this.savePaginationNode = function (node) {\n _this2.paginationNode = node;\n };\n\n this.isValid = function (page) {\n return isInteger(page) && page >= 1 && page !== _this2.state.current;\n };\n\n this.handleKeyDown = function (e) {\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_UP || e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n this.handleKeyUp = function (e) {\n var inputValue = e.target.value;\n var currentInputValue = _this2.state.currentInputValue;\n var value = void 0;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else {\n value = Number(inputValue);\n }\n\n if (value !== currentInputValue) {\n _this2.setState({\n currentInputValue: value\n });\n }\n\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ENTER) {\n _this2.handleChange(value);\n } else if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_UP) {\n _this2.handleChange(value - 1);\n } else if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_DOWN) {\n _this2.handleChange(value + 1);\n }\n };\n\n this.changePageSize = function (size) {\n var current = _this2.state.current;\n var newCurrent = calculatePage(size, _this2.state, _this2.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = _this2.state.current;\n }\n\n if (typeof size === 'number') {\n if (!('pageSize' in _this2.props)) {\n _this2.setState({\n pageSize: size\n });\n }\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this2.props.onShowSizeChange(current, size);\n };\n\n this.handleChange = function (p) {\n var page = p;\n if (_this2.isValid(page)) {\n var currentPage = calculatePage(undefined, _this2.state, _this2.props);\n if (page > currentPage) {\n page = currentPage;\n }\n\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: page,\n currentInputValue: page\n });\n }\n\n var pageSize = _this2.state.pageSize;\n _this2.props.onChange(page, pageSize);\n\n return page;\n }\n\n return _this2.state.current;\n };\n\n this.prev = function () {\n if (_this2.hasPrev()) {\n _this2.handleChange(_this2.state.current - 1);\n }\n };\n\n this.next = function () {\n if (_this2.hasNext()) {\n _this2.handleChange(_this2.state.current + 1);\n }\n };\n\n this.jumpPrev = function () {\n _this2.handleChange(_this2.getJumpPrevPage());\n };\n\n this.jumpNext = function () {\n _this2.handleChange(_this2.getJumpNextPage());\n };\n\n this.hasPrev = function () {\n return _this2.state.current > 1;\n };\n\n this.hasNext = function () {\n return _this2.state.current < calculatePage(undefined, _this2.state, _this2.props);\n };\n\n this.runIfEnter = function (event, callback) {\n for (var _len = arguments.length, restParams = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n if (event.key === 'Enter' || event.charCode === 13) {\n callback.apply(undefined, restParams);\n }\n };\n\n this.runIfEnterPrev = function (e) {\n _this2.runIfEnter(e, _this2.prev);\n };\n\n this.runIfEnterNext = function (e) {\n _this2.runIfEnter(e, _this2.next);\n };\n\n this.runIfEnterJumpPrev = function (e) {\n _this2.runIfEnter(e, _this2.jumpPrev);\n };\n\n this.runIfEnterJumpNext = function (e) {\n _this2.runIfEnter(e, _this2.jumpNext);\n };\n\n this.handleGoTO = function (e) {\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ENTER || e.type === 'click') {\n _this2.handleChange(_this2.state.currentInputValue);\n }\n };\n};\n\nObject(__WEBPACK_IMPORTED_MODULE_11_react_lifecycles_compat__[\"polyfill\"])(Pagination);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Pagination);\n\n/***/ }),\n/* 835 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(836), __esModule: true };\n\n/***/ }),\n/* 836 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(837);\nmodule.exports = __webpack_require__(40).Object.assign;\n\n\n/***/ }),\n/* 837 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(44);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(838) });\n\n\n/***/ }),\n/* 838 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(131);\nvar gOPS = __webpack_require__(233);\nvar pIE = __webpack_require__(179);\nvar toObject = __webpack_require__(111);\nvar IObject = __webpack_require__(210);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(95)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 839 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(840);\nvar $Object = __webpack_require__(40).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 840 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(44);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(65), 'Object', { defineProperty: __webpack_require__(58).f });\n\n\n/***/ }),\n/* 841 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(842), __esModule: true };\n\n/***/ }),\n/* 842 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(218);\n__webpack_require__(345);\nmodule.exports = __webpack_require__(234).f('iterator');\n\n\n/***/ }),\n/* 843 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(844), __esModule: true };\n\n/***/ }),\n/* 844 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(845);\n__webpack_require__(343);\n__webpack_require__(848);\n__webpack_require__(849);\nmodule.exports = __webpack_require__(40).Symbol;\n\n\n/***/ }),\n/* 845 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(64);\nvar has = __webpack_require__(91);\nvar DESCRIPTORS = __webpack_require__(65);\nvar $export = __webpack_require__(44);\nvar redefine = __webpack_require__(344);\nvar META = __webpack_require__(220).KEY;\nvar $fails = __webpack_require__(95);\nvar shared = __webpack_require__(214);\nvar setToStringTag = __webpack_require__(165);\nvar uid = __webpack_require__(163);\nvar wks = __webpack_require__(52);\nvar wksExt = __webpack_require__(234);\nvar wksDefine = __webpack_require__(235);\nvar enumKeys = __webpack_require__(846);\nvar isArray = __webpack_require__(354);\nvar anObject = __webpack_require__(94);\nvar isObject = __webpack_require__(74);\nvar toIObject = __webpack_require__(92);\nvar toPrimitive = __webpack_require__(217);\nvar createDesc = __webpack_require__(132);\nvar _create = __webpack_require__(164);\nvar gOPNExt = __webpack_require__(847);\nvar $GOPD = __webpack_require__(236);\nvar $DP = __webpack_require__(58);\nvar $keys = __webpack_require__(131);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(395).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(179).f = $propertyIsEnumerable;\n __webpack_require__(233).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(162)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(84)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 846 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(131);\nvar gOPS = __webpack_require__(233);\nvar pIE = __webpack_require__(179);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 847 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(92);\nvar gOPN = __webpack_require__(395).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 848 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(235)('asyncIterator');\n\n\n/***/ }),\n/* 849 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(235)('observable');\n\n\n/***/ }),\n/* 850 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(851), __esModule: true };\n\n/***/ }),\n/* 851 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(852);\nmodule.exports = __webpack_require__(40).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 852 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(44);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(853).set });\n\n\n/***/ }),\n/* 853 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(74);\nvar anObject = __webpack_require__(94);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(93)(Function.call, __webpack_require__(236).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 854 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(855), __esModule: true };\n\n/***/ }),\n/* 855 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(856);\nvar $Object = __webpack_require__(40).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n/***/ }),\n/* 856 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(44);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(164) });\n\n\n/***/ }),\n/* 857 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n\n\n\nvar Pager = function Pager(props) {\n var prefixCls = props.rootPrefixCls + '-item';\n var cls = prefixCls + ' ' + prefixCls + '-' + props.page;\n\n if (props.active) {\n cls = cls + ' ' + prefixCls + '-active';\n }\n\n if (props.className) {\n cls = cls + ' ' + props.className;\n }\n\n if (!props.page) {\n cls = cls + ' ' + prefixCls + '-disabled';\n }\n\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: '0'\n },\n props.itemRender(props.page, 'page', __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n 'a',\n null,\n props.page\n ))\n );\n};\n\nPager.propTypes = {\n page: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,\n active: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n last: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n locale: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n showTitle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n onKeyPress: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n itemRender: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Pager);\n\n/***/ }),\n/* 858 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__KeyCode__ = __webpack_require__(396);\n\n\n\n\n\n\n\n\nvar Options = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Options, _React$Component);\n\n function Options(props) {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Options);\n\n var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Options.__proto__ || Object.getPrototypeOf(Options)).call(this, props));\n\n _this.buildOptionText = function (value) {\n return value + ' ' + _this.props.locale.items_per_page;\n };\n\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n\n _this.go = function (e) {\n var val = _this.state.goInputText;\n if (val === '') {\n return;\n }\n val = isNaN(val) ? _this.props.current : Number(val);\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_6__KeyCode__[\"a\" /* default */].ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(val);\n }\n };\n\n _this.state = {\n goInputText: ''\n };\n return _this;\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(Options, [{\n key: 'render',\n value: function render() {\n var props = this.props;\n var state = this.state;\n var locale = props.locale;\n var prefixCls = props.rootPrefixCls + '-options';\n var changeSize = props.changeSize;\n var quickGo = props.quickGo;\n var goButton = props.goButton;\n var buildOptionText = props.buildOptionText || this.buildOptionText;\n var Select = props.selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!(changeSize || quickGo)) {\n return null;\n }\n\n if (changeSize && Select) {\n var Option = Select.Option;\n var pageSize = props.pageSize || props.pageSizeOptions[0];\n var options = props.pageSizeOptions.map(function (opt, i) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n Option,\n { key: i, value: opt },\n buildOptionText(opt)\n );\n });\n\n changeSelect = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n Select,\n {\n prefixCls: props.selectPrefixCls,\n showSearch: false,\n className: prefixCls + '-size-changer',\n optionLabelProp: 'children',\n dropdownMatchSelectWidth: false,\n value: pageSize.toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n },\n options\n );\n }\n\n if (quickGo) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.go,\n onKeyUp: this.go\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'span',\n {\n onClick: this.go,\n onKeyUp: this.go\n },\n goButton\n );\n }\n }\n goInput = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: prefixCls + '-quick-jumper' },\n locale.jump_to,\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('input', {\n type: 'text',\n value: state.goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go\n }),\n locale.page,\n gotoButton\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'li',\n { className: '' + prefixCls },\n changeSelect,\n goInput\n );\n }\n }]);\n\n return Options;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);\n\nOptions.propTypes = {\n changeSize: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n quickGo: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n selectComponentClass: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n current: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageSizeOptions: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string),\n pageSize: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n buildOptionText: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n locale: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object\n};\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '30', '40']\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Options);\n\n/***/ }),\n/* 859 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n});\n\n/***/ }),\n/* 860 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 861 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar ROWS_HEIGHT = 19;\nvar styles = {\n root: {\n position: 'relative',\n // because the shadow has position: 'absolute',\n width: '100%'\n },\n textarea: {\n width: '100%',\n height: '100%',\n resize: 'none',\n font: 'inherit',\n padding: 0,\n cursor: 'inherit',\n boxSizing: 'border-box',\n lineHeight: 'inherit',\n border: 'none',\n outline: 'none',\n background: 'transparent'\n },\n shadow: {\n resize: 'none',\n // Overflow also needed to here to remove the extra row\n // added to textareas in Firefox.\n overflow: 'hidden',\n // Visibility needed to hide the extra text area on ipads\n visibility: 'hidden',\n position: 'absolute',\n height: 'auto',\n whiteSpace: 'pre-wrap'\n }\n};\n/**\n * @ignore - internal component.\n */\n\nexports.styles = styles;\n\nvar Textarea =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Textarea, _React$Component);\n\n function Textarea(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Textarea);\n _this = (0, _possibleConstructorReturn2.default)(this, (Textarea.__proto__ || (0, _getPrototypeOf.default)(Textarea)).call(this, props, context)); // expects the components it renders to respond to 'value'\n // so that it can check whether they are filled.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n height: null\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"shadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"singlelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"input\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"value\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n _this.syncHeightWithShadow();\n }, 166)\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefInput\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.input = node;\n\n if (_this.props.textareaRef) {\n _this.props.textareaRef(node);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefSinglelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.singlelineShadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.shadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleChange\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.value = event.target.value;\n\n if (typeof _this.props.value === 'undefined' && _this.shadow) {\n // The component is not controlled, we need to update the shallow value.\n _this.shadow.value = _this.value;\n\n _this.syncHeightWithShadow();\n }\n\n if (_this.props.onChange) {\n _this.props.onChange(event);\n }\n }\n });\n _this.value = props.value || props.defaultValue || '';\n _this.state = {\n height: Number(props.rows) * ROWS_HEIGHT\n };\n return _this;\n }\n\n (0, _createClass2.default)(Textarea, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleResize.cancel();\n }\n }, {\n key: \"syncHeightWithShadow\",\n // Corresponds to 10 frames at 60 Hz.\n value: function syncHeightWithShadow() {\n var props = this.props;\n\n if (!this.shadow || !this.singlelineShadow) {\n return;\n } // The component is controlled, we need to update the shallow value.\n\n\n if (typeof props.value !== 'undefined') {\n this.shadow.value = props.value == null ? '' : String(props.value);\n }\n\n var lineHeight = this.singlelineShadow.scrollHeight;\n var newHeight = this.shadow.scrollHeight; // Guarding for jsdom, where scrollHeight isn't present.\n // See https://github.com/tmpvar/jsdom/issues/1013\n\n if (newHeight === undefined) {\n return;\n }\n\n if (Number(props.rowsMax) >= Number(props.rows)) {\n newHeight = Math.min(Number(props.rowsMax) * lineHeight, newHeight);\n }\n\n newHeight = Math.max(newHeight, lineHeight); // Need a large enough different to update the height.\n // This prevents infinite rendering loop.\n\n if (Math.abs(this.state.height - newHeight) > 1) {\n this.setState({\n height: newHeight\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n defaultValue = _props.defaultValue,\n onChange = _props.onChange,\n rows = _props.rows,\n rowsMax = _props.rowsMax,\n textareaRef = _props.textareaRef,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"defaultValue\", \"onChange\", \"rows\", \"rowsMax\", \"textareaRef\", \"value\"]);\n return _react.default.createElement(\"div\", {\n className: classes.root,\n style: {\n height: this.state.height\n }\n }, _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefSinglelineShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: \"1\",\n readOnly: true,\n \"aria-hidden\": \"true\",\n value: \"\"\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: rows,\n \"aria-hidden\": \"true\",\n readOnly: true,\n defaultValue: defaultValue,\n value: value\n }), _react.default.createElement(\"textarea\", (0, _extends2.default)({\n rows: rows,\n className: (0, _classnames.default)(classes.textarea, className),\n defaultValue: defaultValue,\n value: value,\n onChange: this.handleChange,\n ref: this.handleRefInput\n }, other)));\n }\n }]);\n return Textarea;\n}(_react.default.Component);\n\nTextarea.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * @ignore\n */\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * @ignore\n */\n disabled: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onChange: _propTypes.default.func,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n rowsMax: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Use that property to pass a ref callback to the native textarea element.\n */\n textareaRef: _propTypes.default.func,\n\n /**\n * @ignore\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])\n} : {};\nTextarea.defaultProps = {\n rows: 1\n};\n\nvar _default = (0, _withStyles.default)(styles)(Textarea);\n\nexports.default = _default;\n\n/***/ }),\n/* 862 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n maxHeight: '2em',\n alignItems: 'center'\n },\n positionStart: {\n marginRight: theme.spacing.unit\n },\n positionEnd: {\n marginLeft: theme.spacing.unit\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputAdornment(props) {\n var _classNames;\n\n var children = props.children,\n Component = props.component,\n classes = props.classes,\n className = props.className,\n disableTypography = props.disableTypography,\n position = props.position,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"component\", \"classes\", \"className\", \"disableTypography\", \"position\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positionStart, position === 'start'), (0, _defineProperty2.default)(_classNames, classes.positionEnd, position === 'end'), _classNames), className)\n }, other), typeof children === 'string' && !disableTypography ? _react.default.createElement(_Typography.default, {\n color: \"textSecondary\"\n }, children) : children);\n}\n\nInputAdornment.propTypes = false ? {\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: _propTypes.default.oneOf(['start', 'end'])\n} : {};\nInputAdornment.defaultProps = {\n component: 'div',\n disableTypography: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputAdornment'\n})(InputAdornment);\n\nexports.default = _default;\n\n/***/ }),\n/* 863 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Form = __webpack_require__(155);\n\n// @inheritedComponent FormLabel\nvar styles = function styles(theme) {\n return {\n root: {\n transformOrigin: 'top left'\n },\n formControl: {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: \"translate(0, \".concat(theme.spacing.unit * 3, \"px) scale(1)\")\n },\n marginDense: {\n // Compensation for the `Input.inputDense` style.\n transform: \"translate(0, \".concat(theme.spacing.unit * 2.5 + 1, \"px) scale(1)\")\n },\n shrink: {\n transform: 'translate(0, 1.5px) scale(0.75)',\n transformOrigin: 'top left'\n },\n animated: {\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableAnimation = props.disableAnimation,\n FormLabelClasses = props.FormLabelClasses,\n marginProp = props.margin,\n shrinkProp = props.shrink,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableAnimation\", \"FormLabelClasses\", \"margin\", \"shrink\"]);\n var muiFormControl = context.muiFormControl;\n var shrink = shrinkProp;\n\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n\n var margin = marginProp;\n\n if (typeof margin === 'undefined' && muiFormControl) {\n margin = muiFormControl.margin;\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.formControl, muiFormControl), (0, _defineProperty2.default)(_classNames, classes.animated, !disableAnimation), (0, _defineProperty2.default)(_classNames, classes.shrink, shrink), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(_Form.FormLabel, (0, _extends2.default)({\n \"data-shrink\": shrink,\n className: className,\n classes: FormLabelClasses\n }, other), children);\n}\n\nInputLabel.propTypes = false ? {\n /**\n * The contents of the `InputLabel`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the transition animation is disabled.\n */\n disableAnimation: _propTypes.default.bool,\n\n /**\n * If `true`, apply disabled class.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label will be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused.\n */\n focused: _propTypes.default.bool,\n\n /**\n * `classes` property applied to the `FormLabel` element.\n */\n FormLabelClasses: _propTypes.default.object,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense']),\n\n /**\n * if `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool,\n\n /**\n * If `true`, the label is shrunk.\n */\n shrink: _propTypes.default.bool\n} : {};\nInputLabel.defaultProps = {\n disableAnimation: false\n};\nInputLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputLabel'\n})(InputLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 864 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(16),\n lineHeight: 1,\n padding: 0,\n '&$focused': {\n color: theme.palette.primary[theme.palette.type === 'light' ? 'dark' : 'light']\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n },\n '&$error': {\n color: theme.palette.error.main\n }\n },\n focused: {},\n disabled: {},\n error: {},\n asterisk: {\n '&$error': {\n color: theme.palette.error.main\n }\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n disabledProp = props.disabled,\n errorProp = props.error,\n focusedProp = props.focused,\n requiredProp = props.required,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"component\", \"disabled\", \"error\", \"focused\", \"required\"]);\n var muiFormControl = context.muiFormControl;\n var required = requiredProp;\n var focused = focusedProp;\n var disabled = disabledProp;\n var error = errorProp;\n\n if (muiFormControl) {\n if (typeof required === 'undefined') {\n required = muiFormControl.required;\n }\n\n if (typeof focused === 'undefined') {\n focused = muiFormControl.focused;\n }\n\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), children, required && _react.default.createElement(\"span\", {\n className: (0, _classnames.default)(classes.asterisk, (0, _defineProperty2.default)({}, classes.error, error))\n }, \"\\u2009*\"));\n}\n\nFormLabel.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: _propTypes.default.bool,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormLabel.defaultProps = {\n component: 'label'\n};\nFormLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormLabel'\n})(FormLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 865 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Input = __webpack_require__(237);\n\nvar _helpers = __webpack_require__(39);\n\nvar _reactHelpers = __webpack_require__(230);\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0\n },\n marginNormal: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit\n },\n marginDense: {\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit / 2\n },\n fullWidth: {\n width: '100%'\n }\n };\n};\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibilty and ensures that the state always stay\n * consitent across the children of the `FormControl`.\n * This context is used by the following components:\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n */\n\n\nexports.styles = styles;\n\nvar FormControl =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(FormControl, _React$Component);\n\n function FormControl(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, FormControl);\n _this = (0, _possibleConstructorReturn2.default)(this, (FormControl.__proto__ || (0, _getPrototypeOf.default)(FormControl)).call(this, props, context)); // We need to iterate through the children and find the Input in order\n // to fully support server side rendering.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n adornedStart: false,\n filled: false,\n focused: false\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState(function (state) {\n return !state.focused ? {\n focused: true\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // The event might be undefined.\n // For instance, a child component might call this hook\n // when an input is disabled but still having the focus.\n if (_this.props.onBlur && event) {\n _this.props.onBlur(event);\n }\n\n _this.setState(function (state) {\n return state.focused ? {\n focused: false\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDirty\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (!_this.state.filled) {\n _this.setState({\n filled: true\n });\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClean\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.state.filled) {\n _this.setState({\n filled: false\n });\n }\n }\n });\n var children = _this.props.children;\n\n if (children) {\n _react.default.Children.forEach(children, function (child) {\n if (!(0, _reactHelpers.isMuiElement)(child, ['Input', 'Select'])) {\n return;\n }\n\n if ((0, _Input.isFilled)(child.props, true)) {\n _this.state.filled = true;\n }\n\n var input = (0, _reactHelpers.isMuiElement)(child, ['Select']) ? child.props.input : child;\n\n if (input && (0, _Input.isAdornedStart)(input.props)) {\n _this.state.adornedStart = true;\n }\n });\n }\n\n return _this;\n }\n\n (0, _createClass2.default)(FormControl, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _props = this.props,\n disabled = _props.disabled,\n error = _props.error,\n required = _props.required,\n margin = _props.margin;\n var _state = this.state,\n adornedStart = _state.adornedStart,\n filled = _state.filled,\n focused = _state.focused;\n return {\n muiFormControl: {\n adornedStart: adornedStart,\n disabled: disabled,\n error: error,\n filled: filled,\n focused: focused,\n margin: margin,\n onBlur: this.handleBlur,\n onEmpty: this.handleClean,\n onFilled: this.handleDirty,\n onFocus: this.handleFocus,\n required: required\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props2 = this.props,\n classes = _props2.classes,\n className = _props2.className,\n Component = _props2.component,\n disabled = _props2.disabled,\n error = _props2.error,\n fullWidth = _props2.fullWidth,\n margin = _props2.margin,\n required = _props2.required,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"classes\", \"className\", \"component\", \"disabled\", \"error\", \"fullWidth\", \"margin\", \"required\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"margin\".concat((0, _helpers.capitalize)(margin))], margin !== 'none'), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), className)\n }, other, {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }));\n }\n }]);\n return FormControl;\n}(_react.default.Component);\n\nFormControl.propTypes = false ? {\n /**\n * The contents of the form control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the component will take up the full width of its container.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n */\n margin: _propTypes.default.oneOf(['none', 'dense', 'normal']),\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormControl.defaultProps = {\n component: 'div',\n disabled: false,\n error: false,\n fullWidth: false,\n margin: 'none',\n required: false\n};\nFormControl.childContextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControl'\n})(FormControl);\n\nexports.default = _default;\n\n/***/ }),\n/* 866 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(12),\n textAlign: 'left',\n marginTop: theme.spacing.unit,\n lineHeight: '1em',\n minHeight: '1em',\n margin: 0,\n '&$error': {\n color: theme.palette.error.main\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n },\n error: {},\n disabled: {},\n marginDense: {\n marginTop: theme.spacing.unit / 2\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormHelperText(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n disabledProp = props.disabled,\n errorProp = props.error,\n marginProp = props.margin,\n Component = props.component,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"disabled\", \"error\", \"margin\", \"component\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n var error = errorProp;\n var margin = marginProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n\n if (typeof margin === 'undefined') {\n margin = muiFormControl.margin;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nFormHelperText.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense'])\n} : {};\nFormHelperText.defaultProps = {\n component: 'p'\n};\nFormHelperText.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormHelperText'\n})(FormHelperText);\n\nexports.default = _default;\n\n/***/ }),\n/* 867 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\n/* eslint-disable jsx-a11y/label-has-for */\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n // Remove grey highlight\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -14,\n marginRight: theme.spacing.unit * 2,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n disabled: {},\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\n\nexports.styles = styles;\n\nfunction FormControlLabel(props, context) {\n var checked = props.checked,\n classes = props.classes,\n classNameProp = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0, _objectWithoutProperties2.default)(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"name\", \"onChange\", \"value\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n\n if (typeof control.props.disabled !== 'undefined') {\n if (typeof disabled === 'undefined') {\n disabled = control.props.disabled;\n }\n }\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp);\n return _react.default.createElement(\"label\", (0, _extends2.default)({\n className: className\n }, other), _react.default.cloneElement(control, {\n disabled: disabled,\n checked: typeof control.props.checked === 'undefined' ? checked : control.props.checked,\n name: control.props.name || name,\n onChange: control.props.onChange || onChange,\n value: control.props.value || value,\n inputRef: control.props.inputRef || inputRef\n }), _react.default.createElement(_Typography.default, {\n component: \"span\",\n className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.disabled, disabled))\n }, label));\n}\n\nFormControlLabel.propTypes = false ? {\n /**\n * If `true`, the component appears selected.\n */\n checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: _propTypes.default.element,\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * Use that property to pass a ref callback to the native input component.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: _propTypes.default.node,\n\n /*\n * @ignore\n */\n name: _propTypes.default.string,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.checked`.\n * @param {boolean} checked The `checked` value of the switch\n */\n onChange: _propTypes.default.func,\n\n /**\n * The value of the component.\n */\n value: _propTypes.default.string\n} : {};\nFormControlLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 868 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_classnames__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i\\n
    \"0?1442652658\"
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\u53D1\\u9001\\n
    \\n

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n');//\" ide语法识别\n$(reply_iconup_el).show();$(function(){window.sd_create_editor_from_data(id,null,\"100%\",\"Discuss\");});}else{if($(reply_message_el).is(':visible')){$(reply_message_el).hide();}else{$(reply_message_el).show();}// $(reply_message_el).html(\"\");\n// $(reply_iconup_el).hide();\n}// 自动focus\nsetTimeout(function(){var iframe=$('#reply_to_message_'+id).find('iframe')[0];iframe&&iframe.contentDocument.body.focus();},200);},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(CommentItemKEEditor,[{key:'componentDidUpdate',value:function componentDidUpdate(prevProps){var _props=this.props,item=_props.item,currentReplyComment=_props.currentReplyComment;if(prevProps.showReplyEditorFlag!=this.props.showReplyEditorFlag&¤tReplyComment&¤tReplyComment.id==item.id){this.showOrHideEditor(currentReplyComment);}}// 如果未初始化,会先初始化\n},{key:'render',value:function render(){var _props2=this.props,match=_props2.match,history=_props2.history,item=_props2.item,user=_props2.user;if(!item){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null);}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'reply_message_'+item.id,className:'reply_to_message'}));}}]);return CommentItemKEEditor;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (CommentItemKEEditor);\n\n/***/ }),\n/* 869 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CommentItemMDEditor_css__ = __webpack_require__(870);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CommentItemMDEditor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__CommentItemMDEditor_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 0) {\n plugins.push(disallowNode.ofType(disallowedTypes, removalMethod));\n }\n\n if (props.allowNode) {\n plugins.push(disallowNode.ifNotMatch(props.allowNode, removalMethod));\n }\n\n var renderHtml = !props.escapeHtml && !props.skipHtml;\n if (renderHtml) {\n plugins.push(naiveHtml);\n }\n\n return props.astPlugins ? plugins.concat(props.astPlugins) : plugins;\n}\n\nReactMarkdown.defaultProps = {\n renderers: {},\n escapeHtml: true,\n skipHtml: false,\n sourcePos: false,\n rawSourcePos: false,\n transformLinkUri: uriTransformer,\n astPlugins: [],\n plugins: []\n};\n\nReactMarkdown.propTypes = {\n className: PropTypes.string,\n source: PropTypes.string,\n children: PropTypes.string,\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n escapeHtml: PropTypes.bool,\n skipHtml: PropTypes.bool,\n allowNode: PropTypes.func,\n allowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n disallowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n astPlugins: PropTypes.arrayOf(PropTypes.func),\n unwrapDisallowed: PropTypes.bool,\n renderers: PropTypes.object,\n plugins: PropTypes.array\n};\n\nReactMarkdown.types = allTypes;\nReactMarkdown.renderers = defaultRenderers;\nReactMarkdown.uriTransformer = uriTransformer;\n\nmodule.exports = ReactMarkdown;\n\n/***/ }),\n/* 875 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* Dependencies. */\nvar extend = __webpack_require__(876)\nvar bail = __webpack_require__(877)\nvar vfile = __webpack_require__(878)\nvar trough = __webpack_require__(883)\nvar string = __webpack_require__(885)\nvar plain = __webpack_require__(886)\n\n/* Expose a frozen processor. */\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n/* Process pipeline. */\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(err, tree, file) {\n if (err) {\n next(err)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n ctx.file.contents = p.stringify(ctx.tree, ctx.file)\n}\n\n/* Function to create the first processor. */\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var frozen = false\n var freezeIndex = -1\n\n /* Data management. */\n processor.data = data\n\n /* Lock. */\n processor.freeze = freeze\n\n /* Plug-ins. */\n processor.attachers = attachers\n processor.use = use\n\n /* API. */\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n /* Expose. */\n return processor\n\n /* Create a new processor based on the processor\n * in the current scope. */\n function processor() {\n var destination = unified()\n var length = attachers.length\n var index = -1\n\n while (++index < length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /* Freeze: used to signal a processor that has finished\n * configuration.\n *\n * For example, take unified itself. It’s frozen.\n * Plug-ins should not be added to it. Rather, it should\n * be extended, by invoking it, before modifying it.\n *\n * In essence, always invoke this when exporting a\n * processor. */\n function freeze() {\n var values\n var plugin\n var options\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n plugin = values[0]\n options = values[1]\n transformer = null\n\n if (options === false) {\n continue\n }\n\n if (options === true) {\n values[1] = undefined\n }\n\n transformer = plugin.apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n /* Data management.\n * Getter / setter for processor-specific informtion. */\n function data(key, value) {\n if (string(key)) {\n /* Set `key`. */\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n\n namespace[key] = value\n\n return processor\n }\n\n /* Get `key`. */\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n /* Set space. */\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n /* Get space. */\n return namespace\n }\n\n /* Plug-in management.\n *\n * Pass it:\n * * an attacher and options,\n * * a preset,\n * * a list of presets, attachers, and arguments (list\n * of attachers and options). */\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n /* Empty */\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var length\n var index\n\n if (plugins === null || plugins === undefined) {\n /* Empty */\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n length = plugins.length\n index = -1\n\n while (++index < length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var length = attachers.length\n var index = -1\n var entry\n\n while (++index < length) {\n entry = attachers[index]\n\n if (entry[0] === plugin) {\n return entry\n }\n }\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the\n * processor. */\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser)) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), async. */\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(err, tree, file) {\n tree = tree || node\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), sync. */\n function runSync(node, file) {\n var complete = false\n var result\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(err, tree) {\n complete = true\n bail(err)\n result = tree\n }\n }\n\n /* Stringify a Unist node representation of a file\n * (in string or VFile representation) into a string\n * using the `Compiler` on the processor. */\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler)) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the processor,\n * then run transforms on that node, and compile the\n * resulting node using the `Compiler` on the processor,\n * and store that result on the VFile. */\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(err) {\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n /* Process the given document (in string or VFile\n * representation), sync. */\n function processSync(doc) {\n var complete = false\n var file\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(err) {\n complete = true\n bail(err)\n }\n }\n}\n\n/* Check if `func` is a constructor. */\nfunction newable(value) {\n return typeof value === 'function' && keys(value.prototype)\n}\n\n/* Check if `value` is an object with keys. */\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n return false\n}\n\n/* Assert a parser is available. */\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/* Assert a compiler is available. */\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/* Assert the processor is not frozen. */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n [\n 'Cannot invoke `' + name + '` on a frozen processor.\\nCreate a new ',\n 'processor first, by invoking it: use `processor()` instead of ',\n '`processor`.'\n ].join('')\n )\n }\n}\n\n/* Assert `node` is a Unist node. */\nfunction assertNode(node) {\n if (!node || !string(node.type)) {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n/* Assert that `complete` is `true`. */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n\n/***/ }),\n/* 876 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 877 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n\n\n/***/ }),\n/* 878 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar VMessage = __webpack_require__(879);\nvar VFile = __webpack_require__(881);\n\nmodule.exports = VFile;\n\nvar proto = VFile.prototype;\n\nproto.message = message;\nproto.info = info;\nproto.fail = fail;\n\n/* Slight backwards compatibility. Remove in the future. */\nproto.warn = message;\n\n/* Create a message with `reason` at `position`.\n * When an error is passed in as `reason`, copies the stack. */\nfunction message(reason, position, origin) {\n var filePath = this.path;\n var message = new VMessage(reason, position, origin);\n\n if (filePath) {\n message.name = filePath + ':' + message.name;\n message.file = filePath;\n }\n\n message.fatal = false;\n\n this.messages.push(message);\n\n return message;\n}\n\n/* Fail. Creates a vmessage, associates it with the file,\n * and throws it. */\nfunction fail() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = true;\n\n throw message;\n}\n\n/* Info. Creates a vmessage, associates it with the file,\n * and marks the fatality as null. */\nfunction info() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = null;\n\n return message;\n}\n\n\n/***/ }),\n/* 879 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar stringify = __webpack_require__(880)\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n\n\n/***/ }),\n/* 880 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n /* Nothing. */\n if (!value || typeof value !== 'object') {\n return null\n }\n\n /* Node. */\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n /* Position. */\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n /* Point. */\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n /* ? */\n return null\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n\n\n/***/ }),\n/* 881 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar path = __webpack_require__(399);\nvar replace = __webpack_require__(882);\nvar buffer = __webpack_require__(383);\n\nmodule.exports = VFile;\n\nvar own = {}.hasOwnProperty;\nvar proto = VFile.prototype;\n\nproto.toString = toString;\n\n/* Order of setting (least specific to most), we need this because\n * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path\n * is needed before a stem can be set. */\nvar order = [\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n];\n\n/* Construct a new file. */\nfunction VFile(options) {\n var prop;\n var index;\n var length;\n\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options};\n } else if ('message' in options && 'messages' in options) {\n return options;\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options);\n }\n\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = process.cwd();\n\n /* Set path related properties in the correct order. */\n index = -1;\n length = order.length;\n\n while (++index < length) {\n prop = order[index];\n\n if (own.call(options, prop)) {\n this[prop] = options[prop];\n }\n }\n\n /* Set non-path related properties. */\n for (prop in options) {\n if (order.indexOf(prop) === -1) {\n this[prop] = options[prop];\n }\n }\n}\n\n/* Access full path (`~/index.min.js`). */\nObject.defineProperty(proto, 'path', {\n get: function () {\n return this.history[this.history.length - 1];\n },\n set: function (path) {\n assertNonEmpty(path, 'path');\n\n if (path !== this.path) {\n this.history.push(path);\n }\n }\n});\n\n/* Access parent path (`~`). */\nObject.defineProperty(proto, 'dirname', {\n get: function () {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined;\n },\n set: function (dirname) {\n assertPath(this.path, 'dirname');\n this.path = path.join(dirname || '', this.basename);\n }\n});\n\n/* Access basename (`index.min.js`). */\nObject.defineProperty(proto, 'basename', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined;\n },\n set: function (basename) {\n assertNonEmpty(basename, 'basename');\n assertPart(basename, 'basename');\n this.path = path.join(this.dirname || '', basename);\n }\n});\n\n/* Access extname (`.js`). */\nObject.defineProperty(proto, 'extname', {\n get: function () {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined;\n },\n set: function (extname) {\n var ext = extname || '';\n\n assertPart(ext, 'extname');\n assertPath(this.path, 'extname');\n\n if (ext) {\n if (ext.charAt(0) !== '.') {\n throw new Error('`extname` must start with `.`');\n }\n\n if (ext.indexOf('.', 1) !== -1) {\n throw new Error('`extname` cannot contain multiple dots');\n }\n }\n\n this.path = replace(this.path, ext);\n }\n});\n\n/* Access stem (`index.min`). */\nObject.defineProperty(proto, 'stem', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined;\n },\n set: function (stem) {\n assertNonEmpty(stem, 'stem');\n assertPart(stem, 'stem');\n this.path = path.join(this.dirname || '', stem + (this.extname || ''));\n }\n});\n\n/* Get the value of the file. */\nfunction toString(encoding) {\n var value = this.contents || '';\n return buffer(value) ? value.toString(encoding) : String(value);\n}\n\n/* Assert that `part` is not a path (i.e., does\n * not contain `path.sep`). */\nfunction assertPart(part, name) {\n if (part.indexOf(path.sep) !== -1) {\n throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`');\n }\n}\n\n/* Assert that `part` is not empty. */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty');\n }\n}\n\n/* Assert `path` exists. */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too');\n }\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(116)))\n\n/***/ }),\n/* 882 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar path = __webpack_require__(399);\n\nfunction replaceExt(npath, ext) {\n if (typeof npath !== 'string') {\n return npath;\n }\n\n if (npath.length === 0) {\n return npath;\n }\n\n var nFileName = path.basename(npath, path.extname(npath)) + ext;\n return path.join(path.dirname(npath), nFileName);\n}\n\nmodule.exports = replaceExt;\n\n\n/***/ }),\n/* 883 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar wrap = __webpack_require__(884)\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n/* Create new middleware. */\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n /* Run `fns`. Last argument must be\n * a completion handler. */\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n /* Run the next `fn`, if any. */\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n /* Copy non-nully input into values. */\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n /* Next or done. */\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n /* Add `fn` to the list. */\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n\n\n/***/ }),\n/* 884 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n/* Wrap `fn`. Can be sync or async; return a promise,\n * receive a completion handler, return new values and\n * errors. */\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (err) {\n /* Well, this is quite the pickle. `fn` received\n * a callback and invoked it (thus continuing the\n * pipeline), but later also threw an error.\n * We’re not about to restart the pipeline again,\n * so the only thing left to do is to throw the\n * thing instea. */\n if (callback && invoked) {\n throw err\n }\n\n return done(err)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /* Invoke `next`, only once. */\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n /* Invoke `done` with one value.\n * Tracks if an error is passed, too. */\n function then(value) {\n done(null, value)\n }\n}\n\n\n/***/ }),\n/* 885 */\n/***/ (function(module, exports) {\n\nvar toString = Object.prototype.toString\n\nmodule.exports = isString\n\nfunction isString(obj) {\n return toString.call(obj) === \"[object String]\"\n}\n\n\n/***/ }),\n/* 886 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n/***/ }),\n/* 887 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar unherit = __webpack_require__(888);\nvar xtend = __webpack_require__(76);\nvar Parser = __webpack_require__(890);\n\nmodule.exports = parse;\nparse.Parser = Parser;\n\nfunction parse(options) {\n var Local = unherit(Parser);\n Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options);\n this.Parser = Local;\n}\n\n\n/***/ }),\n/* 888 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76)\nvar inherits = __webpack_require__(889)\n\nmodule.exports = unherit\n\n/* Create a custom constructor which can be modified\n * without affecting the original class. */\nfunction unherit(Super) {\n var result\n var key\n var value\n\n inherits(Of, Super)\n inherits(From, Of)\n\n /* Clone values. */\n result = Of.prototype\n\n for (key in result) {\n value = result[key]\n\n if (value && typeof value === 'object') {\n result[key] = 'concat' in value ? value.concat() : xtend(value)\n }\n }\n\n return Of\n\n /* Constructor accepting a single argument,\n * which itself is an `arguments` object. */\n function From(parameters) {\n return Super.apply(this, parameters)\n }\n\n /* Constructor accepting variadic arguments. */\n function Of() {\n if (!(this instanceof Of)) {\n return new From(arguments)\n }\n\n return Super.apply(this, arguments)\n }\n}\n\n\n/***/ }),\n/* 889 */\n/***/ (function(module, exports) {\n\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n/***/ }),\n/* 890 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar toggle = __webpack_require__(891);\nvar vfileLocation = __webpack_require__(892);\nvar unescape = __webpack_require__(893);\nvar decode = __webpack_require__(894);\nvar tokenizer = __webpack_require__(900);\n\nmodule.exports = Parser;\n\nfunction Parser(doc, file) {\n this.file = file;\n this.offset = {};\n this.options = xtend(this.options);\n this.setOptions({});\n\n this.inList = false;\n this.inBlock = false;\n this.inLink = false;\n this.atStart = true;\n\n this.toOffset = vfileLocation(file).toOffset;\n this.unescape = unescape(this, 'escape');\n this.decode = decode(this);\n}\n\nvar proto = Parser.prototype;\n\n/* Expose core. */\nproto.setOptions = __webpack_require__(901);\nproto.parse = __webpack_require__(904);\n\n/* Expose `defaults`. */\nproto.options = __webpack_require__(401);\n\n/* Enter and exit helpers. */\nproto.exitStart = toggle('atStart', true);\nproto.enterList = toggle('inList', false);\nproto.enterLink = toggle('inLink', false);\nproto.enterBlock = toggle('inBlock', false);\n\n/* Nodes that can interupt a paragraph:\n *\n * ```markdown\n * A paragraph, followed by a thematic break.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the paragraph. */\nproto.interruptParagraph = [\n ['thematicBreak'],\n ['atxHeading'],\n ['fencedCode'],\n ['blockquote'],\n ['html'],\n ['setextHeading', {commonmark: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a list:\n *\n * ```markdown\n * - One\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the list. */\nproto.interruptList = [\n ['atxHeading', {pedantic: false}],\n ['fencedCode', {pedantic: false}],\n ['thematicBreak', {pedantic: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a blockquote:\n *\n * ```markdown\n * > A paragraph.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the blockquote. */\nproto.interruptBlockquote = [\n ['indentedCode', {commonmark: true}],\n ['fencedCode', {commonmark: true}],\n ['atxHeading', {commonmark: true}],\n ['setextHeading', {commonmark: true}],\n ['thematicBreak', {commonmark: true}],\n ['html', {commonmark: true}],\n ['list', {commonmark: true}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Handlers. */\nproto.blockTokenizers = {\n newline: __webpack_require__(908),\n indentedCode: __webpack_require__(909),\n fencedCode: __webpack_require__(910),\n blockquote: __webpack_require__(911),\n atxHeading: __webpack_require__(912),\n thematicBreak: __webpack_require__(913),\n list: __webpack_require__(914),\n setextHeading: __webpack_require__(916),\n html: __webpack_require__(917),\n footnote: __webpack_require__(918),\n definition: __webpack_require__(920),\n table: __webpack_require__(921),\n paragraph: __webpack_require__(922)\n};\n\nproto.inlineTokenizers = {\n escape: __webpack_require__(923),\n autoLink: __webpack_require__(925),\n url: __webpack_require__(926),\n html: __webpack_require__(928),\n link: __webpack_require__(929),\n reference: __webpack_require__(930),\n strong: __webpack_require__(931),\n emphasis: __webpack_require__(933),\n deletion: __webpack_require__(936),\n code: __webpack_require__(938),\n break: __webpack_require__(940),\n text: __webpack_require__(942)\n};\n\n/* Expose precedence. */\nproto.blockMethods = keys(proto.blockTokenizers);\nproto.inlineMethods = keys(proto.inlineTokenizers);\n\n/* Tokenizers. */\nproto.tokenizeBlock = tokenizer('block');\nproto.tokenizeInline = tokenizer('inline');\nproto.tokenizeFactory = tokenizer;\n\n/* Get all keys in `value`. */\nfunction keys(value) {\n var result = [];\n var key;\n\n for (key in value) {\n result.push(key);\n }\n\n return result;\n}\n\n\n/***/ }),\n/* 891 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory\n\n/* Construct a state `toggler`: a function which inverses\n * `property` in context based on its current value.\n * The by `toggler` returned function restores that value. */\nfunction factory(key, state, ctx) {\n return enter\n\n function enter() {\n var context = ctx || this\n var current = context[key]\n\n context[key] = !state\n\n return exit\n\n function exit() {\n context[key] = current\n }\n }\n}\n\n\n/***/ }),\n/* 892 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory\n\nfunction factory(file) {\n var contents = indices(String(file))\n\n return {\n toPosition: offsetToPositionFactory(contents),\n toOffset: positionToOffsetFactory(contents)\n }\n}\n\n// Factory to get the line and column-based `position` for `offset` in the bound\n// indices.\nfunction offsetToPositionFactory(indices) {\n return offsetToPosition\n\n // Get the line and column-based `position` for `offset` in the bound indices.\n function offsetToPosition(offset) {\n var index = -1\n var length = indices.length\n\n if (offset < 0) {\n return {}\n }\n\n while (++index < length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset: offset\n }\n }\n }\n\n return {}\n }\n}\n\n// Factory to get the `offset` for a line and column-based `position` in the\n// bound indices.\nfunction positionToOffsetFactory(indices) {\n return positionToOffset\n\n // Get the `offset` for a line and column-based `position` in the bound\n // indices.\n function positionToOffset(position) {\n var line = position && position.line\n var column = position && position.column\n\n if (!isNaN(line) && !isNaN(column) && line - 1 in indices) {\n return (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return -1\n }\n}\n\n// Get indices of line-breaks in `value`.\nfunction indices(value) {\n var result = []\n var index = value.indexOf('\\n')\n\n while (index !== -1) {\n result.push(index + 1)\n index = value.indexOf('\\n', index + 1)\n }\n\n result.push(value.length + 1)\n\n return result\n}\n\n\n/***/ }),\n/* 893 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory;\n\n/* Factory to de-escape a value, based on a list at `key`\n * in `ctx`. */\nfunction factory(ctx, key) {\n return unescape;\n\n /* De-escape a string using the expression at `key`\n * in `ctx`. */\n function unescape(value) {\n var prev = 0;\n var index = value.indexOf('\\\\');\n var escape = ctx[key];\n var queue = [];\n var character;\n\n while (index !== -1) {\n queue.push(value.slice(prev, index));\n prev = index + 1;\n character = value.charAt(prev);\n\n /* If the following character is not a valid escape,\n * add the slash. */\n if (!character || escape.indexOf(character) === -1) {\n queue.push('\\\\');\n }\n\n index = value.indexOf('\\\\', prev);\n }\n\n queue.push(value.slice(prev));\n\n return queue.join('');\n }\n}\n\n\n/***/ }),\n/* 894 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar entities = __webpack_require__(238);\n\nmodule.exports = factory;\n\n/* Factory to create an entity decoder. */\nfunction factory(ctx) {\n decoder.raw = decodeRaw;\n\n return decoder;\n\n /* Normalize `position` to add an `indent`. */\n function normalize(position) {\n var offsets = ctx.offset;\n var line = position.line;\n var result = [];\n\n while (++line) {\n if (!(line in offsets)) {\n break;\n }\n\n result.push((offsets[line] || 0) + 1);\n }\n\n return {\n start: position,\n indent: result\n };\n }\n\n /* Handle a warning.\n * See https://github.com/wooorm/parse-entities\n * for the warnings. */\n function handleWarning(reason, position, code) {\n if (code === 3) {\n return;\n }\n\n ctx.file.message(reason, position);\n }\n\n /* Decode `value` (at `position`) into text-nodes. */\n function decoder(value, position, handler) {\n entities(value, {\n position: normalize(position),\n warning: handleWarning,\n text: handler,\n reference: handler,\n textContext: ctx,\n referenceContext: ctx\n });\n }\n\n /* Decode `value` (at `position`) into a string. */\n function decodeRaw(value, position, options) {\n return entities(value, xtend(options, {\n position: normalize(position),\n warning: handleWarning\n }));\n }\n}\n\n\n/***/ }),\n/* 895 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"AElig\":\"Æ\",\"AMP\":\"&\",\"Aacute\":\"Á\",\"Acirc\":\"Â\",\"Agrave\":\"À\",\"Aring\":\"Å\",\"Atilde\":\"Ã\",\"Auml\":\"Ä\",\"COPY\":\"©\",\"Ccedil\":\"Ç\",\"ETH\":\"Ð\",\"Eacute\":\"É\",\"Ecirc\":\"Ê\",\"Egrave\":\"È\",\"Euml\":\"Ë\",\"GT\":\">\",\"Iacute\":\"Í\",\"Icirc\":\"Î\",\"Igrave\":\"Ì\",\"Iuml\":\"Ï\",\"LT\":\"<\",\"Ntilde\":\"Ñ\",\"Oacute\":\"Ó\",\"Ocirc\":\"Ô\",\"Ograve\":\"Ò\",\"Oslash\":\"Ø\",\"Otilde\":\"Õ\",\"Ouml\":\"Ö\",\"QUOT\":\"\\\"\",\"REG\":\"®\",\"THORN\":\"Þ\",\"Uacute\":\"Ú\",\"Ucirc\":\"Û\",\"Ugrave\":\"Ù\",\"Uuml\":\"Ü\",\"Yacute\":\"Ý\",\"aacute\":\"á\",\"acirc\":\"â\",\"acute\":\"´\",\"aelig\":\"æ\",\"agrave\":\"à\",\"amp\":\"&\",\"aring\":\"å\",\"atilde\":\"ã\",\"auml\":\"ä\",\"brvbar\":\"¦\",\"ccedil\":\"ç\",\"cedil\":\"¸\",\"cent\":\"¢\",\"copy\":\"©\",\"curren\":\"¤\",\"deg\":\"°\",\"divide\":\"÷\",\"eacute\":\"é\",\"ecirc\":\"ê\",\"egrave\":\"è\",\"eth\":\"ð\",\"euml\":\"ë\",\"frac12\":\"½\",\"frac14\":\"¼\",\"frac34\":\"¾\",\"gt\":\">\",\"iacute\":\"í\",\"icirc\":\"î\",\"iexcl\":\"¡\",\"igrave\":\"ì\",\"iquest\":\"¿\",\"iuml\":\"ï\",\"laquo\":\"«\",\"lt\":\"<\",\"macr\":\"¯\",\"micro\":\"µ\",\"middot\":\"·\",\"nbsp\":\" \",\"not\":\"¬\",\"ntilde\":\"ñ\",\"oacute\":\"ó\",\"ocirc\":\"ô\",\"ograve\":\"ò\",\"ordf\":\"ª\",\"ordm\":\"º\",\"oslash\":\"ø\",\"otilde\":\"õ\",\"ouml\":\"ö\",\"para\":\"¶\",\"plusmn\":\"±\",\"pound\":\"£\",\"quot\":\"\\\"\",\"raquo\":\"»\",\"reg\":\"®\",\"sect\":\"§\",\"shy\":\"­\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"szlig\":\"ß\",\"thorn\":\"þ\",\"times\":\"×\",\"uacute\":\"ú\",\"ucirc\":\"û\",\"ugrave\":\"ù\",\"uml\":\"¨\",\"uuml\":\"ü\",\"yacute\":\"ý\",\"yen\":\"¥\",\"yuml\":\"ÿ\"}\n\n/***/ }),\n/* 896 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"0\":\"�\",\"128\":\"€\",\"130\":\"‚\",\"131\":\"ƒ\",\"132\":\"„\",\"133\":\"…\",\"134\":\"†\",\"135\":\"‡\",\"136\":\"ˆ\",\"137\":\"‰\",\"138\":\"Š\",\"139\":\"‹\",\"140\":\"Œ\",\"142\":\"Ž\",\"145\":\"‘\",\"146\":\"’\",\"147\":\"“\",\"148\":\"”\",\"149\":\"•\",\"150\":\"–\",\"151\":\"—\",\"152\":\"˜\",\"153\":\"™\",\"154\":\"š\",\"155\":\"›\",\"156\":\"œ\",\"158\":\"ž\",\"159\":\"Ÿ\"}\n\n/***/ }),\n/* 897 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = hexadecimal\n\n/* Check if the given character code, or the character\n * code at the first character, is hexadecimal. */\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n\n\n/***/ }),\n/* 898 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabetical = __webpack_require__(400)\nvar decimal = __webpack_require__(180)\n\nmodule.exports = alphanumerical\n\n/* Check if the given character code, or the character\n * code at the first character, is alphanumerical. */\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n\n\n/***/ }),\n/* 899 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* eslint-env browser */\n\nvar el\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (¬ - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (;), we can\n // assume that the matching was incomplete\n if (char.slice(-1) === ';' && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n\n\n/***/ }),\n/* 900 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory;\n\nvar MERGEABLE_NODES = {\n text: mergeText,\n blockquote: mergeBlockquote\n};\n\n/* Check whether a node is mergeable with adjacent nodes. */\nfunction mergeable(node) {\n var start;\n var end;\n\n if (node.type !== 'text' || !node.position) {\n return true;\n }\n\n start = node.position.start;\n end = node.position.end;\n\n /* Only merge nodes which occupy the same size as their\n * `value`. */\n return start.line !== end.line ||\n end.column - start.column === node.value.length;\n}\n\n/* Merge two text nodes: `node` into `prev`. */\nfunction mergeText(prev, node) {\n prev.value += node.value;\n\n return prev;\n}\n\n/* Merge two blockquotes: `node` into `prev`, unless in\n * CommonMark mode. */\nfunction mergeBlockquote(prev, node) {\n if (this.options.commonmark) {\n return node;\n }\n\n prev.children = prev.children.concat(node.children);\n\n return prev;\n}\n\n/* Construct a tokenizer. This creates both\n * `tokenizeInline` and `tokenizeBlock`. */\nfunction factory(type) {\n return tokenize;\n\n /* Tokenizer for a bound `type`. */\n function tokenize(value, location) {\n var self = this;\n var offset = self.offset;\n var tokens = [];\n var methods = self[type + 'Methods'];\n var tokenizers = self[type + 'Tokenizers'];\n var line = location.line;\n var column = location.column;\n var index;\n var length;\n var method;\n var name;\n var matched;\n var valueLength;\n\n /* Trim white space only lines. */\n if (!value) {\n return tokens;\n }\n\n /* Expose on `eat`. */\n eat.now = now;\n eat.file = self.file;\n\n /* Sync initial offset. */\n updatePosition('');\n\n /* Iterate over `value`, and iterate over all\n * tokenizers. When one eats something, re-iterate\n * with the remaining value. If no tokenizer eats,\n * something failed (should not happen) and an\n * exception is thrown. */\n while (value) {\n index = -1;\n length = methods.length;\n matched = false;\n\n while (++index < length) {\n name = methods[index];\n method = tokenizers[name];\n\n if (\n method &&\n /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) &&\n (!method.notInList || !self.inList) &&\n (!method.notInBlock || !self.inBlock) &&\n (!method.notInLink || !self.inLink)\n ) {\n valueLength = value.length;\n\n method.apply(self, [eat, value]);\n\n matched = valueLength !== value.length;\n\n if (matched) {\n break;\n }\n }\n }\n\n /* istanbul ignore if */\n if (!matched) {\n self.file.fail(new Error('Infinite loop'), eat.now());\n }\n }\n\n self.eof = now();\n\n return tokens;\n\n /* Update line, column, and offset based on\n * `value`. */\n function updatePosition(subvalue) {\n var lastIndex = -1;\n var index = subvalue.indexOf('\\n');\n\n while (index !== -1) {\n line++;\n lastIndex = index;\n index = subvalue.indexOf('\\n', index + 1);\n }\n\n if (lastIndex === -1) {\n column += subvalue.length;\n } else {\n column = subvalue.length - lastIndex;\n }\n\n if (line in offset) {\n if (lastIndex !== -1) {\n column += offset[line];\n } else if (column <= offset[line]) {\n column = offset[line] + 1;\n }\n }\n }\n\n /* Get offset. Called before the first character is\n * eaten to retrieve the range's offsets. */\n function getOffset() {\n var indentation = [];\n var pos = line + 1;\n\n /* Done. Called when the last character is\n * eaten to retrieve the range’s offsets. */\n return function () {\n var last = line + 1;\n\n while (pos < last) {\n indentation.push((offset[pos] || 0) + 1);\n\n pos++;\n }\n\n return indentation;\n };\n }\n\n /* Get the current position. */\n function now() {\n var pos = {line: line, column: column};\n\n pos.offset = self.toOffset(pos);\n\n return pos;\n }\n\n /* Store position information for a node. */\n function Position(start) {\n this.start = start;\n this.end = now();\n }\n\n /* Throw when a value is incorrectly eaten.\n * This shouldn’t happen but will throw on new,\n * incorrect rules. */\n function validateEat(subvalue) {\n /* istanbul ignore if */\n if (value.substring(0, subvalue.length) !== subvalue) {\n /* Capture stack-trace. */\n self.file.fail(\n new Error(\n 'Incorrectly eaten value: please report this ' +\n 'warning on http://git.io/vg5Ft'\n ),\n now()\n );\n }\n }\n\n /* Mark position and patch `node.position`. */\n function position() {\n var before = now();\n\n return update;\n\n /* Add the position to a node. */\n function update(node, indent) {\n var prev = node.position;\n var start = prev ? prev.start : before;\n var combined = [];\n var n = prev && prev.end.line;\n var l = before.line;\n\n node.position = new Position(start);\n\n /* If there was already a `position`, this\n * node was merged. Fixing `start` wasn’t\n * hard, but the indent is different.\n * Especially because some information, the\n * indent between `n` and `l` wasn’t\n * tracked. Luckily, that space is\n * (should be?) empty, so we can safely\n * check for it now. */\n if (prev && indent && prev.indent) {\n combined = prev.indent;\n\n if (n < l) {\n while (++n < l) {\n combined.push((offset[n] || 0) + 1);\n }\n\n combined.push(before.column);\n }\n\n indent = combined.concat(indent);\n }\n\n node.position.indent = indent || [];\n\n return node;\n }\n }\n\n /* Add `node` to `parent`s children or to `tokens`.\n * Performs merges where possible. */\n function add(node, parent) {\n var children = parent ? parent.children : tokens;\n var prev = children[children.length - 1];\n\n if (\n prev &&\n node.type === prev.type &&\n node.type in MERGEABLE_NODES &&\n mergeable(prev) &&\n mergeable(node)\n ) {\n node = MERGEABLE_NODES[node.type].call(self, prev, node);\n }\n\n if (node !== prev) {\n children.push(node);\n }\n\n if (self.atStart && tokens.length !== 0) {\n self.exitStart();\n }\n\n return node;\n }\n\n /* Remove `subvalue` from `value`.\n * `subvalue` must be at the start of `value`. */\n function eat(subvalue) {\n var indent = getOffset();\n var pos = position();\n var current = now();\n\n validateEat(subvalue);\n\n apply.reset = reset;\n reset.test = test;\n apply.test = test;\n\n value = value.substring(subvalue.length);\n\n updatePosition(subvalue);\n\n indent = indent();\n\n return apply;\n\n /* Add the given arguments, add `position` to\n * the returned node, and return the node. */\n function apply(node, parent) {\n return pos(add(pos(node), parent), indent);\n }\n\n /* Functions just like apply, but resets the\n * content: the line and column are reversed,\n * and the eaten value is re-added.\n * This is useful for nodes with a single\n * type of content, such as lists and tables.\n * See `apply` above for what parameters are\n * expected. */\n function reset() {\n var node = apply.apply(null, arguments);\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return node;\n }\n\n /* Test the position, after eating, and reverse\n * to a not-eaten state. */\n function test() {\n var result = pos({});\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return result.position;\n }\n }\n }\n}\n\n\n/***/ }),\n/* 901 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar escapes = __webpack_require__(902);\nvar defaults = __webpack_require__(401);\n\nmodule.exports = setOptions;\n\nfunction setOptions(options) {\n var self = this;\n var current = self.options;\n var key;\n var value;\n\n if (options == null) {\n options = {};\n } else if (typeof options === 'object') {\n options = xtend(options);\n } else {\n throw new Error(\n 'Invalid value `' + options + '` ' +\n 'for setting `options`'\n );\n }\n\n for (key in defaults) {\n value = options[key];\n\n if (value == null) {\n value = current[key];\n }\n\n if (\n (key !== 'blocks' && typeof value !== 'boolean') ||\n (key === 'blocks' && typeof value !== 'object')\n ) {\n throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`');\n }\n\n options[key] = value;\n }\n\n self.options = options;\n self.escape = escapes(options);\n\n return self;\n}\n\n\n/***/ }),\n/* 902 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = escapes\n\nvar defaults = [\n '\\\\',\n '`',\n '*',\n '{',\n '}',\n '[',\n ']',\n '(',\n ')',\n '#',\n '+',\n '-',\n '.',\n '!',\n '_',\n '>'\n]\n\nvar gfm = defaults.concat(['~', '|'])\n\nvar commonmark = gfm.concat([\n '\\n',\n '\"',\n '$',\n '%',\n '&',\n \"'\",\n ',',\n '/',\n ':',\n ';',\n '<',\n '=',\n '?',\n '@',\n '^'\n])\n\nescapes.default = defaults\nescapes.gfm = gfm\nescapes.commonmark = commonmark\n\n/* Get markdown escapes. */\nfunction escapes(options) {\n var settings = options || {}\n\n if (settings.commonmark) {\n return commonmark\n }\n\n return settings.gfm ? gfm : defaults\n}\n\n\n/***/ }),\n/* 903 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]\n\n/***/ }),\n/* 904 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar removePosition = __webpack_require__(905);\n\nmodule.exports = parse;\n\nvar C_NEWLINE = '\\n';\nvar EXPRESSION_LINE_BREAKS = /\\r\\n|\\r/g;\n\n/* Parse the bound file. */\nfunction parse() {\n var self = this;\n var value = String(self.file);\n var start = {line: 1, column: 1, offset: 0};\n var content = xtend(start);\n var node;\n\n /* Clean non-unix newlines: `\\r\\n` and `\\r` are all\n * changed to `\\n`. This should not affect positional\n * information. */\n value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE);\n\n if (value.charCodeAt(0) === 0xFEFF) {\n value = value.slice(1);\n\n content.column++;\n content.offset++;\n }\n\n node = {\n type: 'root',\n children: self.tokenizeBlock(value, content),\n position: {\n start: start,\n end: self.eof || xtend(start)\n }\n };\n\n if (!self.options.position) {\n removePosition(node, true);\n }\n\n return node;\n}\n\n\n/***/ }),\n/* 905 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar visit = __webpack_require__(181)\n\nmodule.exports = removePosition\n\n/* Remove `position`s from `tree`. */\nfunction removePosition(node, force) {\n visit(node, force ? hard : soft)\n return node\n}\n\nfunction hard(node) {\n delete node.position\n}\n\nfunction soft(node) {\n node.position = undefined\n}\n\n\n/***/ }),\n/* 906 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = visitParents\n\nvar is = __webpack_require__(907)\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result\n\n if (!test || is(test, node, index, parents[parents.length - 1] || null)) {\n result = visitor(node, parents)\n\n if (result === EXIT) {\n return result\n }\n }\n\n if (node.children && result !== SKIP) {\n return all(node.children, parents.concat(node)) === EXIT ? EXIT : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var child\n var result\n\n while (index > min && index < children.length) {\n child = children[index]\n result = child && one(child, index, parents)\n\n if (result === EXIT) {\n return result\n }\n\n index = typeof result === 'number' ? result : index + step\n }\n }\n}\n\n\n/***/ }),\n/* 907 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* eslint-disable max-params */\n\n/* Expose. */\nmodule.exports = is\n\n/* Assert if `test` passes for `node`.\n * When a `parent` node is known the `index` of node */\nfunction is(test, node, index, parent, context) {\n var hasParent = parent !== null && parent !== undefined\n var hasIndex = index !== null && index !== undefined\n var check = convert(test)\n\n if (\n hasIndex &&\n (typeof index !== 'number' || index < 0 || index === Infinity)\n ) {\n throw new Error('Expected positive finite index or child node')\n }\n\n if (hasParent && (!is(null, parent) || !parent.children)) {\n throw new Error('Expected parent node')\n }\n\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (hasParent !== hasIndex) {\n throw new Error('Expected both parent and index')\n }\n\n return Boolean(check.call(context, node, index, parent))\n}\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n/* Utility assert each property in `test` is represented\n * in `node`, and each values are strictly equal. */\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/* Utility to convert a string into a function which checks\n * a given node’s type for said string. */\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n/* Utility to return true. */\nfunction ok() {\n return true\n}\n\n\n/***/ }),\n/* 908 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\n\nmodule.exports = newline;\n\n/* Tokenise newline. */\nfunction newline(eat, value, silent) {\n var character = value.charAt(0);\n var length;\n var subvalue;\n var queue;\n var index;\n\n if (character !== '\\n') {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n index = 1;\n length = value.length;\n subvalue = character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n\n if (character === '\\n') {\n subvalue += queue;\n queue = '';\n }\n\n index++;\n }\n\n eat(subvalue);\n}\n\n\n/***/ }),\n/* 909 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar repeat = __webpack_require__(239);\nvar trim = __webpack_require__(240);\n\nmodule.exports = indentedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar CODE_INDENT_COUNT = 4;\nvar CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT);\n\n/* Tokenise indented code. */\nfunction indentedCode(eat, value, silent) {\n var index = -1;\n var length = value.length;\n var subvalue = '';\n var content = '';\n var subvalueQueue = '';\n var contentQueue = '';\n var character;\n var blankQueue;\n var indent;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (indent) {\n indent = false;\n\n subvalue += subvalueQueue;\n content += contentQueue;\n subvalueQueue = '';\n contentQueue = '';\n\n if (character === C_NEWLINE) {\n subvalueQueue = character;\n contentQueue = character;\n } else {\n subvalue += character;\n content += character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n contentQueue = character;\n subvalueQueue = character;\n break;\n }\n\n subvalue += character;\n content += character;\n }\n }\n } else if (\n character === C_SPACE &&\n value.charAt(index + 1) === character &&\n value.charAt(index + 2) === character &&\n value.charAt(index + 3) === character\n ) {\n subvalueQueue += CODE_INDENT;\n index += 3;\n indent = true;\n } else if (character === C_TAB) {\n subvalueQueue += character;\n indent = true;\n } else {\n blankQueue = '';\n\n while (character === C_TAB || character === C_SPACE) {\n blankQueue += character;\n character = value.charAt(++index);\n }\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subvalueQueue += blankQueue + character;\n contentQueue += character;\n }\n }\n\n if (content) {\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({\n type: 'code',\n lang: null,\n value: trim(content)\n });\n }\n}\n\n\n/***/ }),\n/* 910 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(240);\n\nmodule.exports = fencedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_TILDE = '~';\nvar C_TICK = '`';\n\nvar MIN_FENCE_COUNT = 3;\nvar CODE_INDENT_COUNT = 4;\n\nfunction fencedCode(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = 0;\n var subvalue = '';\n var fenceCount;\n var marker;\n var character;\n var flag;\n var queue;\n var content;\n var exdentedContent;\n var closing;\n var exdentedClosing;\n var indent;\n var now;\n\n if (!settings.gfm) {\n return;\n }\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n indent = index;\n\n /* Eat the fence. */\n character = value.charAt(index);\n\n if (character !== C_TILDE && character !== C_TICK) {\n return;\n }\n\n index++;\n marker = character;\n fenceCount = 1;\n subvalue += character;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n subvalue += character;\n fenceCount++;\n index++;\n }\n\n if (fenceCount < MIN_FENCE_COUNT) {\n return;\n }\n\n /* Eat spacing before flag. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat flag. */\n flag = '';\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character === C_NEWLINE ||\n character === C_TILDE ||\n character === C_TICK\n ) {\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n flag += queue + character;\n queue = '';\n }\n\n index++;\n }\n\n character = value.charAt(index);\n\n if (character && character !== C_NEWLINE) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += subvalue.length;\n now.offset += subvalue.length;\n\n subvalue += flag;\n flag = self.decode.raw(self.unescape(flag), now);\n\n if (queue) {\n subvalue += queue;\n }\n\n queue = '';\n closing = '';\n exdentedClosing = '';\n content = '';\n exdentedContent = '';\n\n /* Eat content. */\n while (index < length) {\n character = value.charAt(index);\n content += closing;\n exdentedContent += exdentedClosing;\n closing = '';\n exdentedClosing = '';\n\n if (character !== C_NEWLINE) {\n content += character;\n exdentedClosing += character;\n index++;\n continue;\n }\n\n /* Add the newline to `subvalue` if its the first\n * character. Otherwise, add it to the `closing`\n * queue. */\n if (content) {\n closing += character;\n exdentedClosing += character;\n } else {\n subvalue += character;\n }\n\n queue = '';\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue.slice(indent);\n\n if (queue.length >= CODE_INDENT_COUNT) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue;\n\n if (queue.length < fenceCount) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n closing += character;\n exdentedClosing += character;\n index++;\n }\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n }\n\n subvalue += content + closing;\n\n return eat(subvalue)({\n type: 'code',\n lang: flag || null,\n value: trim(exdentedContent)\n });\n}\n\n\n/***/ }),\n/* 911 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar interrupt = __webpack_require__(241);\n\nmodule.exports = blockquote;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_GT = '>';\n\n/* Tokenise a blockquote. */\nfunction blockquote(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptBlockquote;\n var now = eat.now();\n var currentLine = now.line;\n var length = value.length;\n var values = [];\n var contents = [];\n var indents = [];\n var add;\n var index = 0;\n var character;\n var rest;\n var nextIndex;\n var content;\n var line;\n var startIndex;\n var prefixed;\n var exit;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) === C_GT) {\n index++;\n prefixed = true;\n\n if (value.charAt(index) === C_SPACE) {\n index++;\n }\n } else {\n index = startIndex;\n }\n\n content = value.slice(index, nextIndex);\n\n if (!prefixed && !trim(content)) {\n index = startIndex;\n break;\n }\n\n if (!prefixed) {\n rest = value.slice(index);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) {\n break;\n }\n }\n\n line = startIndex === index ? content : value.slice(startIndex, nextIndex);\n\n indents.push(index - startIndex);\n values.push(line);\n contents.push(content);\n\n index = nextIndex + 1;\n }\n\n index = -1;\n length = indents.length;\n add = eat(values.join(C_NEWLINE));\n\n while (++index < length) {\n offsets[currentLine] = (offsets[currentLine] || 0) + indents[index];\n currentLine++;\n }\n\n exit = self.enterBlock();\n contents = self.tokenizeBlock(contents.join(C_NEWLINE), now);\n exit();\n\n return add({\n type: 'blockquote',\n children: contents\n });\n}\n\n\n/***/ }),\n/* 912 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = atxHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_HASH = '#';\n\nvar MAX_ATX_COUNT = 6;\n\nfunction atxHeading(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = -1;\n var now = eat.now();\n var subvalue = '';\n var content = '';\n var character;\n var queue;\n var depth;\n\n /* Eat initial spacing. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat hashes. */\n depth = 0;\n\n while (++index <= length) {\n character = value.charAt(index);\n\n if (character !== C_HASH) {\n index--;\n break;\n }\n\n subvalue += character;\n depth++;\n }\n\n if (depth > MAX_ATX_COUNT) {\n return;\n }\n\n if (\n !depth ||\n (!settings.pedantic && value.charAt(index + 1) === C_HASH)\n ) {\n return;\n }\n\n length = value.length + 1;\n\n /* Eat intermediate white-space. */\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n queue += character;\n }\n\n /* Exit when not in pedantic mode without spacing. */\n if (\n !settings.pedantic &&\n queue.length === 0 &&\n character &&\n character !== C_NEWLINE\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n /* Eat content. */\n subvalue += queue;\n queue = '';\n content = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n\n if (\n character !== C_SPACE &&\n character !== C_TAB &&\n character !== C_HASH\n ) {\n content += queue + character;\n queue = '';\n continue;\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_HASH) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n index--;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n return eat(subvalue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n/***/ }),\n/* 913 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = thematicBreak;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_DASH = '-';\n\nvar THEMATIC_BREAK_MARKER_COUNT = 3;\n\nfunction thematicBreak(eat, value, silent) {\n var index = -1;\n var length = value.length + 1;\n var subvalue = '';\n var character;\n var marker;\n var markerCount;\n var queue;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n }\n\n if (\n character !== C_ASTERISK &&\n character !== C_DASH &&\n character !== C_UNDERSCORE\n ) {\n return;\n }\n\n marker = character;\n subvalue += character;\n markerCount = 1;\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n markerCount++;\n subvalue += queue + marker;\n queue = '';\n } else if (character === C_SPACE) {\n queue += character;\n } else if (\n markerCount >= THEMATIC_BREAK_MARKER_COUNT &&\n (!character || character === C_NEWLINE)\n ) {\n subvalue += queue;\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({type: 'thematicBreak'});\n } else {\n return;\n }\n }\n}\n\n\n/***/ }),\n/* 914 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* eslint-disable max-params */\n\nvar trim = __webpack_require__(119);\nvar repeat = __webpack_require__(239);\nvar decimal = __webpack_require__(180);\nvar getIndent = __webpack_require__(402);\nvar removeIndent = __webpack_require__(915);\nvar interrupt = __webpack_require__(241);\n\nmodule.exports = list;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_PLUS = '+';\nvar C_DASH = '-';\nvar C_DOT = '.';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_PAREN_CLOSE = ')';\nvar C_X_LOWER = 'x';\n\nvar TAB_SIZE = 4;\nvar EXPRESSION_LOOSE_LIST_ITEM = /\\n\\n(?!\\s*$)/;\nvar EXPRESSION_TASK_ITEM = /^\\[([ \\t]|x|X)][ \\t]/;\nvar EXPRESSION_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])( {1,4}(?! )| |\\t|$|(?=\\n))([^\\n]*)/;\nvar EXPRESSION_PEDANTIC_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])([ \\t]+)/;\nvar EXPRESSION_INITIAL_INDENT = /^( {1,4}|\\t)?/gm;\n\n/* Map of characters which can be used to mark\n * list-items. */\nvar LIST_UNORDERED_MARKERS = {};\n\nLIST_UNORDERED_MARKERS[C_ASTERISK] = true;\nLIST_UNORDERED_MARKERS[C_PLUS] = true;\nLIST_UNORDERED_MARKERS[C_DASH] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_MARKERS = {};\n\nLIST_ORDERED_MARKERS[C_DOT] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_COMMONMARK_MARKERS = {};\n\nLIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true;\nLIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true;\n\nfunction list(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var pedantic = self.options.pedantic;\n var tokenizers = self.blockTokenizers;\n var interuptors = self.interruptList;\n var markers;\n var index = 0;\n var length = value.length;\n var start = null;\n var size = 0;\n var queue;\n var ordered;\n var character;\n var marker;\n var nextIndex;\n var startIndex;\n var prefixed;\n var currentMarker;\n var content;\n var line;\n var prevEmpty;\n var empty;\n var items;\n var allLines;\n var emptyLines;\n var item;\n var enterTop;\n var exitBlockquote;\n var isLoose;\n var node;\n var now;\n var end;\n var indented;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n return;\n }\n\n character = value.charAt(index);\n\n markers = commonmark ?\n LIST_ORDERED_COMMONMARK_MARKERS :\n LIST_ORDERED_MARKERS;\n\n if (LIST_UNORDERED_MARKERS[character] === true) {\n marker = character;\n ordered = false;\n } else {\n ordered = true;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || markers[character] !== true) {\n return;\n }\n\n start = parseInt(queue, 10);\n marker = character;\n }\n\n character = value.charAt(++index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n items = [];\n allLines = [];\n emptyLines = [];\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n indented = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n end = index + TAB_SIZE;\n size = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n indented = true;\n }\n\n if (item && size >= item.indent) {\n indented = true;\n }\n\n character = value.charAt(index);\n currentMarker = null;\n\n if (!indented) {\n if (LIST_UNORDERED_MARKERS[character] === true) {\n currentMarker = character;\n index++;\n size++;\n } else {\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n index++;\n\n if (queue && markers[character] === true) {\n currentMarker = character;\n size += queue.length + 1;\n }\n }\n\n if (currentMarker) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n index++;\n } else if (character === C_SPACE) {\n end = index + TAB_SIZE;\n\n while (index < end) {\n if (value.charAt(index) !== C_SPACE) {\n break;\n }\n\n index++;\n size++;\n }\n\n if (index === end && value.charAt(index) === C_SPACE) {\n index -= TAB_SIZE - 1;\n size -= TAB_SIZE - 1;\n }\n } else if (character !== C_NEWLINE && character !== '') {\n currentMarker = null;\n }\n }\n }\n\n if (currentMarker) {\n if (!pedantic && marker !== currentMarker) {\n break;\n }\n\n prefixed = true;\n } else {\n if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) {\n indented = true;\n } else if (commonmark && item) {\n indented = size >= item.indent || size > TAB_SIZE;\n }\n\n prefixed = false;\n index = startIndex;\n }\n\n line = value.slice(startIndex, nextIndex);\n content = startIndex === index ? line : value.slice(index, nextIndex);\n\n if (\n currentMarker === C_ASTERISK ||\n currentMarker === C_UNDERSCORE ||\n currentMarker === C_DASH\n ) {\n if (tokenizers.thematicBreak.call(self, eat, line, true)) {\n break;\n }\n }\n\n prevEmpty = empty;\n empty = !trim(content).length;\n\n if (indented && item) {\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (prefixed) {\n if (emptyLines.length !== 0) {\n item.value.push('');\n item.trail = emptyLines.concat();\n }\n\n item = {\n value: [line],\n indent: size,\n trail: []\n };\n\n items.push(item);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (empty) {\n if (prevEmpty) {\n break;\n }\n\n emptyLines.push(line);\n } else {\n if (prevEmpty) {\n break;\n }\n\n if (interrupt(interuptors, tokenizers, self, [eat, line, true])) {\n break;\n }\n\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n }\n\n index = nextIndex + 1;\n }\n\n node = eat(allLines.join(C_NEWLINE)).reset({\n type: 'list',\n ordered: ordered,\n start: start,\n loose: null,\n children: []\n });\n\n enterTop = self.enterList();\n exitBlockquote = self.enterBlock();\n isLoose = false;\n index = -1;\n length = items.length;\n\n while (++index < length) {\n item = items[index].value.join(C_NEWLINE);\n now = eat.now();\n\n item = eat(item)(listItem(self, item, now), node);\n\n if (item.loose) {\n isLoose = true;\n }\n\n item = items[index].trail.join(C_NEWLINE);\n\n if (index !== length - 1) {\n item += C_NEWLINE;\n }\n\n eat(item);\n }\n\n enterTop();\n exitBlockquote();\n\n node.loose = isLoose;\n\n return node;\n}\n\nfunction listItem(ctx, value, position) {\n var offsets = ctx.offset;\n var fn = ctx.options.pedantic ? pedanticListItem : normalListItem;\n var checked = null;\n var task;\n var indent;\n\n value = fn.apply(null, arguments);\n\n if (ctx.options.gfm) {\n task = value.match(EXPRESSION_TASK_ITEM);\n\n if (task) {\n indent = task[0].length;\n checked = task[1].toLowerCase() === C_X_LOWER;\n offsets[position.line] += indent;\n value = value.slice(indent);\n }\n }\n\n return {\n type: 'listItem',\n loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) ||\n value.charAt(value.length - 1) === C_NEWLINE,\n checked: checked,\n children: ctx.tokenizeBlock(value, position)\n };\n}\n\n/* Create a list-item using overly simple mechanics. */\nfunction pedanticListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer);\n\n /* The initial line was also matched by the below, so\n * we reset the `line`. */\n line = position.line;\n\n return value.replace(EXPRESSION_INITIAL_INDENT, replacer);\n\n /* A simple replacer which removed all matches,\n * and adds their length to `offset`. */\n function replacer($0) {\n offsets[line] = (offsets[line] || 0) + $0.length;\n line++;\n\n return '';\n }\n}\n\n/* Create a list-item using sane mechanics. */\nfunction normalListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n var max;\n var bullet;\n var rest;\n var lines;\n var trimmedLines;\n var index;\n var length;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_BULLET, replacer);\n\n lines = value.split(C_NEWLINE);\n\n trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE);\n\n /* We replaced the initial bullet with something\n * else above, which was used to trick\n * `removeIndentation` into removing some more\n * characters when possible. However, that could\n * result in the initial line to be stripped more\n * than it should be. */\n trimmedLines[0] = rest;\n\n offsets[line] = (offsets[line] || 0) + bullet.length;\n line++;\n\n index = 0;\n length = lines.length;\n\n while (++index < length) {\n offsets[line] = (offsets[line] || 0) +\n lines[index].length - trimmedLines[index].length;\n line++;\n }\n\n return trimmedLines.join(C_NEWLINE);\n\n function replacer($0, $1, $2, $3, $4) {\n bullet = $1 + $2 + $3;\n rest = $4;\n\n /* Make sure that the first nine numbered list items\n * can indent with an extra space. That is, when\n * the bullet did not receive an extra final space. */\n if (Number($2) < 10 && bullet.length % 2 === 1) {\n $2 = C_SPACE + $2;\n }\n\n max = $1 + repeat(C_SPACE, $2.length) + $3;\n\n return max + rest;\n }\n}\n\n\n/***/ }),\n/* 915 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar repeat = __webpack_require__(239);\nvar getIndent = __webpack_require__(402);\n\nmodule.exports = indentation;\n\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\n/* Remove the minimum indent from every line in `value`.\n * Supports both tab, spaced, and mixed indentation (as\n * well as possible). */\nfunction indentation(value, maximum) {\n var values = value.split(C_NEWLINE);\n var position = values.length + 1;\n var minIndent = Infinity;\n var matrix = [];\n var index;\n var indentation;\n var stops;\n var padding;\n\n values.unshift(repeat(C_SPACE, maximum) + '!');\n\n while (position--) {\n indentation = getIndent(values[position]);\n\n matrix[position] = indentation.stops;\n\n if (trim(values[position]).length === 0) {\n continue;\n }\n\n if (indentation.indent) {\n if (indentation.indent > 0 && indentation.indent < minIndent) {\n minIndent = indentation.indent;\n }\n } else {\n minIndent = Infinity;\n\n break;\n }\n }\n\n if (minIndent !== Infinity) {\n position = values.length;\n\n while (position--) {\n stops = matrix[position];\n index = minIndent;\n\n while (index && !(index in stops)) {\n index--;\n }\n\n if (\n trim(values[position]).length !== 0 &&\n minIndent &&\n index !== minIndent\n ) {\n padding = C_TAB;\n } else {\n padding = '';\n }\n\n values[position] = padding + values[position].slice(\n index in stops ? stops[index] + 1 : 0\n );\n }\n }\n\n values.shift();\n\n return values.join(C_NEWLINE);\n}\n\n\n/***/ }),\n/* 916 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = setextHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_EQUALS = '=';\nvar C_DASH = '-';\n\nvar MAX_HEADING_INDENT = 3;\n\n/* Map of characters which can be used to mark setext\n * headers, mapping to their corresponding depth. */\nvar SETEXT_MARKERS = {};\n\nSETEXT_MARKERS[C_EQUALS] = 1;\nSETEXT_MARKERS[C_DASH] = 2;\n\nfunction setextHeading(eat, value, silent) {\n var self = this;\n var now = eat.now();\n var length = value.length;\n var index = -1;\n var subvalue = '';\n var content;\n var queue;\n var character;\n var marker;\n var depth;\n\n /* Eat initial indentation. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE || index >= MAX_HEADING_INDENT) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat content. */\n content = '';\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n index--;\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n content += queue + character;\n queue = '';\n }\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n /* Ensure the content is followed by a newline and a\n * valid marker. */\n character = value.charAt(++index);\n marker = value.charAt(++index);\n\n if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) {\n return;\n }\n\n subvalue += character;\n\n /* Eat Setext-line. */\n queue = marker;\n depth = SETEXT_MARKERS[marker];\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n if (character !== C_NEWLINE) {\n return;\n }\n\n index--;\n break;\n }\n\n queue += character;\n }\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue + queue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n/***/ }),\n/* 917 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar openCloseTag = __webpack_require__(403).openCloseTag;\n\nmodule.exports = blockHTML;\n\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_LT = '<';\n\nfunction blockHTML(eat, value, silent) {\n var self = this;\n var blocks = self.options.blocks;\n var length = value.length;\n var index = 0;\n var next;\n var line;\n var offset;\n var character;\n var count;\n var sequence;\n var subvalue;\n\n var sequences = [\n [/^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true],\n [/^/, true],\n [/^<\\?/, /\\?>/, true],\n [/^/, true],\n [/^/, true],\n [new RegExp('^|$))', 'i'), /^$/, true],\n [new RegExp(openCloseTag.source + '\\\\s*$'), /^$/, false]\n ];\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_LT) {\n return;\n }\n\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index, next);\n offset = -1;\n count = sequences.length;\n\n while (++offset < count) {\n if (sequences[offset][0].test(line)) {\n sequence = sequences[offset];\n break;\n }\n }\n\n if (!sequence) {\n return;\n }\n\n if (silent) {\n return sequence[2];\n }\n\n index = next;\n\n if (!sequence[1].test(line)) {\n while (index < length) {\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index + 1, next);\n\n if (sequence[1].test(line)) {\n if (line) {\n index = next;\n }\n\n break;\n }\n\n index = next;\n }\n }\n\n subvalue = value.slice(0, index);\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n/***/ }),\n/* 918 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar normalize = __webpack_require__(242);\n\nmodule.exports = footnoteDefinition;\nfootnoteDefinition.notInList = true;\nfootnoteDefinition.notInBlock = true;\n\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_CARET = '^';\nvar C_COLON = ':';\n\nvar EXPRESSION_INITIAL_TAB = /^( {4}|\\t)?/gm;\n\nfunction footnoteDefinition(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var index;\n var length;\n var subvalue;\n var now;\n var currentLine;\n var content;\n var queue;\n var subqueue;\n var character;\n var identifier;\n var add;\n var exit;\n\n if (!self.options.footnotes) {\n return;\n }\n\n index = 0;\n length = value.length;\n subvalue = '';\n now = eat.now();\n currentLine = now.line;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n if (\n value.charAt(index) !== C_BRACKET_OPEN ||\n value.charAt(index + 1) !== C_CARET\n ) {\n return;\n }\n\n subvalue += C_BRACKET_OPEN + C_CARET;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n identifier = normalize(queue);\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n queue = '';\n content = '';\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n subqueue = character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n queue += subqueue;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n if (subqueue.length === 0) {\n break;\n }\n\n queue += subqueue;\n }\n\n if (queue) {\n content += queue;\n queue = '';\n }\n\n content += character;\n index++;\n }\n\n subvalue += content;\n\n content = content.replace(EXPRESSION_INITIAL_TAB, function (line) {\n offsets[currentLine] = (offsets[currentLine] || 0) + line.length;\n currentLine++;\n\n return '';\n });\n\n add = eat(subvalue);\n\n exit = self.enterBlock();\n content = self.tokenizeBlock(content, now);\n exit();\n\n return add({\n type: 'footnoteDefinition',\n identifier: identifier,\n children: content\n });\n}\n\n\n/***/ }),\n/* 919 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = collapse\n\n/* collapse(' \\t\\nbar \\nbaz\\t'); // ' bar baz ' */\nfunction collapse(value) {\n return String(value).replace(/\\s+/g, ' ')\n}\n\n\n/***/ }),\n/* 920 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar normalize = __webpack_require__(242);\n\nmodule.exports = definition;\ndefinition.notInList = true;\ndefinition.notInBlock = true;\n\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_COLON = ':';\nvar C_LT = '<';\nvar C_GT = '>';\n\nfunction definition(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var beforeURL;\n var beforeTitle;\n var queue;\n var character;\n var test;\n var identifier;\n var url;\n var title;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n identifier = queue;\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!isEnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === isEnclosedURLCharacter.delimiter) {\n subvalue += C_LT + queue + character;\n index++;\n } else {\n if (commonmark) {\n return;\n }\n\n index -= queue.length + 1;\n queue = '';\n }\n }\n\n if (!queue) {\n while (index < length) {\n character = value.charAt(index);\n\n if (!isUnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n subvalue += queue;\n }\n\n if (!queue) {\n return;\n }\n\n url = queue;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n test = null;\n\n if (character === C_DOUBLE_QUOTE) {\n test = C_DOUBLE_QUOTE;\n } else if (character === C_SINGLE_QUOTE) {\n test = C_SINGLE_QUOTE;\n } else if (character === C_PAREN_OPEN) {\n test = C_PAREN_CLOSE;\n }\n\n if (!test) {\n queue = '';\n index = subvalue.length;\n } else if (queue) {\n subvalue += queue + character;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === test) {\n break;\n }\n\n if (character === C_NEWLINE) {\n index++;\n character = value.charAt(index);\n\n if (character === C_NEWLINE || character === test) {\n return;\n }\n\n queue += C_NEWLINE;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== test) {\n return;\n }\n\n beforeTitle = subvalue;\n subvalue += queue + character;\n index++;\n title = queue;\n queue = '';\n } else {\n return;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n if (silent) {\n return true;\n }\n\n beforeURL = eat(beforeURL).test().end;\n url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n return eat(subvalue)({\n type: 'definition',\n identifier: normalize(identifier),\n title: title || null,\n url: url\n });\n }\n}\n\n/* Check if `character` can be inside an enclosed URI. */\nfunction isEnclosedURLCharacter(character) {\n return character !== C_GT &&\n character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE;\n}\n\nisEnclosedURLCharacter.delimiter = C_GT;\n\n/* Check if `character` can be inside an unclosed URI. */\nfunction isUnclosedURLCharacter(character) {\n return character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE &&\n !whitespace(character);\n}\n\n\n/***/ }),\n/* 921 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\n\nmodule.exports = table;\n\nvar C_BACKSLASH = '\\\\';\nvar C_TICK = '`';\nvar C_DASH = '-';\nvar C_PIPE = '|';\nvar C_COLON = ':';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\nvar MIN_TABLE_COLUMNS = 1;\nvar MIN_TABLE_ROWS = 2;\n\nvar TABLE_ALIGN_LEFT = 'left';\nvar TABLE_ALIGN_CENTER = 'center';\nvar TABLE_ALIGN_RIGHT = 'right';\nvar TABLE_ALIGN_NONE = null;\n\nfunction table(eat, value, silent) {\n var self = this;\n var index;\n var alignments;\n var alignment;\n var subvalue;\n var row;\n var length;\n var lines;\n var queue;\n var character;\n var hasDash;\n var align;\n var cell;\n var preamble;\n var count;\n var opening;\n var now;\n var position;\n var lineCount;\n var line;\n var rows;\n var table;\n var lineIndex;\n var pipeIndex;\n var first;\n\n /* Exit when not in gfm-mode. */\n if (!self.options.gfm) {\n return;\n }\n\n /* Get the rows.\n * Detecting tables soon is hard, so there are some\n * checks for performance here, such as the minimum\n * number of rows, and allowed characters in the\n * alignment row. */\n index = 0;\n lineCount = 0;\n length = value.length + 1;\n lines = [];\n\n while (index < length) {\n lineIndex = value.indexOf(C_NEWLINE, index);\n pipeIndex = value.indexOf(C_PIPE, index + 1);\n\n if (lineIndex === -1) {\n lineIndex = value.length;\n }\n\n if (pipeIndex === -1 || pipeIndex > lineIndex) {\n if (lineCount < MIN_TABLE_ROWS) {\n return;\n }\n\n break;\n }\n\n lines.push(value.slice(index, lineIndex));\n lineCount++;\n index = lineIndex + 1;\n }\n\n /* Parse the alignment row. */\n subvalue = lines.join(C_NEWLINE);\n alignments = lines.splice(1, 1)[0] || [];\n index = 0;\n length = alignments.length;\n lineCount--;\n alignment = false;\n align = [];\n\n while (index < length) {\n character = alignments.charAt(index);\n\n if (character === C_PIPE) {\n hasDash = null;\n\n if (alignment === false) {\n if (first === false) {\n return;\n }\n } else {\n align.push(alignment);\n alignment = false;\n }\n\n first = false;\n } else if (character === C_DASH) {\n hasDash = true;\n alignment = alignment || TABLE_ALIGN_NONE;\n } else if (character === C_COLON) {\n if (alignment === TABLE_ALIGN_LEFT) {\n alignment = TABLE_ALIGN_CENTER;\n } else if (hasDash && alignment === TABLE_ALIGN_NONE) {\n alignment = TABLE_ALIGN_RIGHT;\n } else {\n alignment = TABLE_ALIGN_LEFT;\n }\n } else if (!whitespace(character)) {\n return;\n }\n\n index++;\n }\n\n if (alignment !== false) {\n align.push(alignment);\n }\n\n /* Exit when without enough columns. */\n if (align.length < MIN_TABLE_COLUMNS) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n /* Parse the rows. */\n position = -1;\n rows = [];\n\n table = eat(subvalue).reset({\n type: 'table',\n align: align,\n children: rows\n });\n\n while (++position < lineCount) {\n line = lines[position];\n row = {type: 'tableRow', children: []};\n\n /* Eat a newline character when this is not the\n * first row. */\n if (position) {\n eat(C_NEWLINE);\n }\n\n /* Eat the row. */\n eat(line).reset(row, table);\n\n length = line.length + 1;\n index = 0;\n queue = '';\n cell = '';\n preamble = true;\n count = null;\n opening = null;\n\n while (index < length) {\n character = line.charAt(index);\n\n if (character === C_TAB || character === C_SPACE) {\n if (cell) {\n queue += character;\n } else {\n eat(character);\n }\n\n index++;\n continue;\n }\n\n if (character === '' || character === C_PIPE) {\n if (preamble) {\n eat(character);\n } else {\n if (character && opening) {\n queue += character;\n index++;\n continue;\n }\n\n if ((cell || character) && !preamble) {\n subvalue = cell;\n\n if (queue.length > 1) {\n if (character) {\n subvalue += queue.slice(0, queue.length - 1);\n queue = queue.charAt(queue.length - 1);\n } else {\n subvalue += queue;\n queue = '';\n }\n }\n\n now = eat.now();\n\n eat(subvalue)({\n type: 'tableCell',\n children: self.tokenizeInline(cell, now)\n }, row);\n }\n\n eat(queue + character);\n\n queue = '';\n cell = '';\n }\n } else {\n if (queue) {\n cell += queue;\n queue = '';\n }\n\n cell += character;\n\n if (character === C_BACKSLASH && index !== length - 2) {\n cell += line.charAt(index + 1);\n index++;\n }\n\n if (character === C_TICK) {\n count = 1;\n\n while (line.charAt(index + 1) === character) {\n cell += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n }\n }\n\n preamble = false;\n index++;\n }\n\n /* Eat the alignment row. */\n if (!position) {\n eat(C_NEWLINE + alignments);\n }\n }\n\n return table;\n}\n\n\n/***/ }),\n/* 922 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar decimal = __webpack_require__(180);\nvar trimTrailingLines = __webpack_require__(240);\nvar interrupt = __webpack_require__(241);\n\nmodule.exports = paragraph;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar TAB_SIZE = 4;\n\n/* Tokenise paragraph. */\nfunction paragraph(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var commonmark = settings.commonmark;\n var gfm = settings.gfm;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptParagraph;\n var index = value.indexOf(C_NEWLINE);\n var length = value.length;\n var position;\n var subvalue;\n var character;\n var size;\n var now;\n\n while (index < length) {\n /* Eat everything if there’s no following newline. */\n if (index === -1) {\n index = length;\n break;\n }\n\n /* Stop if the next character is NEWLINE. */\n if (value.charAt(index + 1) === C_NEWLINE) {\n break;\n }\n\n /* In commonmark-mode, following indented lines\n * are part of the paragraph. */\n if (commonmark) {\n size = 0;\n position = index + 1;\n\n while (position < length) {\n character = value.charAt(position);\n\n if (character === C_TAB) {\n size = TAB_SIZE;\n break;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n position++;\n }\n\n if (size >= TAB_SIZE) {\n index = value.indexOf(C_NEWLINE, index + 1);\n continue;\n }\n }\n\n subvalue = value.slice(index + 1);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) {\n break;\n }\n\n /* Break if the following line starts a list, when\n * already in a list, or when in commonmark, or when\n * in gfm mode and the bullet is *not* numeric. */\n if (\n tokenizers.list.call(self, eat, subvalue, true) &&\n (\n self.inList ||\n commonmark ||\n (gfm && !decimal(trim.left(subvalue).charAt(0)))\n )\n ) {\n break;\n }\n\n position = index;\n index = value.indexOf(C_NEWLINE, index + 1);\n\n if (index !== -1 && trim(value.slice(position, index)) === '') {\n index = position;\n break;\n }\n }\n\n subvalue = value.slice(0, index);\n\n if (trim(subvalue) === '') {\n eat(subvalue);\n\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n subvalue = trimTrailingLines(subvalue);\n\n return eat(subvalue)({\n type: 'paragraph',\n children: self.tokenizeInline(subvalue, now)\n });\n}\n\n\n/***/ }),\n/* 923 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar locate = __webpack_require__(924);\n\nmodule.exports = escape;\nescape.locator = locate;\n\nfunction escape(eat, value, silent) {\n var self = this;\n var character;\n var node;\n\n if (value.charAt(0) === '\\\\') {\n character = value.charAt(1);\n\n if (self.escape.indexOf(character) !== -1) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (character === '\\n') {\n node = {type: 'break'};\n } else {\n node = {\n type: 'text',\n value: character\n };\n }\n\n return eat('\\\\' + character)(node);\n }\n }\n}\n\n\n/***/ }),\n/* 924 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('\\\\', fromIndex);\n}\n\n\n/***/ }),\n/* 925 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar decode = __webpack_require__(238);\nvar locate = __webpack_require__(404);\n\nmodule.exports = autoLink;\nautoLink.locator = locate;\nautoLink.notInLink = true;\n\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_AT_SIGN = '@';\nvar C_SLASH = '/';\nvar MAILTO = 'mailto:';\nvar MAILTO_LENGTH = MAILTO.length;\n\n/* Tokenise a link. */\nfunction autoLink(eat, value, silent) {\n var self;\n var subvalue;\n var length;\n var index;\n var queue;\n var character;\n var hasAtCharacter;\n var link;\n var now;\n var content;\n var tokenizers;\n var exit;\n\n if (value.charAt(0) !== C_LT) {\n return;\n }\n\n self = this;\n subvalue = '';\n length = value.length;\n index = 0;\n queue = '';\n hasAtCharacter = false;\n link = '';\n\n index++;\n subvalue = C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n whitespace(character) ||\n character === C_GT ||\n character === C_AT_SIGN ||\n (character === ':' && value.charAt(index + 1) === C_SLASH)\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n link += queue;\n queue = '';\n\n character = value.charAt(index);\n link += character;\n index++;\n\n if (character === C_AT_SIGN) {\n hasAtCharacter = true;\n } else {\n if (\n character !== ':' ||\n value.charAt(index + 1) !== C_SLASH\n ) {\n return;\n }\n\n link += C_SLASH;\n index++;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_GT) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || character !== C_GT) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n link += queue;\n content = link;\n subvalue += link + character;\n now = eat.now();\n now.column++;\n now.offset++;\n\n if (hasAtCharacter) {\n if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) {\n content = content.substr(MAILTO_LENGTH);\n now.column += MAILTO_LENGTH;\n now.offset += MAILTO_LENGTH;\n } else {\n link = MAILTO + link;\n }\n }\n\n /* Temporarily remove all tokenizers except text in autolinks. */\n tokenizers = self.inlineTokenizers;\n self.inlineTokenizers = {text: tokenizers.text};\n\n exit = self.enterLink();\n\n content = self.tokenizeInline(content, now);\n\n self.inlineTokenizers = tokenizers;\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(link, {nonTerminated: false}),\n children: content\n });\n}\n\n\n/***/ }),\n/* 926 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar decode = __webpack_require__(238);\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(927);\n\nmodule.exports = url;\nurl.locator = locate;\nurl.notInLink = true;\n\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_AT_SIGN = '@';\n\nvar HTTP_PROTOCOL = 'http://';\nvar HTTPS_PROTOCOL = 'https://';\nvar MAILTO_PROTOCOL = 'mailto:';\n\nvar PROTOCOLS = [\n HTTP_PROTOCOL,\n HTTPS_PROTOCOL,\n MAILTO_PROTOCOL\n];\n\nvar PROTOCOLS_LENGTH = PROTOCOLS.length;\n\nfunction url(eat, value, silent) {\n var self = this;\n var subvalue;\n var content;\n var character;\n var index;\n var position;\n var protocol;\n var match;\n var length;\n var queue;\n var parenCount;\n var nextCharacter;\n var exit;\n\n if (!self.options.gfm) {\n return;\n }\n\n subvalue = '';\n index = -1;\n length = PROTOCOLS_LENGTH;\n\n while (++index < length) {\n protocol = PROTOCOLS[index];\n match = value.slice(0, protocol.length);\n\n if (match.toLowerCase() === protocol) {\n subvalue = match;\n break;\n }\n }\n\n if (!subvalue) {\n return;\n }\n\n index = subvalue.length;\n length = value.length;\n queue = '';\n parenCount = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_LT) {\n break;\n }\n\n if (\n character === '.' ||\n character === ',' ||\n character === ':' ||\n character === ';' ||\n character === '\"' ||\n character === '\\'' ||\n character === ')' ||\n character === ']'\n ) {\n nextCharacter = value.charAt(index + 1);\n\n if (!nextCharacter || whitespace(nextCharacter)) {\n break;\n }\n }\n\n if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) {\n parenCount++;\n }\n\n if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) {\n parenCount--;\n\n if (parenCount < 0) {\n break;\n }\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue += queue;\n content = subvalue;\n\n if (protocol === MAILTO_PROTOCOL) {\n position = queue.indexOf(C_AT_SIGN);\n\n if (position === -1 || position === length - 1) {\n return;\n }\n\n content = content.substr(MAILTO_PROTOCOL.length);\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n exit = self.enterLink();\n content = self.tokenizeInline(content, eat.now());\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(subvalue, {nonTerminated: false}),\n children: content\n });\n}\n\n\n/***/ }),\n/* 927 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nvar PROTOCOLS = ['https://', 'http://', 'mailto:'];\n\nfunction locate(value, fromIndex) {\n var length = PROTOCOLS.length;\n var index = -1;\n var min = -1;\n var position;\n\n if (!this.options.gfm) {\n return -1;\n }\n\n while (++index < length) {\n position = value.indexOf(PROTOCOLS[index], fromIndex);\n\n if (position !== -1 && (position < min || min === -1)) {\n min = position;\n }\n }\n\n return min;\n}\n\n\n/***/ }),\n/* 928 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabetical = __webpack_require__(400);\nvar locate = __webpack_require__(404);\nvar tag = __webpack_require__(403).tag;\n\nmodule.exports = inlineHTML;\ninlineHTML.locator = locate;\n\nvar EXPRESSION_HTML_LINK_OPEN = /^/i;\n\nfunction inlineHTML(eat, value, silent) {\n var self = this;\n var length = value.length;\n var character;\n var subvalue;\n\n if (value.charAt(0) !== '<' || length < 3) {\n return;\n }\n\n character = value.charAt(1);\n\n if (\n !alphabetical(character) &&\n character !== '?' &&\n character !== '!' &&\n character !== '/'\n ) {\n return;\n }\n\n subvalue = value.match(tag);\n\n if (!subvalue) {\n return;\n }\n\n /* istanbul ignore if - not used yet. */\n if (silent) {\n return true;\n }\n\n subvalue = subvalue[0];\n\n if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) {\n self.inLink = true;\n } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) {\n self.inLink = false;\n }\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n/***/ }),\n/* 929 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(405);\n\nmodule.exports = link;\nlink.locator = locate;\n\nvar own = {}.hasOwnProperty;\n\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_TICK = '`';\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\n\n/* Map of characters, which can be used to mark link\n * and image titles. */\nvar LINK_MARKERS = {};\n\nLINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nLINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\n\n/* Map of characters, which can be used to mark link\n * and image titles in commonmark-mode. */\nvar COMMONMARK_LINK_MARKERS = {};\n\nCOMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE;\n\nfunction link(eat, value, silent) {\n var self = this;\n var subvalue = '';\n var index = 0;\n var character = value.charAt(0);\n var pedantic = self.options.pedantic;\n var commonmark = self.options.commonmark;\n var gfm = self.options.gfm;\n var closed;\n var count;\n var opening;\n var beforeURL;\n var beforeTitle;\n var subqueue;\n var hasMarker;\n var markers;\n var isImage;\n var content;\n var marker;\n var length;\n var title;\n var depth;\n var queue;\n var url;\n var now;\n var exit;\n var node;\n\n /* Detect whether this is an image. */\n if (character === '!') {\n isImage = true;\n subvalue = character;\n character = value.charAt(++index);\n }\n\n /* Eat the opening. */\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n /* Exit when this is a link and we’re already inside\n * a link. */\n if (!isImage && self.inLink) {\n return;\n }\n\n subvalue += character;\n queue = '';\n index++;\n\n /* Eat the content. */\n length = value.length;\n now = eat.now();\n depth = 0;\n\n now.column += index;\n now.offset += index;\n\n while (index < length) {\n character = value.charAt(index);\n subqueue = character;\n\n if (character === C_TICK) {\n /* Inline-code in link content. */\n count = 1;\n\n while (value.charAt(index + 1) === C_TICK) {\n subqueue += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n } else if (character === C_BACKSLASH) {\n /* Allow brackets to be escaped. */\n index++;\n subqueue += value.charAt(index);\n /* In GFM mode, brackets in code still count.\n * In all other modes, they don’t. This empty\n * block prevents the next statements are\n * entered. */\n } else if ((!opening || gfm) && character === C_BRACKET_OPEN) {\n depth++;\n } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) {\n if (depth) {\n depth--;\n } else {\n /* Allow white-space between content and\n * url in GFM mode. */\n if (!pedantic) {\n while (index < length) {\n character = value.charAt(index + 1);\n\n if (!whitespace(character)) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n }\n\n if (value.charAt(index + 1) !== C_PAREN_OPEN) {\n return;\n }\n\n subqueue += C_PAREN_OPEN;\n closed = true;\n index++;\n\n break;\n }\n }\n\n queue += subqueue;\n subqueue = '';\n index++;\n }\n\n /* Eat the content closing. */\n if (!closed) {\n return;\n }\n\n content = queue;\n subvalue += queue + subqueue;\n index++;\n\n /* Eat white-space. */\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat the URL. */\n character = value.charAt(index);\n markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS;\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n beforeURL += C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_GT) {\n break;\n }\n\n if (commonmark && character === '\\n') {\n return;\n }\n\n queue += character;\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n subvalue += C_LT + queue + C_GT;\n url = queue;\n index++;\n } else {\n character = null;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (subqueue && own.call(markers, character)) {\n break;\n }\n\n if (whitespace(character)) {\n if (!pedantic) {\n break;\n }\n\n subqueue += character;\n } else {\n if (character === C_PAREN_OPEN) {\n depth++;\n } else if (character === C_PAREN_CLOSE) {\n if (depth === 0) {\n break;\n }\n\n depth--;\n }\n\n queue += subqueue;\n subqueue = '';\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n }\n\n index++;\n }\n\n subvalue += queue;\n url = queue;\n index = subvalue.length;\n }\n\n /* Eat white-space. */\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n subvalue += queue;\n\n /* Eat the title. */\n if (queue && own.call(markers, character)) {\n index++;\n subvalue += character;\n queue = '';\n marker = markers[character];\n beforeTitle = subvalue;\n\n /* In commonmark-mode, things are pretty easy: the\n * marker cannot occur inside the title.\n *\n * Non-commonmark does, however, support nested\n * delimiters. */\n if (commonmark) {\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n index++;\n queue += character;\n }\n\n character = value.charAt(index);\n\n if (character !== marker) {\n return;\n }\n\n title = queue;\n subvalue += queue + character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n } else {\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n if (hasMarker) {\n queue += marker + subqueue;\n subqueue = '';\n }\n\n hasMarker = true;\n } else if (!hasMarker) {\n queue += character;\n } else if (character === C_PAREN_CLOSE) {\n subvalue += queue + marker + subqueue;\n title = queue;\n break;\n } else if (whitespace(character)) {\n subqueue += character;\n } else {\n queue += marker + subqueue + character;\n subqueue = '';\n hasMarker = false;\n }\n\n index++;\n }\n }\n }\n\n if (value.charAt(index) !== C_PAREN_CLOSE) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n subvalue += C_PAREN_CLOSE;\n\n url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n node = {\n type: isImage ? 'image' : 'link',\n title: title || null,\n url: url\n };\n\n if (isImage) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n } else {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n }\n\n return eat(subvalue)(node);\n}\n\n\n/***/ }),\n/* 930 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(405);\nvar normalize = __webpack_require__(242);\n\nmodule.exports = reference;\nreference.locator = locate;\n\nvar T_LINK = 'link';\nvar T_IMAGE = 'image';\nvar T_FOOTNOTE = 'footnote';\nvar REFERENCE_TYPE_SHORTCUT = 'shortcut';\nvar REFERENCE_TYPE_COLLAPSED = 'collapsed';\nvar REFERENCE_TYPE_FULL = 'full';\nvar C_CARET = '^';\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\n\nfunction reference(eat, value, silent) {\n var self = this;\n var character = value.charAt(0);\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var intro = '';\n var type = T_LINK;\n var referenceType = REFERENCE_TYPE_SHORTCUT;\n var content;\n var identifier;\n var now;\n var node;\n var exit;\n var queue;\n var bracketed;\n var depth;\n\n /* Check whether we’re eating an image. */\n if (character === '!') {\n type = T_IMAGE;\n intro = character;\n character = value.charAt(++index);\n }\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n intro += character;\n queue = '';\n\n /* Check whether we’re eating a footnote. */\n if (self.options.footnotes && value.charAt(index) === C_CARET) {\n /* Exit if `![^` is found, so the `!` will be seen as text after this,\n * and we’ll enter this function again when `[^` is found. */\n if (type === T_IMAGE) {\n return;\n }\n\n intro += C_CARET;\n index++;\n type = T_FOOTNOTE;\n }\n\n /* Eat the text. */\n depth = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN) {\n bracketed = true;\n depth++;\n } else if (character === C_BRACKET_CLOSE) {\n if (!depth) {\n break;\n }\n\n depth--;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n\n subvalue = queue;\n content = queue;\n character = value.charAt(index);\n\n if (character !== C_BRACKET_CLOSE) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n /* Inline footnotes cannot have an identifier. */\n if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) {\n identifier = '';\n queue += character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n identifier += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n identifier += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED;\n queue += identifier + character;\n index++;\n } else {\n identifier = '';\n }\n\n subvalue += queue;\n queue = '';\n } else {\n if (!content) {\n return;\n }\n\n identifier = content;\n }\n\n /* Brackets cannot be inside the identifier. */\n if (referenceType !== REFERENCE_TYPE_FULL && bracketed) {\n return;\n }\n\n subvalue = intro + subvalue;\n\n if (type === T_LINK && self.inLink) {\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) {\n return eat(subvalue)({\n type: 'footnote',\n children: this.tokenizeInline(content, eat.now())\n });\n }\n\n now = eat.now();\n now.column += intro.length;\n now.offset += intro.length;\n identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content;\n\n node = {\n type: type + 'Reference',\n identifier: normalize(identifier)\n };\n\n if (type === T_LINK || type === T_IMAGE) {\n node.referenceType = referenceType;\n }\n\n if (type === T_LINK) {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n } else if (type === T_IMAGE) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n }\n\n return eat(subvalue)(node);\n}\n\n\n/***/ }),\n/* 931 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(932);\n\nmodule.exports = strong;\nstrong.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction strong(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (\n (character !== C_ASTERISK && character !== C_UNDERSCORE) ||\n value.charAt(++index) !== character\n ) {\n return;\n }\n\n pedantic = self.options.pedantic;\n marker = character;\n subvalue = marker + marker;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (\n character === marker &&\n value.charAt(index + 1) === marker &&\n (!pedantic || !whitespace(prev))\n ) {\n character = value.charAt(index + 2);\n\n if (character !== marker) {\n if (!trim(queue)) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n return eat(subvalue + queue + subvalue)({\n type: 'strong',\n children: self.tokenizeInline(queue, now)\n });\n }\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n/***/ }),\n/* 932 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('**', fromIndex);\n var underscore = value.indexOf('__', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n/***/ }),\n/* 933 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar word = __webpack_require__(934);\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(935);\n\nmodule.exports = emphasis;\nemphasis.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction emphasis(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (character !== C_ASTERISK && character !== C_UNDERSCORE) {\n return;\n }\n\n pedantic = self.options.pedantic;\n subvalue = character;\n marker = character;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (character === marker && (!pedantic || !whitespace(prev))) {\n character = value.charAt(++index);\n\n if (character !== marker) {\n if (!trim(queue) || prev === marker) {\n return;\n }\n\n if (!pedantic && marker === C_UNDERSCORE && word(character)) {\n queue += marker;\n continue;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column++;\n now.offset++;\n\n return eat(subvalue + queue + marker)({\n type: 'emphasis',\n children: self.tokenizeInline(queue, now)\n });\n }\n\n queue += marker;\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n/***/ }),\n/* 934 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = wordCharacter\n\nvar fromCode = String.fromCharCode\nvar re = /\\w/\n\n/* Check if the given character code, or the character\n * code at the first character, is a word character. */\nfunction wordCharacter(character) {\n return re.test(\n typeof character === 'number' ? fromCode(character) : character.charAt(0)\n )\n}\n\n\n/***/ }),\n/* 935 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('*', fromIndex);\n var underscore = value.indexOf('_', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n/***/ }),\n/* 936 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(937);\n\nmodule.exports = strikethrough;\nstrikethrough.locator = locate;\n\nvar C_TILDE = '~';\nvar DOUBLE = '~~';\n\nfunction strikethrough(eat, value, silent) {\n var self = this;\n var character = '';\n var previous = '';\n var preceding = '';\n var subvalue = '';\n var index;\n var length;\n var now;\n\n if (\n !self.options.gfm ||\n value.charAt(0) !== C_TILDE ||\n value.charAt(1) !== C_TILDE ||\n whitespace(value.charAt(2))\n ) {\n return;\n }\n\n index = 1;\n length = value.length;\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (\n character === C_TILDE &&\n previous === C_TILDE &&\n (!preceding || !whitespace(preceding))\n ) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n return eat(DOUBLE + subvalue + DOUBLE)({\n type: 'delete',\n children: self.tokenizeInline(subvalue, now)\n });\n }\n\n subvalue += previous;\n preceding = previous;\n previous = character;\n }\n}\n\n\n/***/ }),\n/* 937 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('~~', fromIndex);\n}\n\n\n/***/ }),\n/* 938 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(939);\n\nmodule.exports = inlineCode;\ninlineCode.locator = locate;\n\nvar C_TICK = '`';\n\n/* Tokenise inline code. */\nfunction inlineCode(eat, value, silent) {\n var length = value.length;\n var index = 0;\n var queue = '';\n var tickQueue = '';\n var contentQueue;\n var subqueue;\n var count;\n var openingCount;\n var subvalue;\n var character;\n var found;\n var next;\n\n while (index < length) {\n if (value.charAt(index) !== C_TICK) {\n break;\n }\n\n queue += C_TICK;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue = queue;\n openingCount = index;\n queue = '';\n next = value.charAt(index);\n count = 0;\n\n while (index < length) {\n character = next;\n next = value.charAt(index + 1);\n\n if (character === C_TICK) {\n count++;\n tickQueue += character;\n } else {\n count = 0;\n queue += character;\n }\n\n if (count && next !== C_TICK) {\n if (count === openingCount) {\n subvalue += queue + tickQueue;\n found = true;\n break;\n }\n\n queue += tickQueue;\n tickQueue = '';\n }\n\n index++;\n }\n\n if (!found) {\n if (openingCount % 2 !== 0) {\n return;\n }\n\n queue = '';\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n contentQueue = '';\n subqueue = '';\n length = queue.length;\n index = -1;\n\n while (++index < length) {\n character = queue.charAt(index);\n\n if (whitespace(character)) {\n subqueue += character;\n continue;\n }\n\n if (subqueue) {\n if (contentQueue) {\n contentQueue += subqueue;\n }\n\n subqueue = '';\n }\n\n contentQueue += character;\n }\n\n return eat(subvalue)({\n type: 'inlineCode',\n value: contentQueue\n });\n}\n\n\n/***/ }),\n/* 939 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('`', fromIndex);\n}\n\n\n/***/ }),\n/* 940 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar locate = __webpack_require__(941);\n\nmodule.exports = hardBreak;\nhardBreak.locator = locate;\n\nvar MIN_BREAK_LENGTH = 2;\n\nfunction hardBreak(eat, value, silent) {\n var length = value.length;\n var index = -1;\n var queue = '';\n var character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === '\\n') {\n if (index < MIN_BREAK_LENGTH) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n queue += character;\n\n return eat(queue)({type: 'break'});\n }\n\n if (character !== ' ') {\n return;\n }\n\n queue += character;\n }\n}\n\n\n/***/ }),\n/* 941 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var index = value.indexOf('\\n', fromIndex);\n\n while (index > fromIndex) {\n if (value.charAt(index - 1) !== ' ') {\n break;\n }\n\n index--;\n }\n\n return index;\n}\n\n\n/***/ }),\n/* 942 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = text;\n\nfunction text(eat, value, silent) {\n var self = this;\n var methods;\n var tokenizers;\n var index;\n var length;\n var subvalue;\n var position;\n var tokenizer;\n var name;\n var min;\n var now;\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n methods = self.inlineMethods;\n length = methods.length;\n tokenizers = self.inlineTokenizers;\n index = -1;\n min = value.length;\n\n while (++index < length) {\n name = methods[index];\n\n if (name === 'text' || !tokenizers[name]) {\n continue;\n }\n\n tokenizer = tokenizers[name].locator;\n\n if (!tokenizer) {\n eat.file.fail('Missing locator: `' + name + '`');\n }\n\n position = tokenizer.call(self, value, 1);\n\n if (position !== -1 && position < min) {\n min = position;\n }\n }\n\n subvalue = value.slice(0, min);\n now = eat.now();\n\n self.decode(subvalue, now, function (content, position, source) {\n eat(source || content)({\n type: 'text',\n value: content\n });\n });\n}\n\n\n/***/ }),\n/* 943 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar visitWithParents = __webpack_require__(944);\n\nfunction addListMetadata() {\n return function (ast) {\n visitWithParents(ast, 'list', function (listNode, parents) {\n var depth = 0, i, n;\n for (i = 0, n = parents.length; i < n; i++) {\n if (parents[i].type === 'list') depth += 1;\n }\n for (i = 0, n = listNode.children.length; i < n; i++) {\n var child = listNode.children[i];\n child.index = i;\n child.ordered = listNode.ordered;\n }\n listNode.depth = depth;\n });\n return ast;\n };\n}\n\nmodule.exports = addListMetadata;\n\n\n/***/ }),\n/* 944 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* Expose. */\nmodule.exports = visitParents\n\n/* Visit. */\nfunction visitParents(tree, type, visitor) {\n var stack = []\n\n if (typeof type === 'function') {\n visitor = type\n type = null\n }\n\n one(tree)\n\n /* Visit a single node. */\n function one(node) {\n var result\n\n if (!type || node.type === type) {\n result = visitor(node, stack.concat())\n }\n\n if (node.children && result !== false) {\n return all(node.children, node)\n }\n\n return result\n }\n\n /* Visit children in `parent`. */\n function all(children, parent) {\n var length = children.length\n var index = -1\n var child\n\n stack.push(parent)\n\n while (++index < length) {\n child = children[index]\n\n if (child && one(child) === false) {\n return false\n }\n }\n\n stack.pop()\n\n return true\n }\n}\n\n\n/***/ }),\n/* 945 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Naive, simple plugin to match inline nodes without attributes\n * This allows say foo, but not foo\n * For proper HTML support, you'll want a different plugin\n **/\nvar visit = __webpack_require__(181);\n\nvar type = 'virtualHtml';\nvar selfClosingRe = /^<(area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)\\s*\\/?>$/i;\nvar simpleTagRe = /^<(\\/?)([a-z]+)\\s*>$/;\n\nmodule.exports = function (tree) {\n var open = void 0;\n var currentParent = void 0;\n visit(tree, 'html', function (node, index, parent) {\n if (currentParent !== parent) {\n open = [];\n currentParent = parent;\n }\n\n var selfClosing = getSelfClosing(node);\n if (selfClosing) {\n parent.children.splice(index, 1, {\n type: type,\n tag: selfClosing,\n position: node.position\n });\n return true;\n }\n\n var current = getSimpleTag(node, parent);\n if (!current) {\n return true;\n }\n\n var matching = findAndPull(open, current.tag);\n\n if (matching) {\n parent.children.splice(index, 0, virtual(current, matching, parent));\n } else if (!current.opening) {\n open.push(current);\n }\n\n return true;\n }, true // Iterate in reverse\n );\n\n return tree;\n};\n\nfunction findAndPull(open, matchingTag) {\n var i = open.length;\n while (i--) {\n if (open[i].tag === matchingTag) {\n return open.splice(i, 1)[0];\n }\n }\n\n return false;\n}\n\nfunction getSimpleTag(node, parent) {\n var match = node.value.match(simpleTagRe);\n return match ? { tag: match[2], opening: !match[1], node: node } : false;\n}\n\nfunction getSelfClosing(node) {\n var match = node.value.match(selfClosingRe);\n return match ? match[1] : false;\n}\n\nfunction virtual(fromNode, toNode, parent) {\n var fromIndex = parent.children.indexOf(fromNode.node);\n var toIndex = parent.children.indexOf(toNode.node);\n\n var extracted = parent.children.splice(fromIndex, toIndex - fromIndex + 1);\n var children = extracted.slice(1, -1);\n return {\n type: type,\n children: children,\n tag: fromNode.tag,\n position: {\n start: fromNode.node.position.start,\n end: toNode.node.position.end,\n indent: []\n }\n };\n}\n\n/***/ }),\n/* 946 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar visit = __webpack_require__(181);\n\nexports.ofType = function (types, mode) {\n return function (node) {\n types.forEach(function (type) {\n return visit(node, type, disallow, true);\n });\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nexports.ifNotMatch = function (allowNode, mode) {\n return function (node) {\n visit(node, disallow, true);\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent && !allowNode(node, index, parent)) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nfunction untangle(node, index, parent, mode) {\n if (mode === 'remove') {\n parent.children.splice(index, 1);\n } else if (mode === 'unwrap') {\n var args = [index, 1];\n\n if (node.children) {\n args = args.concat(node.children);\n }\n\n Array.prototype.splice.apply(parent.children, args);\n }\n}\n\n/***/ }),\n/* 947 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar React = __webpack_require__(0);\nvar xtend = __webpack_require__(76);\n\nfunction astToReact(node, options) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var renderer = options.renderers[node.type];\n\n var pos = node.position.start;\n var key = [node.type, pos.line, pos.column].join('-');\n\n if (node.type === 'text') {\n return renderer ? renderer(node.value, key) : node.value;\n }\n\n if (typeof renderer !== 'function' && typeof renderer !== 'string' && !isReactFragment(renderer)) {\n throw new Error('Renderer for type `' + node.type + '` not defined or is not renderable');\n }\n\n var nodeProps = getNodeProps(node, key, options, renderer, parent, index);\n\n return React.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || undefined);\n\n function resolveChildren() {\n return node.children && node.children.map(function (childNode, i) {\n return astToReact(childNode, options, { node: node, props: nodeProps }, i);\n });\n }\n}\n\nfunction isReactFragment(renderer) {\n return React.Fragment && React.Fragment === renderer;\n}\n\n// eslint-disable-next-line max-params, complexity\nfunction getNodeProps(node, key, opts, renderer, parent, index) {\n var props = { key: key };\n\n var isTagRenderer = typeof renderer === 'string';\n\n // `sourcePos` is true if the user wants source information (line/column info from markdown source)\n if (opts.sourcePos && node.position) {\n props['data-sourcepos'] = flattenPosition(node.position);\n }\n\n if (opts.rawSourcePos && !isTagRenderer) {\n props.sourcePosition = node.position;\n }\n\n // If `includeNodeIndex` is true, pass node index info to all non-tag renderers\n if (opts.includeNodeIndex && parent.node && parent.node.children && !isTagRenderer) {\n props.index = parent.node.children.indexOf(node);\n props.parentChildCount = parent.node.children.length;\n }\n\n var ref = node.identifier !== null && node.identifier !== undefined ? opts.definitions[node.identifier] || {} : null;\n\n switch (node.type) {\n case 'root':\n assignDefined(props, { className: opts.className });\n break;\n case 'heading':\n props.level = node.depth;\n break;\n case 'list':\n props.start = node.start;\n props.ordered = node.ordered;\n props.tight = !node.loose;\n props.depth = node.depth;\n break;\n case 'listItem':\n props.checked = node.checked;\n props.tight = !node.loose;\n props.ordered = node.ordered;\n props.index = node.index;\n props.children = (props.tight ? unwrapParagraphs(node) : node.children).map(function (childNode, i) {\n return astToReact(childNode, opts, { node: node, props: props }, i);\n });\n break;\n case 'definition':\n assignDefined(props, { identifier: node.identifier, title: node.title, url: node.url });\n break;\n case 'code':\n assignDefined(props, { language: node.lang && node.lang.split(/\\s/, 1)[0] });\n break;\n case 'inlineCode':\n props.children = node.value;\n props.inline = true;\n break;\n case 'link':\n assignDefined(props, {\n title: node.title || undefined,\n target: typeof opts.linkTarget === 'function' ? opts.linkTarget(node.url, node.children, node.title) : opts.linkTarget,\n href: opts.transformLinkUri ? opts.transformLinkUri(node.url, node.children, node.title) : node.url\n });\n break;\n case 'image':\n assignDefined(props, {\n alt: node.alt || undefined,\n title: node.title || undefined,\n src: opts.transformImageUri ? opts.transformImageUri(node.url, node.children, node.title, node.alt) : node.url\n });\n break;\n case 'linkReference':\n assignDefined(props, xtend(ref, {\n href: opts.transformLinkUri ? opts.transformLinkUri(ref.href) : ref.href\n }));\n break;\n case 'imageReference':\n assignDefined(props, {\n src: opts.transformImageUri && ref.href ? opts.transformImageUri(ref.href, node.children, ref.title, node.alt) : ref.href,\n title: ref.title || undefined,\n alt: node.alt || undefined\n });\n break;\n case 'table':\n case 'tableHead':\n case 'tableBody':\n props.columnAlignment = node.align;\n break;\n case 'tableRow':\n props.isHeader = parent.node.type === 'tableHead';\n props.columnAlignment = parent.props.columnAlignment;\n break;\n case 'tableCell':\n assignDefined(props, {\n isHeader: parent.props.isHeader,\n align: parent.props.columnAlignment[index]\n });\n break;\n case 'virtualHtml':\n props.tag = node.tag;\n break;\n case 'html':\n // @todo find a better way than this\n props.isBlock = node.position.start.line !== node.position.end.line;\n props.escapeHtml = opts.escapeHtml;\n props.skipHtml = opts.skipHtml;\n break;\n default:\n assignDefined(props, xtend(node, {\n type: undefined,\n position: undefined,\n children: undefined\n }));\n }\n\n if (!isTagRenderer && node.value) {\n props.value = node.value;\n }\n\n return props;\n}\n\nfunction assignDefined(target, attrs) {\n for (var key in attrs) {\n if (typeof attrs[key] !== 'undefined') {\n target[key] = attrs[key];\n }\n }\n}\n\nfunction flattenPosition(pos) {\n return [pos.start.line, ':', pos.start.column, '-', pos.end.line, ':', pos.end.column].map(String).join('');\n}\n\nfunction unwrapParagraphs(node) {\n return node.children.reduce(function (array, child) {\n return array.concat(child.type === 'paragraph' ? child.children || [] : [child]);\n }, []);\n}\n\nmodule.exports = astToReact;\n\n/***/ }),\n/* 948 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar visit = __webpack_require__(181);\n\nmodule.exports = function (node) {\n visit(node, 'table', wrap);\n return node;\n};\n\nfunction wrap(table) {\n var children = table.children;\n table.children = [{\n type: 'tableHead',\n align: table.align,\n children: [children[0]],\n position: children[0].position\n }];\n if (children.length > 1) {\n table.children.push({\n type: 'tableBody',\n align: table.align,\n children: children.slice(1),\n position: {\n start: children[1].position.start,\n end: children[children.length - 1].position.end\n }\n });\n }\n}\n\n/***/ }),\n/* 949 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function getDefinitions(node) {\n var defs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (node.children || []).reduce(function (definitions, child) {\n if (child.type === 'definition') {\n definitions[child.identifier] = {\n href: child.url,\n title: child.title\n };\n }\n\n return getDefinitions(child, definitions);\n }, defs);\n};\n\n/***/ }),\n/* 950 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar protocols = ['http', 'https', 'mailto', 'tel'];\n\nmodule.exports = function uriTransformer(uri) {\n var url = (uri || '').trim();\n var first = url.charAt(0);\n\n if (first === '#' || first === '/') {\n return url;\n }\n\n var colon = url.indexOf(':');\n if (colon === -1) {\n return url;\n }\n\n var length = protocols.length;\n var index = -1;\n\n while (++index < length) {\n var protocol = protocols[index];\n\n if (colon === protocol.length && url.slice(0, protocol.length) === protocol) {\n return url;\n }\n }\n\n index = url.indexOf('?');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n index = url.indexOf('#');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)';\n};\n\n/***/ }),\n/* 951 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* eslint-disable react/prop-types, react/no-multi-comp */\n\n\nvar xtend = __webpack_require__(76);\nvar React = __webpack_require__(0);\nvar createElement = React.createElement;\n\nmodule.exports = {\n root: 'div',\n break: 'br',\n paragraph: 'p',\n emphasis: 'em',\n strong: 'strong',\n thematicBreak: 'hr',\n blockquote: 'blockquote',\n delete: 'del',\n link: 'a',\n image: 'img',\n linkReference: 'a',\n imageReference: 'img',\n table: SimpleRenderer.bind(null, 'table'),\n tableHead: SimpleRenderer.bind(null, 'thead'),\n tableBody: SimpleRenderer.bind(null, 'tbody'),\n tableRow: SimpleRenderer.bind(null, 'tr'),\n tableCell: TableCell,\n\n list: List,\n listItem: ListItem,\n definition: NullRenderer,\n heading: Heading,\n inlineCode: InlineCode,\n code: CodeBlock,\n html: Html,\n virtualHtml: VirtualHtml\n};\n\nfunction SimpleRenderer(tag, props) {\n return createElement(tag, getCoreProps(props), props.children);\n}\n\nfunction TableCell(props) {\n var style = props.align ? { textAlign: props.align } : undefined;\n var coreProps = getCoreProps(props);\n return createElement(props.isHeader ? 'th' : 'td', style ? xtend({ style: style }, coreProps) : coreProps, props.children);\n}\n\nfunction Heading(props) {\n return createElement('h' + props.level, getCoreProps(props), props.children);\n}\n\nfunction List(props) {\n var attrs = getCoreProps(props);\n if (props.start !== null && props.start !== 1) {\n attrs.start = props.start.toString();\n }\n\n return createElement(props.ordered ? 'ol' : 'ul', attrs, props.children);\n}\n\nfunction ListItem(props) {\n var checkbox = null;\n if (props.checked !== null) {\n var checked = props.checked;\n checkbox = createElement('input', { type: 'checkbox', checked: checked, readOnly: true });\n }\n\n return createElement('li', getCoreProps(props), checkbox, props.children);\n}\n\nfunction CodeBlock(props) {\n var className = props.language && 'language-' + props.language;\n var code = createElement('code', className ? { className: className } : null, props.value);\n return createElement('pre', getCoreProps(props), code);\n}\n\nfunction InlineCode(props) {\n return createElement('code', getCoreProps(props), props.children);\n}\n\nfunction Html(props) {\n if (props.skipHtml) {\n return null;\n }\n\n var tag = props.isBlock ? 'div' : 'span';\n if (props.escapeHtml) {\n // @todo when fiber lands, we can simply render props.value\n return createElement(tag, null, props.value);\n }\n\n var nodeProps = { dangerouslySetInnerHTML: { __html: props.value } };\n return createElement(tag, nodeProps);\n}\n\nfunction VirtualHtml(props) {\n return createElement(props.tag, getCoreProps(props), props.children);\n}\n\nfunction NullRenderer() {\n return null;\n}\n\nfunction getCoreProps(props) {\n return props['data-sourcepos'] ? { 'data-sourcepos': props['data-sourcepos'] } : {};\n}\n\n/***/ }),\n/* 952 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Table__ = __webpack_require__(953);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Table___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Table__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Paper__ = __webpack_require__(137);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Paper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Paper__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_showdown__ = __webpack_require__(601);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_showdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_showdown__);\nvar converter=new __WEBPACK_IMPORTED_MODULE_5_showdown___default.a.Converter();// text = '# hello, markdown!',\n// html = converter.makeHtml(text);\nvar styles=function styles(theme){return{root:{width:'100%',marginTop:theme.spacing.unit*3+'px !important',overflowX:'auto'},table:{// minWidth: 300,\nwidth:'200px !important',margin:'0 auto'}};};var ChooseAnswerView=function ChooseAnswerView(_ref){var gameAnswer=_ref.gameAnswer,classes=_ref.classes;if(!gameAnswer){return'';}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,gameAnswer.map(function(n,index){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{key:index,className:'mb20'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u7B2C',index+1,'\\u9898'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{dangerouslySetInnerHTML:{__html:converter.makeHtml(n.answer)}}));}));};/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__[\"withStyles\"])(styles)(ChooseAnswerView));\n\n/***/ }),\n/* 953 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Table.default;\n }\n});\nObject.defineProperty(exports, \"TableBody\", {\n enumerable: true,\n get: function get() {\n return _TableBody.default;\n }\n});\nObject.defineProperty(exports, \"TableCell\", {\n enumerable: true,\n get: function get() {\n return _TableCell.default;\n }\n});\nObject.defineProperty(exports, \"TableFooter\", {\n enumerable: true,\n get: function get() {\n return _TableFooter.default;\n }\n});\nObject.defineProperty(exports, \"TableHead\", {\n enumerable: true,\n get: function get() {\n return _TableHead.default;\n }\n});\nObject.defineProperty(exports, \"TablePagination\", {\n enumerable: true,\n get: function get() {\n return _TablePagination.default;\n }\n});\nObject.defineProperty(exports, \"TableRow\", {\n enumerable: true,\n get: function get() {\n return _TableRow.default;\n }\n});\nObject.defineProperty(exports, \"TableSortLabel\", {\n enumerable: true,\n get: function get() {\n return _TableSortLabel.default;\n }\n});\n\nvar _Table = _interopRequireDefault(__webpack_require__(954));\n\nvar _TableBody = _interopRequireDefault(__webpack_require__(955));\n\nvar _TableCell = _interopRequireDefault(__webpack_require__(406));\n\nvar _TableFooter = _interopRequireDefault(__webpack_require__(956));\n\nvar _TableHead = _interopRequireDefault(__webpack_require__(957));\n\nvar _TablePagination = _interopRequireDefault(__webpack_require__(958));\n\nvar _TableRow = _interopRequireDefault(__webpack_require__(984));\n\nvar _TableSortLabel = _interopRequireDefault(__webpack_require__(985));\n\n/***/ }),\n/* 954 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'table',\n fontFamily: theme.typography.fontFamily,\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar Table =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Table, _React$Component);\n\n function Table() {\n (0, _classCallCheck2.default)(this, Table);\n return (0, _possibleConstructorReturn2.default)(this, (Table.__proto__ || (0, _getPrototypeOf.default)(Table)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(Table, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {}\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return Table;\n}(_react.default.Component);\n\nTable.propTypes = false ? {\n /**\n * The content of the table, normally `TableHeader` and `TableBody`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTable.defaultProps = {\n component: 'table'\n};\nTable.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTable'\n})(Table);\n\nexports.default = _default;\n\n/***/ }),\n/* 955 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n display: 'table-row-group'\n }\n};\n\nvar TableBody =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableBody, _React$Component);\n\n function TableBody() {\n (0, _classCallCheck2.default)(this, TableBody);\n return (0, _possibleConstructorReturn2.default)(this, (TableBody.__proto__ || (0, _getPrototypeOf.default)(TableBody)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableBody, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n body: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableBody;\n}(_react.default.Component);\n\nTableBody.propTypes = false ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableBody.defaultProps = {\n component: 'tbody'\n};\nTableBody.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableBody'\n})(TableBody);\n\nexports.default = _default;\n\n/***/ }),\n/* 956 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n display: 'table-footer-group'\n }\n};\n\nvar TableFooter =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableFooter, _React$Component);\n\n function TableFooter() {\n (0, _classCallCheck2.default)(this, TableFooter);\n return (0, _possibleConstructorReturn2.default)(this, (TableFooter.__proto__ || (0, _getPrototypeOf.default)(TableFooter)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableFooter, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n footer: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableFooter;\n}(_react.default.Component);\n\nTableFooter.propTypes = false ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableFooter.defaultProps = {\n component: 'tfoot'\n};\nTableFooter.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableFooter'\n})(TableFooter);\n\nexports.default = _default;\n\n/***/ }),\n/* 957 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n display: 'table-header-group'\n }\n};\n\nvar TableHead =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableHead, _React$Component);\n\n function TableHead() {\n (0, _classCallCheck2.default)(this, TableHead);\n return (0, _possibleConstructorReturn2.default)(this, (TableHead.__proto__ || (0, _getPrototypeOf.default)(TableHead)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableHead, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n head: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableHead;\n}(_react.default.Component);\n\nTableHead.propTypes = false ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableHead.defaultProps = {\n component: 'thead'\n};\nTableHead.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableHead'\n})(TableHead);\n\nexports.default = _default;\n\n/***/ }),\n/* 958 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Input = _interopRequireDefault(__webpack_require__(203));\n\nvar _Menu = __webpack_require__(959);\n\nvar _Select = _interopRequireDefault(__webpack_require__(971));\n\nvar _TableCell = _interopRequireDefault(__webpack_require__(406));\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(979));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar _TablePaginationActions = _interopRequireDefault(__webpack_require__(981));\n\n// @inheritedComponent TableCell\nvar styles = function styles(theme) {\n return {\n root: {\n fontSize: theme.typography.pxToRem(12),\n // Increase the specificity to override TableCell.\n '&:last-child': {\n padding: 0\n }\n },\n toolbar: {\n height: 56,\n minHeight: 56,\n paddingRight: 2\n },\n spacer: {\n flex: '1 1 100%'\n },\n menuItem: {},\n caption: {\n flexShrink: 0\n },\n input: {\n fontSize: 'inherit',\n flexShrink: 0\n },\n selectRoot: {\n marginRight: theme.spacing.unit * 4,\n marginLeft: theme.spacing.unit,\n color: theme.palette.text.secondary\n },\n select: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit * 2\n },\n selectIcon: {\n top: 1\n },\n actions: {\n flexShrink: 0,\n color: theme.palette.text.secondary,\n marginLeft: theme.spacing.unit * 2.5\n }\n };\n};\n/**\n * A `TableCell` based component for placing inside `TableFooter` for pagination.\n */\n\n\nexports.styles = styles;\n\nvar TablePagination =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePagination, _React$Component);\n\n function TablePagination() {\n (0, _classCallCheck2.default)(this, TablePagination);\n return (0, _possibleConstructorReturn2.default)(this, (TablePagination.__proto__ || (0, _getPrototypeOf.default)(TablePagination)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TablePagination, [{\n key: \"componentDidUpdate\",\n // This logic would be better handled on userside.\n // However, we have it just in case.\n value: function componentDidUpdate() {\n var _props = this.props,\n count = _props.count,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage;\n var newLastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);\n\n if (page > newLastPage) {\n onChangePage(null, newLastPage);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n ActionsComponent = _props2.ActionsComponent,\n backIconButtonProps = _props2.backIconButtonProps,\n classes = _props2.classes,\n colSpanProp = _props2.colSpan,\n Component = _props2.component,\n count = _props2.count,\n labelDisplayedRows = _props2.labelDisplayedRows,\n labelRowsPerPage = _props2.labelRowsPerPage,\n nextIconButtonProps = _props2.nextIconButtonProps,\n onChangePage = _props2.onChangePage,\n onChangeRowsPerPage = _props2.onChangeRowsPerPage,\n page = _props2.page,\n rowsPerPage = _props2.rowsPerPage,\n rowsPerPageOptions = _props2.rowsPerPageOptions,\n SelectProps = _props2.SelectProps,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"ActionsComponent\", \"backIconButtonProps\", \"classes\", \"colSpan\", \"component\", \"count\", \"labelDisplayedRows\", \"labelRowsPerPage\", \"nextIconButtonProps\", \"onChangePage\", \"onChangeRowsPerPage\", \"page\", \"rowsPerPage\", \"rowsPerPageOptions\", \"SelectProps\"]);\n var colSpan;\n\n if (Component === _TableCell.default || Component === 'td') {\n colSpan = colSpanProp || 1000; // col-span over everything\n }\n\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: classes.root,\n colSpan: colSpan\n }, other), _react.default.createElement(_Toolbar.default, {\n className: classes.toolbar\n }, _react.default.createElement(\"div\", {\n className: classes.spacer\n }), rowsPerPageOptions.length > 1 && _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelRowsPerPage), rowsPerPageOptions.length > 1 && _react.default.createElement(_Select.default, (0, _extends2.default)({\n classes: {\n root: classes.selectRoot,\n select: classes.select,\n icon: classes.selectIcon\n },\n input: _react.default.createElement(_Input.default, {\n className: classes.input,\n disableUnderline: true\n }),\n value: rowsPerPage,\n onChange: onChangeRowsPerPage\n }, SelectProps), rowsPerPageOptions.map(function (rowsPerPageOption) {\n return _react.default.createElement(_Menu.MenuItem, {\n className: classes.menuItem,\n key: rowsPerPageOption,\n value: rowsPerPageOption\n }, rowsPerPageOption);\n })), _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelDisplayedRows({\n from: count === 0 ? 0 : page * rowsPerPage + 1,\n to: Math.min(count, (page + 1) * rowsPerPage),\n count: count,\n page: page\n })), _react.default.createElement(ActionsComponent, {\n className: classes.actions,\n backIconButtonProps: backIconButtonProps,\n count: count,\n nextIconButtonProps: nextIconButtonProps,\n onChangePage: onChangePage,\n page: page,\n rowsPerPage: rowsPerPage\n })));\n }\n }]);\n return TablePagination;\n}(_react.default.Component);\n\nTablePagination.propTypes = false ? {\n /**\n * The component used for displaying the actions.\n * Either a string to use a DOM element or a component.\n */\n ActionsComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Properties applied to the back arrow `IconButton` component.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n colSpan: _propTypes.default.number,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Useful to customize the displayed rows label.\n */\n labelDisplayedRows: _propTypes.default.func,\n\n /**\n * Useful to customize the rows per page label. Invoked with a `{ from, to, count, page }`\n * object.\n */\n labelRowsPerPage: _propTypes.default.node,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * Callback fired when the number of rows per page is changed.\n *\n * @param {object} event The event source of the callback\n */\n onChangeRowsPerPage: _propTypes.default.func,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * Customizes the options of the rows per page select field. If less than two options are\n * available, no select field will be displayed.\n */\n rowsPerPageOptions: _propTypes.default.array,\n\n /**\n * Properties applied to the rows per page `Select` element.\n */\n SelectProps: _propTypes.default.object\n} : {};\nTablePagination.defaultProps = {\n ActionsComponent: _TablePaginationActions.default,\n component: _TableCell.default,\n labelDisplayedRows: function labelDisplayedRows(_ref) {\n var from = _ref.from,\n to = _ref.to,\n count = _ref.count;\n return \"\".concat(from, \"-\").concat(to, \" of \").concat(count);\n },\n labelRowsPerPage: 'Rows per page:',\n rowsPerPageOptions: [5, 10, 25]\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTablePagination'\n})(TablePagination);\n\nexports.default = _default;\n\n/***/ }),\n/* 959 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Menu.default;\n }\n});\nObject.defineProperty(exports, \"MenuList\", {\n enumerable: true,\n get: function get() {\n return _MenuList.default;\n }\n});\nObject.defineProperty(exports, \"MenuItem\", {\n enumerable: true,\n get: function get() {\n return _MenuItem.default;\n }\n});\n\nvar _Menu = _interopRequireDefault(__webpack_require__(407));\n\nvar _MenuList = _interopRequireDefault(__webpack_require__(408));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(970));\n\n/***/ }),\n/* 960 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Popover.default;\n }\n});\n\nvar _Popover = _interopRequireDefault(__webpack_require__(961));\n\n/***/ }),\n/* 961 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _contains = _interopRequireDefault(__webpack_require__(171));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _ownerWindow = _interopRequireDefault(__webpack_require__(173));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Modal = _interopRequireDefault(__webpack_require__(227));\n\nvar _Grow = _interopRequireDefault(__webpack_require__(962));\n\nvar _Paper = _interopRequireDefault(__webpack_require__(137));\n\n// @inheritedComponent Modal\nfunction getOffsetTop(rect, vertical) {\n var offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\n\nfunction getOffsetLeft(rect, horizontal) {\n var offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(function (n) {\n return typeof n === 'number' ? \"\".concat(n, \"px\") : n;\n }).join(' ');\n} // Sum the scrollTop between two elements.\n\n\nfunction getScrollParent(parent, child) {\n var element = child;\n var scrollTop = 0;\n\n while (element && element !== parent) {\n element = element.parentNode;\n scrollTop += element.scrollTop;\n }\n\n return scrollTop;\n}\n\nfunction getAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nvar styles = {\n paper: {\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100vw - 32px)',\n maxHeight: 'calc(100vh - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none'\n }\n};\nexports.styles = styles;\n\nvar Popover =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Popover, _React$Component);\n\n function Popover() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Popover);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Popover.__proto__ || (0, _getPrototypeOf.default)(Popover)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"componentWillUnmount\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.handleResize.cancel();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"setPositioningStyles\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (element && element.style) {\n var positioning = _this.getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getPositioningStyle\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n var _this$props = _this.props,\n anchorEl = _this$props.anchorEl,\n anchorReference = _this$props.anchorReference,\n marginThreshold = _this$props.marginThreshold; // Check if the parent has requested anchoring on an inner content node\n\n var contentAnchorOffset = _this.getContentAnchorOffset(element);\n\n var elemRect = {\n width: element.clientWidth,\n height: element.clientHeight\n }; // Get the transform origin point on the element itself\n\n var transformOrigin = _this.getTransformOrigin(elemRect, contentAnchorOffset);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n } // Get the offset of of the anchoring element\n\n\n var anchorOffset = _this.getAnchorOffset(contentAnchorOffset); // Calculate element positioning\n\n\n var top = anchorOffset.top - transformOrigin.vertical;\n var left = anchorOffset.left - transformOrigin.horizontal;\n var bottom = top + elemRect.height;\n var right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n var containerWindow = (0, _ownerWindow.default)(getAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n var heightThreshold = containerWindow.innerHeight - marginThreshold;\n var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n var diff = top - marginThreshold;\n top -= diff;\n transformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n var _diff = bottom - heightThreshold;\n\n top -= _diff;\n transformOrigin.vertical += _diff;\n }\n\n false ? (0, _warning.default)(elemRect.height < heightThreshold || !elemRect.height || !heightThreshold, ['Material-UI: the popover component is too tall.', \"Some part of it can not be seen on the screen (\".concat(elemRect.height - heightThreshold, \"px).\"), 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n')) : void 0; // Check if the horizontal axis needs shifting\n\n if (left < marginThreshold) {\n var _diff2 = left - marginThreshold;\n\n left -= _diff2;\n transformOrigin.horizontal += _diff2;\n } else if (right > widthThreshold) {\n var _diff3 = right - widthThreshold;\n\n left -= _diff3;\n transformOrigin.horizontal += _diff3;\n }\n\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"transitionEl\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetTop\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetTop\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetLeft\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetLeft\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (_this.props.onEnter) {\n _this.props.onEnter(element);\n }\n\n _this.setPositioningStyles(element);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n var element = _reactDom.default.findDOMNode(_this.transitionEl);\n\n _this.setPositioningStyles(element);\n }, 166)\n }), _temp));\n }\n\n (0, _createClass2.default)(Popover, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.action) {\n this.props.action({\n updatePosition: this.handleResize\n });\n }\n }\n }, {\n key: \"getAnchorOffset\",\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n value: function getAnchorOffset(contentAnchorOffset) {\n var _props = this.props,\n anchorEl = _props.anchorEl,\n anchorOrigin = _props.anchorOrigin,\n anchorReference = _props.anchorReference,\n anchorPosition = _props.anchorPosition;\n\n if (anchorReference === 'anchorPosition') {\n false ? (0, _warning.default)(anchorPosition, 'Material-UI: you need to provide a `anchorPosition` property when using ' + '.') : void 0;\n return anchorPosition;\n } // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n\n var anchorElement = getAnchorEl(anchorEl) || (0, _ownerDocument.default)(_reactDom.default.findDOMNode(this.transitionEl)).body;\n var anchorRect = anchorElement.getBoundingClientRect();\n var anchorVertical = contentAnchorOffset === 0 ? anchorOrigin.vertical : 'center';\n return {\n top: anchorRect.top + this.handleGetOffsetTop(anchorRect, anchorVertical),\n left: anchorRect.left + this.handleGetOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n } // Returns the vertical offset of inner content to anchor the transform on if provided\n\n }, {\n key: \"getContentAnchorOffset\",\n value: function getContentAnchorOffset(element) {\n var _props2 = this.props,\n getContentAnchorEl = _props2.getContentAnchorEl,\n anchorReference = _props2.anchorReference;\n var contentAnchorOffset = 0;\n\n if (getContentAnchorEl && anchorReference === 'anchorEl') {\n var contentAnchorEl = getContentAnchorEl(element);\n\n if (contentAnchorEl && (0, _contains.default)(element, contentAnchorEl)) {\n var scrollTop = getScrollParent(element, contentAnchorEl);\n contentAnchorOffset = contentAnchorEl.offsetTop + contentAnchorEl.clientHeight / 2 - scrollTop || 0;\n } // != the default value\n\n\n false ? (0, _warning.default)(this.props.anchorOrigin.vertical === 'top', ['Material-UI: you can not change the default `anchorOrigin.vertical` value ', 'when also providing the `getContentAnchorEl` property to the popover component.', 'Only use one of the two properties.', 'Set `getContentAnchorEl` to null or left `anchorOrigin.vertical` unchanged.'].join('\\n')) : void 0;\n }\n\n return contentAnchorOffset;\n } // Return the base transform origin using the element\n // and taking the content anchor offset into account if in use\n\n }, {\n key: \"getTransformOrigin\",\n value: function getTransformOrigin(elemRect) {\n var contentAnchorOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var transformOrigin = this.props.transformOrigin;\n return {\n vertical: this.handleGetOffsetTop(elemRect, transformOrigin.vertical) + contentAnchorOffset,\n horizontal: this.handleGetOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }\n }, {\n key: \"render\",\n // Corresponds to 10 frames at 60 Hz.\n value: function render() {\n var _this2 = this;\n\n var _props3 = this.props,\n action = _props3.action,\n anchorEl = _props3.anchorEl,\n anchorOrigin = _props3.anchorOrigin,\n anchorPosition = _props3.anchorPosition,\n anchorReference = _props3.anchorReference,\n children = _props3.children,\n classes = _props3.classes,\n containerProp = _props3.container,\n elevation = _props3.elevation,\n getContentAnchorEl = _props3.getContentAnchorEl,\n marginThreshold = _props3.marginThreshold,\n onEnter = _props3.onEnter,\n onEntered = _props3.onEntered,\n onEntering = _props3.onEntering,\n onExit = _props3.onExit,\n onExited = _props3.onExited,\n onExiting = _props3.onExiting,\n open = _props3.open,\n PaperProps = _props3.PaperProps,\n role = _props3.role,\n transformOrigin = _props3.transformOrigin,\n TransitionComponent = _props3.TransitionComponent,\n transitionDuration = _props3.transitionDuration,\n TransitionProps = _props3.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(_props3, [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"classes\", \"container\", \"elevation\", \"getContentAnchorEl\", \"marginThreshold\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"role\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]); // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n var container = containerProp || (anchorEl ? (0, _ownerDocument.default)(getAnchorEl(anchorEl)).body : undefined);\n return _react.default.createElement(_Modal.default, (0, _extends2.default)({\n container: container,\n open: open,\n BackdropProps: {\n invisible: true\n }\n }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n onEnter: this.handleEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n onExit: onExit,\n onExited: onExited,\n onExiting: onExiting,\n role: role,\n ref: function ref(node) {\n _this2.transitionEl = node;\n }\n }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({\n className: classes.paper,\n elevation: elevation\n }, PaperProps), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), children)));\n }\n }]);\n return Popover;\n}(_react.default.Component);\n\nPopover.propTypes = false ? {\n /**\n * This is callback property. It's called by the component on mount.\n * This is useful when you want to trigger an action programmatically.\n * It currently only supports updatePosition() action.\n *\n * @param {object} actions This object contains all posible actions\n * that can be triggered programmatically.\n */\n action: _propTypes.default.func,\n\n /**\n * This is the DOM element, or a function that returns the DOM element,\n * that may be used to set the position of the popover.\n */\n anchorEl: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n */\n anchorOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * This is the position that may be used\n * to set the position of the popover.\n * The coordinates are relative to\n * the application's client area.\n */\n anchorPosition: _propTypes.default.shape({\n top: _propTypes.default.number,\n left: _propTypes.default.number\n }),\n\n /*\n * This determines which anchor prop to refer to to set\n * the position of the popover.\n */\n anchorReference: _propTypes.default.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n * By default, it's using the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * The elevation of the popover.\n */\n elevation: _propTypes.default.number,\n\n /**\n * This function is called in order to retrieve the content anchor element.\n * It's the opposite of the `anchorEl` property.\n * The content anchor element should be an element inside the popover.\n * It's used to correctly scroll and set the position of the popover.\n * The positioning strategy tries to make the content anchor element just above the\n * anchor element.\n */\n getContentAnchorEl: _propTypes.default.func,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n */\n marginThreshold: _propTypes.default.number,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the component is entering.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the component has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the component is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired before the component is exiting.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the component has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the component is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * If `true`, the popover is visible.\n */\n open: _propTypes.default.bool.isRequired,\n\n /**\n * Properties applied to the `Paper` element.\n */\n PaperProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n */\n transformOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nPopover.defaultProps = {\n anchorReference: 'anchorEl',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n elevation: 8,\n marginThreshold: 16,\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent: _Grow.default,\n transitionDuration: 'auto'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiPopover'\n})(Popover);\n\nexports.default = _default;\n\n/***/ }),\n/* 962 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _Transition = _interopRequireDefault(__webpack_require__(175));\n\nvar _withTheme = _interopRequireDefault(__webpack_require__(115));\n\nvar _utils = __webpack_require__(229);\n\n// @inheritedComponent Transition\nfunction getScale(value) {\n return \"scale(\".concat(value, \", \").concat(Math.pow(value, 2), \")\");\n}\n\nvar styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: getScale(1)\n }\n};\n/**\n * The Grow transition is used by the [Popover](/utils/popovers) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Grow =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Grow, _React$Component);\n\n function Grow() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Grow);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Grow.__proto__ || (0, _getPrototypeOf.default)(Grow)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"autoTimeout\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"timer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props = _this.props,\n theme = _this$props.theme,\n timeout = _this$props.timeout;\n (0, _utils.reflow)(node); // So the animation always start from the start.\n\n var _getTransitionProps = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration,\n delay = _getTransitionProps.delay;\n\n var duration = 0;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay\n })].join(',');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props2 = _this.props,\n theme = _this$props2.theme,\n timeout = _this$props2.timeout;\n var duration = 0;\n\n var _getTransitionProps2 = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration,\n delay = _getTransitionProps2.delay;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay || duration * 0.333\n })].join(',');\n node.style.opacity = '0';\n node.style.transform = getScale(0.75);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"addEndListener\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(_, next) {\n if (_this.props.timeout === 'auto') {\n _this.timer = setTimeout(next, _this.autoTimeout || 0);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Grow, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timer);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n onEnter = _props.onEnter,\n onExit = _props.onExit,\n styleProp = _props.style,\n theme = _props.theme,\n timeout = _props.timeout,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"onEnter\", \"onExit\", \"style\", \"theme\", \"timeout\"]);\n var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {});\n return _react.default.createElement(_Transition.default, (0, _extends2.default)({\n appear: true,\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n addEndListener: this.addEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n style: (0, _objectSpread2.default)({\n opacity: 0,\n transform: getScale(0.75)\n }, styles[state], style)\n }, childProps));\n });\n }\n }]);\n return Grow;\n}(_react.default.Component);\n\nGrow.propTypes = false ? {\n /**\n * A single child content element.\n */\n children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),\n\n /**\n * If `true`, show the component; triggers the enter or exit animation.\n */\n in: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onEnter: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onExit: _propTypes.default.func,\n\n /**\n * @ignore\n */\n style: _propTypes.default.object,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])])\n} : {};\nGrow.defaultProps = {\n timeout: 'auto'\n};\n\nvar _default = (0, _withTheme.default)()(Grow);\n\nexports.default = _default;\n\n/***/ }),\n/* 963 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _List.default;\n }\n});\nObject.defineProperty(exports, \"ListItem\", {\n enumerable: true,\n get: function get() {\n return _ListItem.default;\n }\n});\nObject.defineProperty(exports, \"ListItemAvatar\", {\n enumerable: true,\n get: function get() {\n return _ListItemAvatar.default;\n }\n});\nObject.defineProperty(exports, \"ListItemText\", {\n enumerable: true,\n get: function get() {\n return _ListItemText.default;\n }\n});\nObject.defineProperty(exports, \"ListItemIcon\", {\n enumerable: true,\n get: function get() {\n return _ListItemIcon.default;\n }\n});\nObject.defineProperty(exports, \"ListItemSecondaryAction\", {\n enumerable: true,\n get: function get() {\n return _ListItemSecondaryAction.default;\n }\n});\nObject.defineProperty(exports, \"ListSubheader\", {\n enumerable: true,\n get: function get() {\n return _ListSubheader.default;\n }\n});\n\nvar _List = _interopRequireDefault(__webpack_require__(964));\n\nvar _ListItem = _interopRequireDefault(__webpack_require__(409));\n\nvar _ListItemAvatar = _interopRequireDefault(__webpack_require__(965));\n\nvar _ListItemText = _interopRequireDefault(__webpack_require__(966));\n\nvar _ListItemIcon = _interopRequireDefault(__webpack_require__(967));\n\nvar _ListItemSecondaryAction = _interopRequireDefault(__webpack_require__(968));\n\nvar _ListSubheader = _interopRequireDefault(__webpack_require__(969));\n\n/***/ }),\n/* 964 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n },\n padding: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit\n },\n dense: {\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2\n },\n subheader: {\n paddingTop: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar List =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(List, _React$Component);\n\n function List() {\n (0, _classCallCheck2.default)(this, List);\n return (0, _possibleConstructorReturn2.default)(this, (List.__proto__ || (0, _getPrototypeOf.default)(List)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(List, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n dense: this.props.dense\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n Component = _props.component,\n dense = _props.dense,\n disablePadding = _props.disablePadding,\n subheader = _props.subheader,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"classes\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.dense, dense && !disablePadding), (0, _defineProperty2.default)(_classNames, classes.padding, !disablePadding), (0, _defineProperty2.default)(_classNames, classes.subheader, subheader), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), subheader, children);\n }\n }]);\n return List;\n}(_react.default.Component);\n\nList.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used for\n * the list and list items. The property is available to descendant components as the\n * `dense` context.\n */\n dense: _propTypes.default.bool,\n\n /**\n * If `true`, vertical padding will be removed from the list.\n */\n disablePadding: _propTypes.default.bool,\n\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: _propTypes.default.node\n} : {};\nList.defaultProps = {\n component: 'ul',\n dense: false,\n disablePadding: false\n};\nList.childContextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiList'\n})(List);\n\nexports.default = _default;\n\n/***/ }),\n/* 965 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n width: 36,\n height: 36,\n fontSize: theme.typography.pxToRem(18),\n marginRight: 4\n },\n icon: {\n width: 20,\n height: 20,\n fontSize: theme.typography.pxToRem(20)\n }\n };\n};\n/**\n * It's a simple wrapper to apply the `dense` mode styles to `Avatar`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemAvatar(props, context) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n\n if (context.dense === undefined) {\n false ? (0, _warning.default)(false, \"Material-UI: is a simple wrapper to apply the dense styles\\n to . You do not need it unless you are controlling the dense property.\") : void 0;\n return props.children;\n }\n\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.root, context.dense), classNameProp, children.props.className),\n childrenClassName: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.icon, context.dense), children.props.childrenClassName)\n }, other));\n}\n\nListItemAvatar.propTypes = false ? {\n /**\n * The content of the component, normally `Avatar`.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemAvatar.contextTypes = {\n dense: _propTypes.default.bool\n};\nListItemAvatar.muiName = 'ListItemAvatar';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemAvatar'\n})(ListItemAvatar);\n\nexports.default = _default;\n\n/***/ }),\n/* 966 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar styles = function styles(theme) {\n return {\n root: {\n flex: '1 1 auto',\n minWidth: 0,\n padding: \"0 \".concat(theme.spacing.unit * 2, \"px\"),\n '&:first-child': {\n paddingLeft: 0\n }\n },\n inset: {\n '&:first-child': {\n paddingLeft: theme.spacing.unit * 7\n }\n },\n dense: {\n fontSize: theme.typography.pxToRem(13)\n },\n primary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n secondary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n textDense: {}\n };\n};\n\nexports.styles = styles;\n\nfunction ListItemText(props, context) {\n var _classNames3;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableTypography = props.disableTypography,\n inset = props.inset,\n primaryProp = props.primary,\n secondaryProp = props.secondary,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"secondary\"]);\n var dense = context.dense;\n var primary = primaryProp || children;\n\n if (primary && !disableTypography) {\n primary = _react.default.createElement(_Typography.default, {\n variant: \"subheading\",\n className: (0, _classnames.default)(classes.primary, (0, _defineProperty2.default)({}, classes.textDense, dense))\n }, primary);\n }\n\n var secondary = secondaryProp;\n\n if (secondary && !disableTypography) {\n secondary = _react.default.createElement(_Typography.default, {\n variant: \"body1\",\n className: (0, _classnames.default)(classes.secondary, (0, _defineProperty2.default)({}, classes.textDense, dense)),\n color: \"textSecondary\"\n }, secondary);\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.dense, dense), (0, _defineProperty2.default)(_classNames3, classes.inset, inset), _classNames3), classNameProp)\n }, other), primary, secondary);\n}\n\nListItemText.propTypes = false ? {\n /**\n * Alias for the `primary` property.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the children won't be wrapped by a typography component.\n * For instance, that can be useful to can render an h4 instead of a\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * If `true`, the children will be indented.\n * This should be used if there is no left avatar or left icon.\n */\n inset: _propTypes.default.bool,\n primary: _propTypes.default.node,\n secondary: _propTypes.default.node\n} : {};\nListItemText.defaultProps = {\n disableTypography: false,\n inset: false\n};\nListItemText.contextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemText'\n})(ListItemText);\n\nexports.default = _default;\n\n/***/ }),\n/* 967 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n marginRight: theme.spacing.unit * 2,\n color: theme.palette.action.active,\n flexShrink: 0\n }\n };\n};\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)(classes.root, classNameProp, children.props.className)\n }, other));\n}\n\nListItemIcon.propTypes = false ? {\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@material-ui/icons` SVG icon element.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemIcon'\n})(ListItemIcon);\n\nexports.default = _default;\n\n/***/ }),\n/* 968 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n position: 'absolute',\n right: 4,\n top: '50%',\n transform: 'translateY(-50%)'\n }\n};\nexports.styles = styles;\n\nfunction ListItemSecondaryAction(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nListItemSecondaryAction.propTypes = false ? {\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemSecondaryAction'\n})(ListItemSecondaryAction);\n\nexports.default = _default;\n\n/***/ }),\n/* 969 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar styles = function styles(theme) {\n return {\n root: theme.mixins.gutters({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n }),\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorInherit: {\n color: 'inherit'\n },\n inset: {\n paddingLeft: theme.spacing.unit * 9\n },\n sticky: {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: 'inherit'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction ListSubheader(props) {\n var _classNames;\n\n var classes = props.classes,\n className = props.className,\n color = props.color,\n Component = props.component,\n disableSticky = props.disableSticky,\n inset = props.inset,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"component\", \"disableSticky\", \"inset\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.inset, inset), (0, _defineProperty2.default)(_classNames, classes.sticky, !disableSticky), _classNames), className)\n }, other));\n}\n\nListSubheader.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'primary', 'inherit']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n */\n disableSticky: _propTypes.default.bool,\n\n /**\n * If `true`, the List Subheader will be indented.\n */\n inset: _propTypes.default.bool\n} : {};\nListSubheader.defaultProps = {\n color: 'default',\n component: 'li',\n disableSticky: false,\n inset: false\n};\nListSubheader.muiName = 'ListSubheader';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListSubheader'\n})(ListSubheader);\n\nexports.default = _default;\n\n/***/ }),\n/* 970 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ListItem = _interopRequireDefault(__webpack_require__(409));\n\n// @inheritedComponent ListItem\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.typography.subheading, {\n height: theme.spacing.unit * 3,\n boxSizing: 'content-box',\n width: 'auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n paddingLeft: theme.spacing.unit * 2,\n paddingRight: theme.spacing.unit * 2,\n '&$selected': {\n backgroundColor: theme.palette.action.selected\n }\n }),\n selected: {}\n };\n};\n\nexports.styles = styles;\n\nfunction MenuItem(props) {\n var classes = props.classes,\n className = props.className,\n component = props.component,\n selected = props.selected,\n role = props.role,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"selected\", \"role\"]);\n return _react.default.createElement(_ListItem.default, (0, _extends2.default)({\n button: true,\n role: role,\n tabIndex: -1,\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.selected, selected), className),\n component: component\n }, other));\n}\n\nMenuItem.propTypes = false ? {\n /**\n * Menu item contents.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * Use to apply selected styling.\n */\n selected: _propTypes.default.bool\n} : {};\nMenuItem.defaultProps = {\n component: 'li',\n role: 'menuitem',\n selected: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiMenuItem'\n})(MenuItem);\n\nexports.default = _default;\n\n/***/ }),\n/* 971 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Select.default;\n }\n});\n\nvar _Select = _interopRequireDefault(__webpack_require__(972));\n\n/***/ }),\n/* 972 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _SelectInput = _interopRequireDefault(__webpack_require__(973));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ArrowDropDown = _interopRequireDefault(__webpack_require__(974));\n\nvar _Input = _interopRequireDefault(__webpack_require__(203));\n\n// @inheritedComponent Input\n// Import to enforce the CSS injection order\nvar styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n width: '100%'\n },\n select: {\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n paddingRight: theme.spacing.unit * 4,\n width: \"calc(100% - \".concat(theme.spacing.unit * 4, \"px)\"),\n minWidth: theme.spacing.unit * 2,\n // So it doesn't collapse.\n cursor: 'pointer',\n '&:focus': {\n // Show that it's not an text input\n background: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)',\n borderRadius: 0 // Reset Chrome style\n\n },\n // Remove Firefox focus border\n '&:-moz-focusring': {\n color: 'transparent',\n textShadow: '0 0 0 #000'\n },\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n '&$disabled': {\n cursor: 'default'\n }\n },\n selectMenu: {\n width: 'auto',\n // Fix Safari textOverflow\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n minHeight: '1.1875em' // Reset (19px), match the native input line-height\n\n },\n disabled: {},\n icon: {\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input.\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n // Center vertically\n color: theme.palette.action.active,\n 'pointer-events': 'none' // Don't block pointer events on the select under the icon.\n\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Select(props) {\n var autoWidth = props.autoWidth,\n children = props.children,\n classes = props.classes,\n displayEmpty = props.displayEmpty,\n IconComponent = props.IconComponent,\n input = props.input,\n inputProps = props.inputProps,\n MenuProps = props.MenuProps,\n multiple = props.multiple,\n native = props.native,\n onClose = props.onClose,\n onOpen = props.onOpen,\n open = props.open,\n renderValue = props.renderValue,\n SelectDisplayProps = props.SelectDisplayProps,\n other = (0, _objectWithoutProperties2.default)(props, [\"autoWidth\", \"children\", \"classes\", \"displayEmpty\", \"IconComponent\", \"input\", \"inputProps\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\"]);\n return _react.default.cloneElement(input, (0, _objectSpread2.default)({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent: _SelectInput.default,\n inputProps: (0, _objectSpread2.default)({\n autoWidth: autoWidth,\n children: children,\n classes: classes,\n displayEmpty: displayEmpty,\n IconComponent: IconComponent,\n MenuProps: MenuProps,\n multiple: multiple,\n native: native,\n onClose: onClose,\n onOpen: onOpen,\n open: open,\n renderValue: renderValue,\n SelectDisplayProps: SelectDisplayProps,\n type: undefined\n }, inputProps, input ? input.props.inputProps : {})\n }, other));\n}\n\nSelect.propTypes = false ? {\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: _propTypes.default.element,\n\n /**\n * Properties applied to the `input` element.\n * When `native` is `true`, the properties are applied on the `select` element.\n */\n inputProps: _propTypes.default.object,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nSelect.defaultProps = {\n autoWidth: false,\n displayEmpty: false,\n IconComponent: _ArrowDropDown.default,\n input: _react.default.createElement(_Input.default, null),\n multiple: false,\n native: false\n};\nSelect.muiName = 'Select';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSelect'\n})(Select);\n\nexports.default = _default;\n\n/***/ }),\n/* 973 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(231));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(407));\n\nvar _Input = __webpack_require__(237);\n\n/**\n * @ignore - internal component.\n */\nvar SelectInput =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(SelectInput, _React$Component);\n\n function SelectInput() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, SelectInput);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = SelectInput.__proto__ || (0, _getPrototypeOf.default)(SelectInput)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n open: false\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoreNextBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isOpenControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.open !== undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.value != null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"updateDisplayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n // Perfom the layout computation outside of the render method.\n if (_this.displayNode) {\n _this.displayWidth = _this.displayNode.clientWidth;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"update\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.isOpenControlled ? function (_ref2) {\n var event = _ref2.event,\n open = _ref2.open;\n\n if (open) {\n _this.props.onOpen(event);\n } else {\n _this.props.onClose(event);\n }\n } : function (_ref3) {\n var open = _ref3.open;\n return _this.setState({\n open: open\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // Opening the menu is going to blur the. It will be focused back when closed.\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.update({\n open: false,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleItemClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(child) {\n return function (event) {\n if (!_this.props.multiple) {\n _this.update({\n open: false,\n event: event\n });\n }\n\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n\n if (onChange) {\n var value;\n var target;\n\n if (event.target) {\n target = event.target;\n }\n\n if (_this.props.multiple) {\n value = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];\n var itemIndex = value.indexOf(child.props.value);\n\n if (itemIndex === -1) {\n value.push(child.props.value);\n } else {\n value.splice(itemIndex, 1);\n }\n } else {\n value = child.props.value;\n }\n\n event.persist();\n event.target = (0, _objectSpread2.default)({}, target, {\n value: value,\n name: name\n });\n onChange(event, child);\n }\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.ignoreNextBlur === true) {\n // The parent components are relying on the bubbling of the event.\n event.stopPropagation();\n _this.ignoreNextBlur = false;\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.readOnly) {\n return;\n }\n\n if (['space', 'up', 'down'].indexOf((0, _keycode.default)(event)) !== -1) {\n event.preventDefault(); // Opening the menu is going to blur the. It will be focused back when closed.\n\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDisplayRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.displayNode = node;\n\n _this.updateDisplayWidth();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleSelectRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n if (!_this.props.inputRef) {\n return;\n }\n\n _this.props.inputRef({\n node: node,\n // By pass the native input as we expose a rich object (array).\n value: _this.props.value\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(SelectInput, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.isOpenControlled && this.props.open) {\n // Focus the display node so the focus is restored on this element once\n // the menu is closed.\n this.displayNode.focus(); // Rerender with the resolve `displayNode` reference.\n\n this.forceUpdate();\n }\n\n if (this.props.autoFocus && !this.props.native) {\n this.displayNode.focus();\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n this.updateDisplayWidth();\n return true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n autoWidth = _props.autoWidth,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n disabled = _props.disabled,\n displayEmpty = _props.displayEmpty,\n IconComponent = _props.IconComponent,\n inputRef = _props.inputRef,\n _props$MenuProps = _props.MenuProps,\n MenuProps = _props$MenuProps === void 0 ? {} : _props$MenuProps,\n multiple = _props.multiple,\n name = _props.name,\n native = _props.native,\n onBlur = _props.onBlur,\n onChange = _props.onChange,\n onClose = _props.onClose,\n onFocus = _props.onFocus,\n onOpen = _props.onOpen,\n openProp = _props.open,\n readOnly = _props.readOnly,\n renderValue = _props.renderValue,\n SelectDisplayProps = _props.SelectDisplayProps,\n tabIndexProp = _props.tabIndex,\n _props$type = _props.type,\n type = _props$type === void 0 ? 'hidden' : _props$type,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"autoWidth\", \"children\", \"classes\", \"className\", \"disabled\", \"displayEmpty\", \"IconComponent\", \"inputRef\", \"MenuProps\", \"multiple\", \"name\", \"native\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\"]);\n var open = this.isOpenControlled && this.displayNode ? openProp : this.state.open;\n\n if (native) {\n false ? (0, _warning.default)(multiple === false, 'Material-UI: you can not use the `native={true}` and `multiple={true}` properties ' + 'at the same time on a `Select` component.') : void 0;\n false ? (0, _warning.default)(!renderValue, 'Material-UI: the `renderValue` property is not used by the native implementation.') : void 0;\n false ? (0, _warning.default)(!displayEmpty, 'Material-UI: the `displayEmpty` property is not used by the native implementation.') : void 0;\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"select\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n name: name,\n disabled: disabled,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n value: value,\n readOnly: readOnly,\n ref: inputRef\n }, other), children), _react.default.createElement(IconComponent, {\n className: classes.icon\n }));\n }\n\n if (!this.isControlled) {\n throw new Error('Material-UI: the `value` property is required ' + 'when using the `Select` component with `native=false` (default).');\n }\n\n var display;\n var displaySingle = '';\n var displayMultiple = [];\n var computeDisplay = false; // No need to display any value if the field is empty.\n\n if ((0, _Input.isFilled)(this.props) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n\n var items = _react.default.Children.map(children, function (child) {\n if (!_react.default.isValidElement(child)) {\n return null;\n }\n\n var selected;\n\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error('Material-UI: the `value` property must be an array ' + 'when using the `Select` component with `multiple`.');\n }\n\n selected = value.indexOf(child.props.value) !== -1;\n\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = value === child.props.value;\n\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n\n return _react.default.cloneElement(child, {\n onClick: _this2.handleItemClick(child),\n role: 'option',\n selected: selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n\n });\n });\n\n if (computeDisplay) {\n display = multiple ? displayMultiple.join(', ') : displaySingle;\n }\n\n var MenuMinWidth = this.displayNode && !autoWidth ? this.displayWidth : undefined;\n var tabIndex;\n\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, classes.selectMenu, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n ref: this.handleDisplayRef,\n \"aria-pressed\": open ? 'true' : 'false',\n tabIndex: tabIndex,\n role: \"button\",\n \"aria-owns\": open ? \"menu-\".concat(name || '') : null,\n \"aria-haspopup\": \"true\",\n onKeyDown: this.handleKeyDown,\n onBlur: this.handleBlur,\n onClick: disabled || readOnly ? null : this.handleClick,\n onFocus: onFocus\n }, SelectDisplayProps), display || _react.default.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: '​'\n }\n })), _react.default.createElement(\"input\", (0, _extends2.default)({\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n readOnly: readOnly,\n ref: this.handleSelectRef,\n type: type\n }, other)), _react.default.createElement(IconComponent, {\n className: classes.icon\n }), _react.default.createElement(_Menu.default, (0, _extends2.default)({\n id: \"menu-\".concat(name || ''),\n anchorEl: this.displayNode,\n open: open,\n onClose: this.handleClose\n }, MenuProps, {\n MenuListProps: (0, _objectSpread2.default)({\n role: 'listbox'\n }, MenuProps.MenuListProps),\n PaperProps: (0, _objectSpread2.default)({}, MenuProps.PaperProps, {\n style: (0, _objectSpread2.default)({\n minWidth: MenuMinWidth\n }, MenuProps.PaperProps != null ? MenuProps.PaperProps.style : null)\n })\n }), items));\n }\n }]);\n return SelectInput;\n}(_react.default.Component);\n\nSelectInput.propTypes = false ? {\n /**\n * @ignore\n */\n autoFocus: _propTypes.default.bool,\n\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * The CSS class name of the select element.\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the select will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Use that property to pass a ref callback to the native select element.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: _propTypes.default.string,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n readOnly: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * @ignore\n */\n type: _propTypes.default.string,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nvar _default = SelectInput;\nexports.default = _default;\n\n/***/ }),\n/* 974 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDropDown = function ArrowDropDown(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDropDown = (0, _pure.default)(ArrowDropDown);\nArrowDropDown.muiName = 'SvgIcon';\nvar _default = ArrowDropDown;\nexports.default = _default;\n\n/***/ }),\n/* 975 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(5);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(6);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = __webpack_require__(0);\n\nvar _setDisplayName = __webpack_require__(410);\n\nvar _setDisplayName2 = _interopRequireDefault(_setDisplayName);\n\nvar _wrapDisplayName = __webpack_require__(134);\n\nvar _wrapDisplayName2 = _interopRequireDefault(_wrapDisplayName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate = function (_Component) {\n (0, _inherits3.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n (0, _classCallCheck3.default)(this, ShouldUpdate);\n return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));\n }\n\n ShouldUpdate.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n ShouldUpdate.prototype.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (false) {\n return (0, _setDisplayName2.default)((0, _wrapDisplayName2.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n return ShouldUpdate;\n };\n};\n\nexports.default = shouldUpdate;\n\n/***/ }),\n/* 976 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n return BaseComponent;\n };\n};\n\nexports.default = setStatic;\n\n/***/ }),\n/* 977 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _shallowEqual = __webpack_require__(379);\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _shallowEqual2.default;\n\n/***/ }),\n/* 978 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar styles = function styles(theme) {\n return {\n root: {\n userSelect: 'none',\n fontSize: 24,\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n transition: theme.transitions.create('fill', {\n duration: theme.transitions.duration.shorter\n })\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n colorAction: {\n color: theme.palette.action.active\n },\n colorError: {\n color: theme.palette.error.main\n },\n colorDisabled: {\n color: theme.palette.action.disabled\n }\n };\n};\n\nexports.styles = styles;\n\nfunction SvgIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n nativeColor = props.nativeColor,\n titleAccess = props.titleAccess,\n viewBox = props.viewBox,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"nativeColor\", \"titleAccess\", \"viewBox\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), classNameProp);\n return _react.default.createElement(\"svg\", (0, _extends2.default)({\n className: className,\n focusable: \"false\",\n viewBox: viewBox,\n color: nativeColor,\n \"aria-hidden\": titleAccess ? 'false' : 'true'\n }, other), titleAccess ? _react.default.createElement(\"title\", null, titleAccess) : null, children);\n}\n\nSvgIcon.propTypes = false ? {\n /**\n * Node passed into the SVG element.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * You can use the `nativeColor` property to apply a color attribute to the SVG element.\n */\n color: _propTypes.default.oneOf(['inherit', 'primary', 'secondary', 'action', 'error', 'disabled']),\n\n /**\n * Applies a color attribute to the SVG element.\n */\n nativeColor: _propTypes.default.string,\n\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: _propTypes.default.string,\n\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n */\n viewBox: _propTypes.default.string\n} : {};\nSvgIcon.defaultProps = {\n color: 'inherit',\n viewBox: '0 0 24 24'\n};\nSvgIcon.muiName = 'SvgIcon';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSvgIcon'\n})(SvgIcon);\n\nexports.default = _default;\n\n/***/ }),\n/* 979 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Toolbar.default;\n }\n});\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(980));\n\n/***/ }),\n/* 980 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.mixins.toolbar, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n }),\n gutters: theme.mixins.gutters()\n };\n};\n\nexports.styles = styles;\n\nfunction Toolbar(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableGutters = props.disableGutters,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableGutters\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.gutters, !disableGutters), classNameProp);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: className\n }, other), children);\n}\n\nToolbar.propTypes = false ? {\n /**\n * Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, disables gutter padding.\n */\n disableGutters: _propTypes.default.bool\n} : {};\nToolbar.defaultProps = {\n disableGutters: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiToolbar'\n})(Toolbar);\n\nexports.default = _default;\n\n/***/ }),\n/* 981 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _KeyboardArrowLeft = _interopRequireDefault(__webpack_require__(982));\n\nvar _KeyboardArrowRight = _interopRequireDefault(__webpack_require__(983));\n\nvar _withTheme = _interopRequireDefault(__webpack_require__(115));\n\nvar _IconButton = _interopRequireDefault(__webpack_require__(139));\n\nvar _ref2 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\nvar _ref3 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref4 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref5 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\n/**\n * @ignore - internal component.\n */\nvar TablePaginationActions =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePaginationActions, _React$Component);\n\n function TablePaginationActions() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, TablePaginationActions);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TablePaginationActions.__proto__ || (0, _getPrototypeOf.default)(TablePaginationActions)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBackButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page - 1);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleNextButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page + 1);\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(TablePaginationActions, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n backIconButtonProps = _props.backIconButtonProps,\n count = _props.count,\n nextIconButtonProps = _props.nextIconButtonProps,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage,\n theme = _props.theme,\n other = (0, _objectWithoutProperties2.default)(_props, [\"backIconButtonProps\", \"count\", \"nextIconButtonProps\", \"onChangePage\", \"page\", \"rowsPerPage\", \"theme\"]);\n return _react.default.createElement(\"div\", other, _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleBackButtonClick,\n disabled: page === 0\n }, backIconButtonProps), theme.direction === 'rtl' ? _ref2 : _ref3), _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleNextButtonClick,\n disabled: page >= Math.ceil(count / rowsPerPage) - 1\n }, nextIconButtonProps), theme.direction === 'rtl' ? _ref4 : _ref5));\n }\n }]);\n return TablePaginationActions;\n}(_react.default.Component);\n\nTablePaginationActions.propTypes = false ? {\n /**\n * Properties applied to the back arrow `IconButton` element.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired\n} : {};\n\nvar _default = (0, _withTheme.default)()(TablePaginationActions);\n\nexports.default = _default;\n\n/***/ }),\n/* 982 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowLeft = function KeyboardArrowLeft(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowLeft = (0, _pure.default)(KeyboardArrowLeft);\nKeyboardArrowLeft.muiName = 'SvgIcon';\nvar _default = KeyboardArrowLeft;\nexports.default = _default;\n\n/***/ }),\n/* 983 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowRight = function KeyboardArrowRight(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowRight = (0, _pure.default)(KeyboardArrowRight);\nKeyboardArrowRight.muiName = 'SvgIcon';\nvar _default = KeyboardArrowRight;\nexports.default = _default;\n\n/***/ }),\n/* 984 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: 'inherit',\n display: 'table-row',\n height: 48,\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n '&$selected': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.04)' // grey[100]\n : 'rgba(255, 255, 255, 0.08)'\n },\n '&$hover:hover': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.07)' // grey[200]\n : 'rgba(255, 255, 255, 0.14)'\n }\n },\n selected: {},\n hover: {},\n head: {\n height: 56\n },\n footer: {\n height: 56\n }\n };\n};\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\n\n\nexports.styles = styles;\n\nfunction TableRow(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n hover = props.hover,\n selected = props.selected,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"hover\", \"selected\"]);\n var table = context.table;\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.head, table && table.head), (0, _defineProperty2.default)(_classNames, classes.footer, table && table.footer), (0, _defineProperty2.default)(_classNames, classes.hover, table && hover), (0, _defineProperty2.default)(_classNames, classes.selected, table && selected), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nTableRow.propTypes = false ? {\n /**\n * Should be valid children such as `TableCell`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the table row will shade on hover.\n */\n hover: _propTypes.default.bool,\n\n /**\n * If `true`, the table row will have the selected shading.\n */\n selected: _propTypes.default.bool\n} : {};\nTableRow.defaultProps = {\n component: 'tr',\n hover: false,\n selected: false\n};\nTableRow.contextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableRow'\n})(TableRow);\n\nexports.default = _default;\n\n/***/ }),\n/* 985 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _ArrowDownward = _interopRequireDefault(__webpack_require__(986));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ButtonBase = _interopRequireDefault(__webpack_require__(176));\n\nvar _helpers = __webpack_require__(39);\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'inherit',\n alignItems: 'center',\n '&:hover': {\n color: theme.palette.text.primary\n },\n '&:focus': {\n color: theme.palette.text.primary\n }\n },\n active: {\n color: theme.palette.text.primary,\n '& $icon': {\n opacity: 1\n }\n },\n icon: {\n height: 16,\n marginRight: 4,\n marginLeft: 4,\n opacity: 0,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shorter\n }),\n userSelect: 'none',\n width: 16\n },\n iconDirectionDesc: {\n transform: 'rotate(0deg)'\n },\n iconDirectionAsc: {\n transform: 'rotate(180deg)'\n }\n };\n};\n/**\n * A button based label for placing inside `TableCell` for column sorting.\n */\n\n\nexports.styles = styles;\n\nfunction TableSortLabel(props) {\n var active = props.active,\n classes = props.classes,\n className = props.className,\n children = props.children,\n direction = props.direction,\n other = (0, _objectWithoutProperties2.default)(props, [\"active\", \"classes\", \"className\", \"children\", \"direction\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.active, active), className),\n component: \"span\",\n disableRipple: true\n }, other), children, _react.default.createElement(_ArrowDownward.default, {\n className: (0, _classnames.default)(classes.icon, classes[\"iconDirection\".concat((0, _helpers.capitalize)(direction))])\n }));\n}\n\nTableSortLabel.propTypes = false ? {\n /**\n * If `true`, the label will have the active styling (should be true for the sorted column).\n */\n active: _propTypes.default.bool,\n\n /**\n * Label contents, the arrow will be appended automatically.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The current sort direction.\n */\n direction: _propTypes.default.oneOf(['asc', 'desc'])\n} : {};\nTableSortLabel.defaultProps = {\n active: false,\n direction: 'desc'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableSortLabel'\n})(TableSortLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 986 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDownward = function ArrowDownward(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDownward = (0, _pure.default)(ArrowDownward);\nArrowDownward.muiName = 'SvgIcon';\nvar _default = ArrowDownward;\nexports.default = _default;\n\n/***/ }),\n/* 987 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__AnswerList__ = __webpack_require__(988);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var getContainer = arguments.length > 2 ? arguments[2] : undefined;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var container = getContainer();\n var scrollTop = Object(__WEBPACK_IMPORTED_MODULE_7__util_getScroll__[\"a\" /* default */])(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(href);\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n var startTime = Date.now();\n\n var frameFunc = function frameFunc() {\n var timestamp = Date.now();\n var time = timestamp - startTime;\n var nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n\n if (time < 450) {\n __WEBPACK_IMPORTED_MODULE_8_raf___default()(frameFunc);\n } else {\n callback();\n }\n };\n\n __WEBPACK_IMPORTED_MODULE_8_raf___default()(frameFunc);\n}\n\nvar Anchor =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Anchor, _React$Component);\n\n function Anchor() {\n var _this;\n\n _classCallCheck(this, Anchor);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Anchor).apply(this, arguments));\n _this.state = {\n activeLink: null\n };\n _this.links = [];\n\n _this.handleScroll = function () {\n if (_this.animating) {\n return;\n }\n\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n bounds = _this$props.bounds;\n\n _this.setState({\n activeLink: _this.getCurrentAnchor(offsetTop, bounds)\n });\n };\n\n _this.handleScrollTo = function (link) {\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n getContainer = _this$props2.getContainer;\n _this.animating = true;\n\n _this.setState({\n activeLink: link\n });\n\n scrollTo(link, offsetTop, getContainer, function () {\n _this.animating = false;\n });\n };\n\n _this.updateInk = function () {\n if (typeof document === 'undefined') {\n return;\n }\n\n var prefixCls = _this.prefixCls;\n var anchorNode = __WEBPACK_IMPORTED_MODULE_1_react_dom__[\"findDOMNode\"](_assertThisInitialized(_this));\n var linkNode = anchorNode.getElementsByClassName(\"\".concat(prefixCls, \"-link-title-active\"))[0];\n\n if (linkNode) {\n _this.inkNode.style.top = \"\".concat(linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5, \"px\");\n }\n };\n\n _this.saveInkNode = function (node) {\n _this.inkNode = node;\n };\n\n _this.renderAnchor = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,\n style = _this$props3.style,\n offsetTop = _this$props3.offsetTop,\n affix = _this$props3.affix,\n showInkInFixed = _this$props3.showInkInFixed,\n children = _this$props3.children,\n getContainer = _this$props3.getContainer;\n var activeLink = _this.state.activeLink;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls); // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n\n _this.prefixCls = prefixCls;\n var inkClass = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(\"\".concat(prefixCls, \"-ink-ball\"), {\n visible: activeLink\n });\n var wrapperClass = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(className, \"\".concat(prefixCls, \"-wrapper\"));\n var anchorClass = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = _extends({\n maxHeight: offsetTop ? \"calc(100vh - \".concat(offsetTop, \"px)\") : '100vh'\n }, style);\n\n var anchorContent = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: wrapperClass,\n style: wrapperStyle\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: anchorClass\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-ink\")\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"span\", {\n className: inkClass,\n ref: _this.saveInkNode\n })), children));\n return !affix ? anchorContent : __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_5__affix__[\"a\" /* default */], {\n offsetTop: offsetTop,\n target: getContainer\n }, anchorContent);\n };\n\n return _this;\n }\n\n _createClass(Anchor, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _this2 = this;\n\n var antAnchor = {\n registerLink: function registerLink(link) {\n if (!_this2.links.includes(link)) {\n _this2.links.push(link);\n }\n },\n unregisterLink: function unregisterLink(link) {\n var index = _this2.links.indexOf(link);\n\n if (index !== -1) {\n _this2.links.splice(index, 1);\n }\n },\n activeLink: this.state.activeLink,\n scrollTo: this.handleScrollTo,\n onClick: this.props.onClick\n };\n return {\n antAnchor: antAnchor\n };\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var getContainer = this.props.getContainer;\n this.scrollEvent = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Dom_addEventListener__[\"a\" /* default */])(getContainer(), 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateInk();\n }\n }, {\n key: \"getCurrentAnchor\",\n value: function getCurrentAnchor() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var activeLink = '';\n\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n var linkSections = [];\n var getContainer = this.props.getContainer;\n var container = getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var target = document.getElementById(sharpLinkMatch[1]);\n\n if (target) {\n var top = getOffsetTop(target, container);\n\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n\n return '';\n }\n }, {\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_6__config_provider__[\"a\" /* ConfigConsumer */], null, this.renderAnchor);\n }\n }]);\n\n return Anchor;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\nAnchor.defaultProps = {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer\n};\nAnchor.childContextTypes = {\n antAnchor: __WEBPACK_IMPORTED_MODULE_2_prop_types__[\"object\"]\n};\n\n/***/ }),\n/* 999 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config_provider__ = __webpack_require__(7);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\nvar AnchorLink =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AnchorLink, _React$Component);\n\n function AnchorLink() {\n var _this;\n\n _classCallCheck(this, AnchorLink);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AnchorLink).apply(this, arguments));\n\n _this.handleClick = function (e) {\n var _this$context$antAnch = _this.context.antAnchor,\n scrollTo = _this$context$antAnch.scrollTo,\n onClick = _this$context$antAnch.onClick;\n var _this$props = _this.props,\n href = _this$props.href,\n title = _this$props.title;\n\n if (onClick) {\n onClick(e, {\n title: title,\n href: href\n });\n }\n\n scrollTo(href);\n };\n\n _this.renderAnchorLink = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n href = _this$props2.href,\n title = _this$props2.title,\n children = _this$props2.children,\n className = _this$props2.className;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n var active = _this.context.antAnchor.activeLink === href;\n var wrapperClassName = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(className, \"\".concat(prefixCls, \"-link\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-active\"), active));\n var titleClassName = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(\"\".concat(prefixCls, \"-link-title\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-title-active\"), active));\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: wrapperClassName\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"a\", {\n className: titleClassName,\n href: href,\n title: typeof title === 'string' ? title : '',\n onClick: _this.handleClick\n }, title), children);\n };\n\n return _this;\n }\n\n _createClass(AnchorLink, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.context.antAnchor.registerLink(this.props.href);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_ref2) {\n var prevHref = _ref2.href;\n var href = this.props.href;\n\n if (prevHref !== href) {\n this.context.antAnchor.unregisterLink(prevHref);\n this.context.antAnchor.registerLink(href);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.antAnchor.unregisterLink(this.props.href);\n }\n }, {\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_4__config_provider__[\"a\" /* ConfigConsumer */], null, this.renderAnchorLink);\n }\n }]);\n\n return AnchorLink;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nAnchorLink.defaultProps = {\n href: '#'\n};\nAnchorLink.contextTypes = {\n antAnchor: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"object\"]\n};\nObject(__WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__[\"polyfill\"])(AnchorLink);\n/* harmony default export */ __webpack_exports__[\"a\"] = (AnchorLink);\n\n/***/ }),\n/* 1000 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rc_select__ = __webpack_require__(419);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__InputElement__ = __webpack_require__(1032);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__input__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__select__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__config_provider__ = __webpack_require__(7);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\nfunction isSelectOptionOrSelectOptGroup(child) {\n return child && child.type && (child.type.isSelectOption || child.type.isSelectOptGroup);\n}\n\nvar AutoComplete =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AutoComplete, _React$Component);\n\n function AutoComplete() {\n var _this;\n\n _classCallCheck(this, AutoComplete);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AutoComplete).apply(this, arguments));\n\n _this.getInputElement = function () {\n var children = _this.props.children;\n var element = children && __WEBPACK_IMPORTED_MODULE_0_react__[\"isValidElement\"](children) && children.type !== __WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */] ? __WEBPACK_IMPORTED_MODULE_0_react__[\"Children\"].only(_this.props.children) : __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_4__input__[\"a\" /* default */], null);\n\n var elementProps = _extends({}, element.props); // https://github.com/ant-design/ant-design/pull/7742\n\n\n delete elementProps.children;\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3__InputElement__[\"a\" /* default */], elementProps, element);\n };\n\n _this.saveSelect = function (node) {\n _this.select = node;\n };\n\n _this.renderAutoComplete = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n size = _this$props.size,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n notFoundContent = _this$props.notFoundContent,\n optionLabelProp = _this$props.optionLabelProp,\n dataSource = _this$props.dataSource,\n children = _this$props.children;\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, className, !!className), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-search\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-auto-complete\"), true), _classNames));\n var options;\n var childArray = __WEBPACK_IMPORTED_MODULE_0_react__[\"Children\"].toArray(children);\n\n if (childArray.length && isSelectOptionOrSelectOptGroup(childArray[0])) {\n options = children;\n } else {\n options = dataSource ? dataSource.map(function (item) {\n if (__WEBPACK_IMPORTED_MODULE_0_react__[\"isValidElement\"](item)) {\n return item;\n }\n\n switch (_typeof(item)) {\n case 'string':\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */], {\n key: item\n }, item);\n\n case 'object':\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */], {\n key: item.value\n }, item.text);\n\n default:\n throw new Error('AutoComplete[dataSource] only supports type `string[] | Object[]`.');\n }\n }) : [];\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_5__select__[\"a\" /* default */], _extends({}, _this.props, {\n className: cls,\n mode: __WEBPACK_IMPORTED_MODULE_5__select__[\"a\" /* default */].SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp: optionLabelProp,\n getInputElement: _this.getInputElement,\n notFoundContent: notFoundContent,\n ref: _this.saveSelect\n }), options);\n };\n\n return _this;\n }\n\n _createClass(AutoComplete, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_6__config_provider__[\"a\" /* ConfigConsumer */], null, this.renderAutoComplete);\n }\n }]);\n\n return AutoComplete;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\nAutoComplete.Option = __WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */];\nAutoComplete.OptGroup = __WEBPACK_IMPORTED_MODULE_1_rc_select__[\"a\" /* OptGroup */];\nAutoComplete.defaultProps = {\n transitionName: 'slide-up',\n optionLabelProp: 'children',\n choiceTransitionName: 'zoom',\n showSearch: false,\n filterOption: false\n};\n\n/***/ }),\n/* 1001 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return OptGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\nvar OptGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(OptGroup, _Component);\n\n function OptGroup() {\n _classCallCheck(this, OptGroup);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(OptGroup).apply(this, arguments));\n }\n\n return OptGroup;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\nOptGroup.isSelectOptGroup = true;\n\n/***/ }),\n/* 1002 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_component_classes__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_component_classes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_component_classes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rc_animate__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_menu__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_lifecycles_compat__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_warning__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Option__ = __webpack_require__(420);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__PropTypes__ = __webpack_require__(421);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__SelectTrigger__ = __webpack_require__(1030);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__util__ = __webpack_require__(249);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nvar noop = function noop() {\n return null;\n};\n\nfunction chaining() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\n\nvar Select =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Select, _React$Component);\n\n function Select(props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Select).call(this, props));\n _this.inputRef = null;\n _this.inputMirrorRef = null;\n _this.topCtrlRef = null;\n _this.selectTriggerRef = null;\n _this.rootRef = null;\n _this.selectionRef = null;\n _this.dropdownContainer = null;\n _this.blurTimer = null;\n _this.focusTimer = null; // tslint:disable-next-line:variable-name\n\n _this._focused = false; // tslint:disable-next-line:variable-name\n\n _this._mouseDown = false; // tslint:disable-next-line:variable-name\n\n _this._options = []; // tslint:disable-next-line:variable-name\n\n _this._empty = false;\n\n _this.onInputChange = function (event) {\n var tokenSeparators = _this.props.tokenSeparators;\n var val = event.target.value;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) && tokenSeparators.length && Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"l\" /* includesSeparators */])(val, tokenSeparators)) {\n var nextValue = _this.getValueByInput(val);\n\n if (nextValue !== undefined) {\n _this.fireChange(nextValue);\n }\n\n _this.setOpenState(false, true);\n\n _this.setInputValue('', false);\n\n return;\n }\n\n _this.setInputValue(val);\n\n _this.setState({\n open: true\n });\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(_this.props)) {\n _this.fireChange([val]);\n }\n };\n\n _this.onDropdownVisibleChange = function (open) {\n if (open && !_this._focused) {\n _this.clearBlurTime();\n\n _this.timeoutFocus();\n\n _this._focused = true;\n\n _this.updateFocusClassName();\n }\n\n _this.setOpenState(open);\n }; // combobox ignore\n\n\n _this.onKeyDown = function (event) {\n var open = _this.state.open;\n var disabled = _this.props.disabled;\n\n if (disabled) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (open && !_this.getInputDOMNode()) {\n _this.onInputKeyDown(event);\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ENTER || keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].DOWN) {\n if (!open) {\n _this.setOpenState(true);\n }\n\n event.preventDefault();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].SPACE) {\n // Not block space if popup is shown\n if (!open) {\n _this.setOpenState(true);\n\n event.preventDefault();\n }\n }\n };\n\n _this.onInputKeyDown = function (event) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n combobox = _this$props.combobox;\n\n if (disabled) {\n return;\n }\n\n var state = _this.state;\n\n var isRealOpen = _this.getRealOpenState(state); // magic code\n\n\n var keyCode = event.keyCode;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) && !event.target.value && keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].BACKSPACE) {\n event.preventDefault();\n var value = state.value;\n\n if (value.length) {\n _this.removeSelected(value[value.length - 1]);\n }\n\n return;\n }\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].DOWN) {\n if (!state.open) {\n _this.openIfHasChildren();\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ENTER && state.open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ESC) {\n if (state.open) {\n _this.setOpenState(false);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n return;\n }\n\n if (isRealOpen && _this.selectTriggerRef) {\n var menu = _this.selectTriggerRef.getInnerMenu();\n\n if (menu && menu.onKeyDown(event, _this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n _this.onMenuSelect = function (_ref) {\n var item = _ref.item;\n\n if (!item) {\n return;\n }\n\n var value = _this.state.value;\n var props = _this.props;\n var selectedValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item);\n var lastValue = value[value.length - 1];\n\n _this.fireSelect(selectedValue);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props)) {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"e\" /* findIndexInValueBySingleValue */])(value, selectedValue) !== -1) {\n return;\n }\n\n value = value.concat([selectedValue]);\n } else {\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props) && lastValue !== undefined && lastValue === selectedValue && selectedValue !== _this.state.backfillValue) {\n _this.setOpenState(false, true);\n\n return;\n }\n\n value = [selectedValue];\n\n _this.setOpenState(false, true);\n }\n\n _this.fireChange(value);\n\n var inputValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props) ? Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"i\" /* getPropValue */])(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n _this.setInputValue(inputValue, false);\n }\n };\n\n _this.onMenuDeselect = function (_ref2) {\n var item = _ref2.item,\n domEvent = _ref2.domEvent;\n\n if (domEvent.type === 'keydown' && domEvent.keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ENTER) {\n _this.removeSelected(Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item));\n\n return;\n }\n\n if (domEvent.type === 'click') {\n _this.removeSelected(Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item));\n }\n\n var props = _this.props;\n\n if (props.autoClearSearchValue) {\n _this.setInputValue('', false);\n }\n };\n\n _this.onArrowClick = function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n if (!_this.props.disabled) {\n _this.setOpenState(!_this.state.open, !_this.state.open);\n }\n };\n\n _this.onPlaceholderClick = function () {\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().focus();\n }\n };\n\n _this.onOuterFocus = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.clearBlurTime();\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(_this.props) && e.target === _this.getInputDOMNode()) {\n return;\n }\n\n if (_this._focused) {\n return;\n }\n\n _this._focused = true;\n\n _this.updateFocusClassName(); // only effect multiple or tag mode\n\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) || !_this._mouseDown) {\n _this.timeoutFocus();\n }\n };\n\n _this.onPopupFocus = function () {\n // fix ie scrollbar, focus element again\n _this.maybeFocus(true, true);\n };\n\n _this.onOuterBlur = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.blurTimer = window.setTimeout(function () {\n _this._focused = false;\n\n _this.updateFocusClassName();\n\n var props = _this.props;\n var value = _this.state.value;\n var inputValue = _this.state.inputValue;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props) && props.showSearch && inputValue && props.defaultActiveFirstOption) {\n var options = _this._options || [];\n\n if (options.length) {\n var firstOption = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"d\" /* findFirstMenuItem */])(options);\n\n if (firstOption) {\n value = [Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(firstOption)];\n\n _this.fireChange(value);\n }\n }\n } else if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props) && inputValue) {\n if (_this._mouseDown) {\n // need update dropmenu when not blur\n _this.setInputValue('');\n } else {\n // why not use setState?\n // https://github.com/ant-design/ant-design/issues/14262\n _this.state.inputValue = '';\n\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().value = '';\n }\n }\n\n var tmpValue = _this.getValueByInput(inputValue);\n\n if (tmpValue !== undefined) {\n value = tmpValue;\n\n _this.fireChange(value);\n }\n } // if click the rest space of Select in multiple mode\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props) && _this._mouseDown) {\n _this.maybeFocus(true, true);\n\n _this._mouseDown = false;\n return;\n }\n\n _this.setOpenState(false);\n\n if (props.onBlur) {\n props.onBlur(_this.getVLForOnChange(value));\n }\n }, 10);\n };\n\n _this.onClearSelection = function (event) {\n var props = _this.props;\n var state = _this.state;\n\n if (props.disabled) {\n return;\n }\n\n var inputValue = state.inputValue;\n var value = state.value;\n event.stopPropagation();\n\n if (inputValue || value.length) {\n if (value.length) {\n _this.fireChange([]);\n }\n\n _this.setOpenState(false, true);\n\n if (inputValue) {\n _this.setInputValue('');\n }\n }\n };\n\n _this.onChoiceAnimationLeave = function () {\n _this.forcePopupAlign();\n };\n\n _this.getOptionInfoBySingleValue = function (value, optionsInfo) {\n var info;\n optionsInfo = optionsInfo || _this.state.optionsInfo;\n\n if (optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)]) {\n info = optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)];\n }\n\n if (info) {\n return info;\n }\n\n var defaultLabel = value;\n\n if (_this.props.labelInValue) {\n var label = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* getLabelFromPropsValue */])(_this.props.value, value);\n\n if (label !== undefined) {\n defaultLabel = label;\n }\n }\n\n var defaultInfo = {\n option: __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_10__Option__[\"a\" /* default */], {\n value: value,\n key: value\n }, value),\n value: value,\n label: defaultLabel\n };\n return defaultInfo;\n };\n\n _this.getOptionBySingleValue = function (value) {\n var _this$getOptionInfoBy = _this.getOptionInfoBySingleValue(value),\n option = _this$getOptionInfoBy.option;\n\n return option;\n };\n\n _this.getOptionsBySingleValue = function (values) {\n return values.map(function (value) {\n return _this.getOptionBySingleValue(value);\n });\n };\n\n _this.getValueByLabel = function (label) {\n if (label === undefined) {\n return null;\n }\n\n var value = null;\n Object.keys(_this.state.optionsInfo).forEach(function (key) {\n var info = _this.state.optionsInfo[key];\n var disabled = info.disabled;\n\n if (disabled) {\n return;\n }\n\n var oldLable = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(info.label);\n\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n };\n\n _this.getVLBySingleValue = function (value) {\n if (_this.props.labelInValue) {\n return {\n key: value,\n label: _this.getLabelBySingleValue(value)\n };\n }\n\n return value;\n };\n\n _this.getVLForOnChange = function (vlsS) {\n var vls = vlsS;\n\n if (vls !== undefined) {\n if (!_this.props.labelInValue) {\n vls = vls.map(function (v) {\n return v;\n });\n } else {\n vls = vls.map(function (vl) {\n return {\n key: vl,\n label: _this.getLabelBySingleValue(vl)\n };\n });\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) ? vls : vls[0];\n }\n\n return vls;\n };\n\n _this.getLabelBySingleValue = function (value, optionsInfo) {\n var _this$getOptionInfoBy2 = _this.getOptionInfoBySingleValue(value, optionsInfo),\n label = _this$getOptionInfoBy2.label;\n\n return label;\n };\n\n _this.getDropdownContainer = function () {\n if (!_this.dropdownContainer) {\n _this.dropdownContainer = document.createElement('div');\n document.body.appendChild(_this.dropdownContainer);\n }\n\n return _this.dropdownContainer;\n };\n\n _this.getPlaceholderElement = function () {\n var props = _this.props;\n var state = _this.state;\n var hidden = false;\n\n if (state.inputValue) {\n hidden = true;\n }\n\n var value = state.value;\n\n if (value.length) {\n hidden = true;\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props) && value.length === 1 && state.value && !state.value[0]) {\n hidden = false;\n }\n\n var placeholder = props.placeholder;\n\n if (placeholder) {\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", _extends({\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n style: _extends({\n display: hidden ? 'none' : 'block'\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */])\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onClick: _this.onPlaceholderClick,\n className: \"\".concat(props.prefixCls, \"-selection__placeholder\")\n }), placeholder);\n }\n\n return null;\n };\n\n _this.getInputElement = function () {\n var props = _this.props;\n var defaultInput = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"input\", {\n id: props.id,\n autoComplete: \"off\"\n }); // tslint:disable-next-line:typedef-whitespace\n\n var inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n var inputCls = __WEBPACK_IMPORTED_MODULE_0_classnames___default()(inputElement.props.className, _defineProperty({}, \"\".concat(props.prefixCls, \"-search__field\"), true)); // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(props.prefixCls, \"-search__field__wrap\")\n }, __WEBPACK_IMPORTED_MODULE_6_react__[\"cloneElement\"](inputElement, {\n ref: _this.saveInputRef,\n onChange: _this.onInputChange,\n onKeyDown: chaining(_this.onInputKeyDown, inputElement.props.onKeyDown, _this.props.onInputKeyDown),\n value: _this.state.inputValue,\n disabled: props.disabled,\n className: inputCls\n }), __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", {\n ref: _this.saveInputMirrorRef,\n className: \"\".concat(props.prefixCls, \"-search__field__mirror\")\n }, _this.state.inputValue, \"\\xA0\"));\n };\n\n _this.getInputDOMNode = function () {\n return _this.topCtrlRef ? _this.topCtrlRef.querySelector('input,textarea,div[contentEditable]') : _this.inputRef;\n };\n\n _this.getInputMirrorDOMNode = function () {\n return _this.inputMirrorRef;\n };\n\n _this.getPopupDOMNode = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getPopupDOMNode();\n }\n };\n\n _this.getPopupMenuComponent = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getInnerMenu();\n }\n };\n\n _this.setOpenState = function (open, needFocus) {\n var props = _this.props;\n var state = _this.state;\n\n if (state.open === open) {\n _this.maybeFocus(open, !!needFocus);\n\n return;\n }\n\n if (_this.props.onDropdownVisibleChange) {\n _this.props.onDropdownVisibleChange(open);\n }\n\n var nextState = {\n open: open,\n backfillValue: ''\n }; // clear search input value when open is false in singleMode.\n\n if (!open && Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props) && props.showSearch) {\n _this.setInputValue('', false);\n }\n\n if (!open) {\n _this.maybeFocus(open, !!needFocus);\n }\n\n _this.setState(_extends({\n open: open\n }, nextState), function () {\n if (open) {\n _this.maybeFocus(open, !!needFocus);\n }\n });\n };\n\n _this.setInputValue = function (inputValue) {\n var fireSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (inputValue !== _this.state.inputValue) {\n _this.setState({\n inputValue: inputValue\n }, _this.forcePopupAlign);\n\n if (fireSearch && _this.props.onSearch) {\n _this.props.onSearch(inputValue);\n }\n }\n };\n\n _this.getValueByInput = function (str) {\n var _this$props2 = _this.props,\n multiple = _this$props2.multiple,\n tokenSeparators = _this$props2.tokenSeparators;\n var nextValue = _this.state.value;\n var hasNewValue = false;\n Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"s\" /* splitBySeparators */])(str, tokenSeparators).forEach(function (label) {\n var selectedValue = [label];\n\n if (multiple) {\n var value = _this.getValueByLabel(label);\n\n if (value && Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"e\" /* findIndexInValueBySingleValue */])(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n\n _this.fireSelect(value);\n }\n } else if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"e\" /* findIndexInValueBySingleValue */])(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n\n _this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n };\n\n _this.getRealOpenState = function (state) {\n // tslint:disable-next-line:variable-name\n var _open = _this.props.open;\n\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n var open = (state || _this.state).open;\n var options = _this._options || [];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(_this.props) || !_this.props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n\n return open;\n };\n\n _this.markMouseDown = function () {\n _this._mouseDown = true;\n };\n\n _this.markMouseLeave = function () {\n _this._mouseDown = false;\n };\n\n _this.handleBackfill = function (item) {\n if (!_this.props.backfill || !(Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(_this.props) || Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(_this.props))) {\n return;\n }\n\n var key = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(_this.props)) {\n _this.setInputValue(key, false);\n }\n\n _this.setState({\n value: [key],\n backfillValue: key\n });\n };\n\n _this.filterOption = function (input, child) {\n var defaultFilter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : __WEBPACK_IMPORTED_MODULE_13__util__[\"c\" /* defaultFilterFn */];\n var value = _this.state.value;\n var lastValue = value[value.length - 1];\n\n if (!input || lastValue && lastValue === _this.state.backfillValue) {\n return true;\n }\n\n var filterFn = _this.props.filterOption;\n\n if ('filterOption' in _this.props) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n } else {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(_assertThisInitialized(_this), input, child);\n } else if (child.props.disabled) {\n return false;\n }\n\n return true;\n };\n\n _this.timeoutFocus = function () {\n if (_this.focusTimer) {\n _this.clearFocusTime();\n }\n\n _this.focusTimer = window.setTimeout(function () {\n if (_this.props.onFocus) {\n _this.props.onFocus();\n }\n }, 10);\n };\n\n _this.clearFocusTime = function () {\n if (_this.focusTimer) {\n clearTimeout(_this.focusTimer);\n _this.focusTimer = null;\n }\n };\n\n _this.clearBlurTime = function () {\n if (_this.blurTimer) {\n clearTimeout(_this.blurTimer);\n _this.blurTimer = null;\n }\n };\n\n _this.updateFocusClassName = function () {\n var rootRef = _this.rootRef;\n var props = _this.props; // avoid setState and its side effect\n\n if (_this._focused) {\n __WEBPACK_IMPORTED_MODULE_1_component_classes___default()(rootRef).add(\"\".concat(props.prefixCls, \"-focused\"));\n } else {\n __WEBPACK_IMPORTED_MODULE_1_component_classes___default()(rootRef).remove(\"\".concat(props.prefixCls, \"-focused\"));\n }\n };\n\n _this.maybeFocus = function (open, needFocus) {\n if (needFocus || open) {\n var input = _this.getInputDOMNode();\n\n var _document = document,\n activeElement = _document.activeElement;\n\n if (input && (open || Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(_this.props))) {\n if (activeElement !== input) {\n input.focus();\n _this._focused = true;\n }\n } else if (activeElement !== _this.selectionRef && _this.selectionRef) {\n _this.selectionRef.focus();\n\n _this._focused = true;\n }\n }\n };\n\n _this.removeSelected = function (selectedKey, e) {\n var props = _this.props;\n\n if (props.disabled || _this.isChildDisabled(selectedKey)) {\n return;\n } // Do not trigger Trigger popup\n\n\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n\n var oldValue = _this.state.value;\n var value = oldValue.filter(function (singleValue) {\n return singleValue !== selectedKey;\n });\n var canMultiple = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props);\n\n if (canMultiple) {\n var event = selectedKey;\n\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: _this.getLabelBySingleValue(selectedKey)\n };\n }\n\n if (props.onDeselect) {\n props.onDeselect(event, _this.getOptionBySingleValue(selectedKey));\n }\n }\n\n _this.fireChange(value);\n };\n\n _this.openIfHasChildren = function () {\n var props = _this.props;\n\n if (__WEBPACK_IMPORTED_MODULE_6_react__[\"Children\"].count(props.children) || Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props)) {\n _this.setOpenState(true);\n }\n };\n\n _this.fireSelect = function (value) {\n if (_this.props.onSelect) {\n _this.props.onSelect(_this.getVLBySingleValue(value), _this.getOptionBySingleValue(value));\n }\n };\n\n _this.fireChange = function (value) {\n var props = _this.props;\n\n if (!('value' in props)) {\n _this.setState({\n value: value\n }, _this.forcePopupAlign);\n }\n\n var vls = _this.getVLForOnChange(value);\n\n var options = _this.getOptionsBySingleValue(value);\n\n if (props.onChange) {\n props.onChange(vls, Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) ? options : options[0]);\n }\n };\n\n _this.isChildDisabled = function (key) {\n return Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__[\"a\" /* default */])(_this.props.children).some(function (child) {\n var childValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(child);\n return childValue === key && child.props && child.props.disabled;\n });\n };\n\n _this.forcePopupAlign = function () {\n if (!_this.state.open) {\n return;\n }\n\n if (_this.selectTriggerRef && _this.selectTriggerRef.triggerRef) {\n _this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n };\n\n _this.renderFilterOptions = function () {\n var inputValue = _this.state.inputValue;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n tags = _this$props3.tags,\n notFoundContent = _this$props3.notFoundContent;\n var menuItems = [];\n var childrenKeys = [];\n var empty = false;\n\n var options = _this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n\n if (tags) {\n // tags value must be string\n var value = _this.state.value;\n value = value.filter(function (singleValue) {\n return childrenKeys.indexOf(singleValue) === -1 && (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1);\n }); // sort by length\n\n value.sort(function (val1, val2) {\n return val1.length - val2.length;\n });\n value.forEach(function (singleValue) {\n var key = singleValue;\n var menuItem = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], {\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n role: \"option\",\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n value: key,\n key: key\n }, key);\n options.push(menuItem);\n menuItems.push(menuItem);\n }); // ref: https://github.com/ant-design/ant-design/issues/14090\n\n if (inputValue && menuItems.every(function (option) {\n return Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(option) !== inputValue;\n })) {\n options.unshift(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], {\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n role: \"option\",\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n value: inputValue,\n key: inputValue\n }, inputValue));\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n options = [__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], {\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n disabled: true,\n role: \"option\",\n value: \"NOT_FOUND\",\n key: \"NOT_FOUND\"\n }, notFoundContent)];\n }\n\n return {\n empty: empty,\n options: options\n };\n };\n\n _this.renderFilterOptionsFromChildren = function (children, childrenKeys, menuItems) {\n var sel = [];\n var props = _this.props;\n var inputValue = _this.state.inputValue;\n var tags = props.tags;\n __WEBPACK_IMPORTED_MODULE_6_react__[\"Children\"].forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n var label = child.props.label;\n var key = child.key;\n\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n } // Match option group label\n\n\n if (inputValue && _this.filterOption(inputValue, child)) {\n var innerItems = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__[\"a\" /* default */])(child.props.children).map(function (subChild) {\n var childValueSub = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(subChild) || subChild.key;\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], _extends({\n key: childValueSub,\n value: childValueSub\n }, subChild.props));\n });\n sel.push(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"c\" /* ItemGroup */], {\n key: key,\n title: label\n }, innerItems)); // Not match\n } else {\n var _innerItems = _this.renderFilterOptionsFromChildren(child.props.children, childrenKeys, menuItems);\n\n if (_innerItems.length) {\n sel.push(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"c\" /* ItemGroup */], {\n key: key,\n title: label\n }, _innerItems));\n }\n }\n\n return;\n }\n\n __WEBPACK_IMPORTED_MODULE_9_warning___default()(type.isSelectOption, 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' + \"instead of `\".concat(type.name || type.displayName || child.type, \"`.\"));\n var childValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(child);\n Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"v\" /* validateOptionValue */])(childValue, _this.props);\n\n if (_this.filterOption(inputValue, child)) {\n var menuItem = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], _extends({\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n value: childValue,\n key: childValue,\n role: \"option\"\n }, child.props));\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n return sel;\n };\n\n _this.renderTopControlNode = function () {\n var _this$state = _this.state,\n open = _this$state.open,\n inputValue = _this$state.inputValue;\n var value = _this.state.value;\n var props = _this.props;\n var choiceTransitionName = props.choiceTransitionName,\n prefixCls = props.prefixCls,\n maxTagTextLength = props.maxTagTextLength,\n maxTagCount = props.maxTagCount,\n showSearch = props.showSearch,\n removeIcon = props.removeIcon;\n var maxTagPlaceholder = props.maxTagPlaceholder;\n var className = \"\".concat(prefixCls, \"-selection__rendered\"); // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n\n var innerNode = null;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props)) {\n var selectedValue = null;\n\n if (value.length) {\n var showSelectedValue = false;\n var opacity = 1;\n\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n\n var singleValue = value[0];\n\n var _this$getOptionInfoBy3 = _this.getOptionInfoBySingleValue(singleValue),\n label = _this$getOptionInfoBy3.label,\n title = _this$getOptionInfoBy3.title;\n\n selectedValue = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n key: \"value\",\n className: \"\".concat(prefixCls, \"-selection-selected-value\"),\n title: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"u\" /* toTitle */])(title || label),\n style: {\n display: showSelectedValue ? 'block' : 'none',\n opacity: opacity\n }\n }, label);\n }\n\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [selectedValue, __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"input\",\n style: {\n display: open ? 'block' : 'none'\n }\n }, _this.getInputElement())];\n }\n } else {\n var selectedValueNodes = [];\n var limitedCountValue = value;\n var maxTagPlaceholderEl;\n\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n\n var omittedValues = _this.getVLForOnChange(value.slice(maxTagCount, value.length));\n\n var content = \"+ \".concat(value.length - maxTagCount, \" ...\");\n\n if (maxTagPlaceholder) {\n content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n }\n\n maxTagPlaceholderEl = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"li\", _extends({\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n role: \"presentation\",\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n className: \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\"),\n key: \"maxTagPlaceholder\",\n title: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"u\" /* toTitle */])(content)\n }), __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content));\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props)) {\n selectedValueNodes = limitedCountValue.map(function (singleValue) {\n var info = _this.getOptionInfoBySingleValue(singleValue);\n\n var content = info.label;\n var title = info.title || content;\n\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = \"\".concat(content.slice(0, maxTagTextLength), \"...\");\n }\n\n var disabled = _this.isChildDisabled(singleValue);\n\n var choiceClassName = disabled ? \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\") : \"\".concat(prefixCls, \"-selection__choice\");\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"li\", _extends({\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n className: choiceClassName,\n role: \"presentation\",\n key: singleValue || SELECT_EMPTY_VALUE_KEY,\n title: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"u\" /* toTitle */])(title)\n }), __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content), disabled ? null : __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", {\n onClick: function onClick(event) {\n _this.removeSelected(singleValue, event);\n },\n className: \"\".concat(prefixCls, \"-selection__choice__remove\")\n }, removeIcon || __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-selection__choice__remove-icon\")\n }, \"\\xD7\")));\n });\n }\n\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n\n selectedValueNodes.push(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"li\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"__input\"\n }, _this.getInputElement()));\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props) && choiceTransitionName) {\n innerNode = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_2_rc_animate__[\"a\" /* default */], {\n onLeave: _this.onChoiceAnimationLeave,\n component: \"ul\",\n transitionName: choiceTransitionName\n }, selectedValueNodes);\n } else {\n innerNode = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"ul\", null, selectedValueNodes);\n }\n }\n\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: className,\n ref: _this.saveTopCtrlRef\n }, _this.getPlaceholderElement(), innerNode);\n };\n\n var optionsInfo = Select.getOptionsInfoFromProps(props);\n\n if (props.tags && typeof props.filterOption !== 'function') {\n var isDisabledExist = Object.keys(optionsInfo).some(function (key) {\n return optionsInfo[key].disabled;\n });\n __WEBPACK_IMPORTED_MODULE_9_warning___default()(!isDisabledExist, 'Please avoid setting option to disabled in tags mode since user can always type text as tag.');\n }\n\n _this.state = {\n value: Select.getValueFromProps(props, true),\n inputValue: props.combobox ? Select.getInputValueForCombobox(props, optionsInfo, true) : '',\n open: props.defaultOpen,\n optionsInfo: optionsInfo,\n backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n skipBuildOptionsInfo: true,\n ariaId: ''\n };\n _this.saveInputRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'inputRef');\n _this.saveInputMirrorRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'inputMirrorRef');\n _this.saveTopCtrlRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'topCtrlRef');\n _this.saveSelectTriggerRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'selectTriggerRef');\n _this.saveRootRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'rootRef');\n _this.saveSelectionRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'selectionRef');\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.props.autoFocus || this.state.open) {\n this.focus();\n }\n\n this.setState({\n ariaId: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"f\" /* generateUUID */])()\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(this.props)) {\n var inputNode = this.getInputDOMNode();\n var mirrorNode = this.getInputMirrorDOMNode();\n\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = \"\".concat(mirrorNode.clientWidth, \"px\");\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n\n this.forcePopupAlign();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearFocusTime();\n this.clearBlurTime();\n\n if (this.dropdownContainer) {\n __WEBPACK_IMPORTED_MODULE_7_react_dom__[\"unmountComponentAtNode\"](this.dropdownContainer);\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(this.props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(this.props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n }\n }, {\n key: \"renderArrow\",\n value: function renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n var _this$props4 = this.props,\n _this$props4$showArro = _this$props4.showArrow,\n showArrow = _this$props4$showArro === void 0 ? !multiple : _this$props4$showArro,\n loading = _this$props4.loading,\n inputIcon = _this$props4.inputIcon,\n prefixCls = _this$props4.prefixCls;\n\n if (!showArrow && !loading) {\n return null;\n } // if loading have loading icon\n\n\n var defaultIcon = loading ? __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-loading\")\n }) : __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-icon\")\n });\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", _extends({\n key: \"arrow\",\n className: \"\".concat(prefixCls, \"-arrow\"),\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onClick: this.onArrowClick\n }), inputIcon || defaultIcon);\n }\n }, {\n key: \"renderClear\",\n value: function renderClear() {\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n allowClear = _this$props5.allowClear,\n clearIcon = _this$props5.clearIcon;\n var inputValue = this.state.inputValue;\n var value = this.state.value;\n var clear = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", _extends({\n key: \"clear\",\n className: \"\".concat(prefixCls, \"-selection__clear\"),\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onClick: this.onClearSelection\n }), clearIcon || __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-selection__clear-icon\")\n }, \"\\xD7\"));\n\n if (!allowClear) {\n return null;\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(this.props)) {\n if (inputValue) {\n return clear;\n }\n\n return null;\n }\n\n if (inputValue || value.length) {\n return clear;\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _rootCls;\n\n var props = this.props;\n var multiple = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props); // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var state = this.state;\n var className = props.className,\n disabled = props.disabled,\n prefixCls = props.prefixCls,\n loading = props.loading;\n var ctrlNode = this.renderTopControlNode();\n var _this$state2 = this.state,\n open = _this$state2.open,\n ariaId = _this$state2.ariaId;\n\n if (open) {\n var filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n\n var realOpen = this.getRealOpenState();\n var empty = this._empty;\n var options = this._options || [];\n var dataOrAriaAttributeProps = {};\n Object.keys(props).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(props, key) && (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')) {\n dataOrAriaAttributeProps[key] = props[key];\n }\n }); // for (const key in props) {\n // if (\n // Object.prototype.hasOwnProperty.call(props, key) &&\n // (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')\n // ) {\n // dataOrAriaAttributeProps[key] = props[key];\n // }\n // }\n\n var extraSelectionProps = _extends({}, dataOrAriaAttributeProps);\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(props)) {\n extraSelectionProps = _extends({}, extraSelectionProps, {\n onKeyDown: this.onKeyDown,\n tabIndex: props.disabled ? -1 : props.tabIndex\n });\n }\n\n var rootCls = (_rootCls = {}, _defineProperty(_rootCls, className, !!className), _defineProperty(_rootCls, prefixCls, 1), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-open\"), open), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-focused\"), open || !!this._focused), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-combobox\"), Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props)), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-enabled\"), !disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-allow-clear\"), !!props.allowClear), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-no-arrow\"), !showArrow), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-loading\"), !!loading), _rootCls);\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_12__SelectTrigger__[\"a\" /* default */], {\n onPopupFocus: this.onPopupFocus,\n onMouseEnter: this.props.onMouseEnter,\n onMouseLeave: this.props.onMouseLeave,\n dropdownAlign: props.dropdownAlign,\n dropdownClassName: props.dropdownClassName,\n dropdownMatchSelectWidth: props.dropdownMatchSelectWidth,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n transitionName: props.transitionName,\n animation: props.animation,\n prefixCls: props.prefixCls,\n dropdownStyle: props.dropdownStyle,\n combobox: props.combobox,\n showSearch: props.showSearch,\n options: options,\n empty: empty,\n multiple: multiple,\n disabled: disabled,\n visible: realOpen,\n inputValue: state.inputValue,\n value: state.value,\n backfillValue: state.backfillValue,\n firstActiveValue: props.firstActiveValue,\n onDropdownVisibleChange: this.onDropdownVisibleChange,\n getPopupContainer: props.getPopupContainer,\n onMenuSelect: this.onMenuSelect,\n onMenuDeselect: this.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n showAction: props.showAction,\n ref: this.saveSelectTriggerRef,\n menuItemSelectedIcon: props.menuItemSelectedIcon,\n dropdownRender: props.dropdownRender,\n ariaId: ariaId\n }, __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n id: props.id,\n style: props.style,\n ref: this.saveRootRef,\n onBlur: this.onOuterBlur,\n onFocus: this.onOuterFocus,\n className: __WEBPACK_IMPORTED_MODULE_0_classnames___default()(rootCls),\n onMouseDown: this.markMouseDown,\n onMouseUp: this.markMouseLeave,\n onMouseOut: this.markMouseLeave\n }, __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", _extends({\n ref: this.saveSelectionRef,\n key: \"selection\",\n className: \"\".concat(prefixCls, \"-selection\\n \").concat(prefixCls, \"-selection--\").concat(multiple ? 'multiple' : 'single'),\n role: \"combobox\",\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"true\",\n \"aria-controls\": ariaId,\n \"aria-expanded\": realOpen\n }, extraSelectionProps), ctrlNode, this.renderClear(), this.renderArrow(!!multiple))));\n }\n }]);\n\n return Select;\n}(__WEBPACK_IMPORTED_MODULE_6_react__[\"Component\"]);\n\nSelect.propTypes = __WEBPACK_IMPORTED_MODULE_11__PropTypes__[\"a\" /* default */];\nSelect.defaultProps = {\n prefixCls: 'rc-select',\n defaultOpen: false,\n labelInValue: false,\n defaultActiveFirstOption: true,\n showSearch: true,\n allowClear: false,\n placeholder: '',\n onChange: noop,\n onFocus: noop,\n onBlur: noop,\n onSelect: noop,\n onSearch: noop,\n onDeselect: noop,\n onInputKeyDown: noop,\n dropdownMatchSelectWidth: true,\n dropdownStyle: {},\n dropdownMenuStyle: {},\n optionFilterProp: 'value',\n optionLabelProp: 'value',\n notFoundContent: 'Not Found',\n backfill: false,\n showAction: ['click'],\n tokenSeparators: [],\n autoClearSearchValue: true,\n tabIndex: 0,\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\n\nSelect.getDerivedStateFromProps = function (nextProps, prevState) {\n var optionsInfo = prevState.skipBuildOptionsInfo ? prevState.optionsInfo : Select.getOptionsInfoFromProps(nextProps, prevState);\n var newState = {\n optionsInfo: optionsInfo,\n skipBuildOptionsInfo: false\n };\n\n if ('open' in nextProps) {\n newState.open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n var value = Select.getValueFromProps(nextProps);\n newState.value = value;\n\n if (nextProps.combobox) {\n newState.inputValue = Select.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n\n return newState;\n};\n\nSelect.getOptionsFromChildren = function (children) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n __WEBPACK_IMPORTED_MODULE_6_react__[\"Children\"].forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n Select.getOptionsFromChildren(child.props.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n};\n\nSelect.getInputValueForCombobox = function (props, optionsInfo, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.defaultValue);\n }\n\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n\n var label = value;\n\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)]) {\n label = optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)].label;\n }\n\n if (label === undefined) {\n label = '';\n }\n\n return label;\n};\n\nSelect.getLabelFromOption = function (props, option) {\n return Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"i\" /* getPropValue */])(option, props.optionLabelProp);\n};\n\nSelect.getOptionsInfoFromProps = function (props, preState) {\n var options = Select.getOptionsFromChildren(props.children);\n var optionsInfo = {};\n options.forEach(function (option) {\n var singleValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(option);\n optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(singleValue)] = {\n option: option,\n value: singleValue,\n label: Select.getLabelFromOption(props, option),\n title: option.props.title,\n disabled: option.props.disabled\n };\n });\n\n if (preState) {\n // keep option info in pre state value.\n var oldOptionsInfo = preState.optionsInfo;\n var value = preState.value;\n\n if (value) {\n value.forEach(function (v) {\n var key = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(v);\n\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n\n return optionsInfo;\n};\n\nSelect.getValueFromProps = function (props, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.defaultValue);\n }\n\n if (props.labelInValue) {\n value = value.map(function (v) {\n return v.key;\n });\n }\n\n return value;\n};\n\nSelect.displayName = 'Select';\nObject(__WEBPACK_IMPORTED_MODULE_8_react_lifecycles_compat__[\"polyfill\"])(Select);\n/* harmony default export */ __webpack_exports__[\"a\"] = (Select);\n\n/***/ }),\n/* 1003 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = toArrayChildren;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = findChildInChildrenByKey;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = findShownChildInChildrenByKey;\n/* unused harmony export findHiddenChildInChildrenByKey */\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isSameChildren;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = mergeChildren;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n\nfunction toArrayChildren(children) {\n var ret = [];\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nfunction findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nfunction isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nfunction mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n/***/ }),\n/* 1004 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_css_animation__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_animate__ = __webpack_require__(424);\n\n\n\n\n\n\n\n\n\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AnimateChild, _React$Component);\n\n function AnimateChild() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, AnimateChild);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (__WEBPACK_IMPORTED_MODULE_8__util_animate__[\"a\" /* default */].isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (__WEBPACK_IMPORTED_MODULE_8__util_animate__[\"a\" /* default */].isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (__WEBPACK_IMPORTED_MODULE_8__util_animate__[\"a\" /* default */].isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = __WEBPACK_IMPORTED_MODULE_5_react_dom___default.a.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((__WEBPACK_IMPORTED_MODULE_7_css_animation__[\"b\" /* isCssAnimationSupported */] || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = Object(__WEBPACK_IMPORTED_MODULE_7_css_animation__[\"a\" /* default */])(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);\n\nAnimateChild.propTypes = {\n children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (AnimateChild);\n\n/***/ }),\n/* 1005 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_mini_store__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__SubPopupMenu__ = __webpack_require__(426);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\n\n\nvar Menu = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Menu, _React$Component);\n\n function Menu(props) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, Menu);\n\n var _this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.isRootMenu = true;\n\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n _this.store = Object(__WEBPACK_IMPORTED_MODULE_7_mini_store__[\"create\"])({\n selectedKeys: selectedKeys,\n openKeys: openKeys,\n activeKey: { '0-menu-': Object(__WEBPACK_IMPORTED_MODULE_8__SubPopupMenu__[\"b\" /* getActiveKey */])(props, props.activeKey) }\n });\n return _this;\n }\n\n Menu.prototype.componentDidMount = function componentDidMount() {\n this.updateMiniStore();\n };\n\n Menu.prototype.componentDidUpdate = function componentDidUpdate() {\n this.updateMiniStore();\n };\n\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n\n\n Menu.prototype.updateMiniStore = function updateMiniStore() {\n if ('selectedKeys' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || []\n });\n }\n if ('openKeys' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || []\n });\n }\n };\n\n Menu.prototype.render = function render() {\n var _this2 = this;\n\n var props = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(this.props, []);\n\n props.className += ' ' + props.prefixCls + '-root';\n props = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, {\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this\n });\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_7_mini_store__[\"Provider\"],\n { store: this.store },\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8__SubPopupMenu__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, { ref: function ref(c) {\n return _this2.innerMenu = c;\n } }),\n this.props.children\n )\n );\n };\n\n return Menu;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nMenu.propTypes = {\n defaultSelectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n defaultActiveFirst: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n defaultOpenKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n openKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n mode: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n getPopupContainer: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n openTransitionName: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n openAnimation: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object]),\n subMenuOpenDelay: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n subMenuCloseDelay: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n forceSubMenuRender: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n triggerSubMenuAction: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n level: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n selectable: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,\n className: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n activeKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n prefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n builtinPlacements: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n expandIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n overflowedIndicator: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node\n};\nMenu.defaultProps = {\n selectable: true,\n onClick: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n onSelect: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n onOpenChange: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n onDeselect: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: 'hover',\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n style: {},\n builtinPlacements: {},\n overflowedIndicator: __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'span',\n null,\n '\\xB7\\xB7\\xB7'\n )\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onSelect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n // root menu\n var selectedKeys = _this3.store.getState().selectedKeys;\n var selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onSelect(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.onClick = function (e) {\n _this3.props.onClick(e);\n };\n\n this.onKeyDown = function (e, callback) {\n _this3.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n this.onOpenChange = function (event) {\n var props = _this3.props;\n var openKeys = _this3.store.getState().openKeys.concat();\n var changed = false;\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!('openKeys' in _this3.props)) {\n _this3.store.setState({ openKeys: openKeys });\n }\n props.onOpenChange(openKeys);\n }\n };\n\n this.onDeselect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n var selectedKeys = _this3.store.getState().selectedKeys.concat();\n var selectedKey = selectInfo.key;\n var index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onDeselect(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.getOpenTransitionName = function () {\n var props = _this3.props;\n var transitionName = props.openTransitionName;\n var animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = props.prefixCls + '-open-' + animationName;\n }\n return transitionName;\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Menu);\n\n/***/ }),\n/* 1006 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _PropTypes = __webpack_require__(425);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n _classCallCheck(this, Provider);\n\n return _possibleConstructorReturn(this, (Provider.__proto__ || Object.getPrototypeOf(Provider)).apply(this, arguments));\n }\n\n _createClass(Provider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n miniStore: this.props.store\n };\n }\n }, {\n key: 'render',\n value: function render() {\n return _react.Children.only(this.props.children);\n }\n }]);\n\n return Provider;\n}(_react.Component);\n\nProvider.propTypes = {\n store: _PropTypes.storeShape.isRequired\n};\nProvider.childContextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n};\nexports.default = Provider;\n\n/***/ }),\n/* 1007 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = connect;\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _shallowequal = __webpack_require__(41);\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _hoistNonReactStatics = __webpack_require__(109);\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _PropTypes = __webpack_require__(425);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction isStateless(Component) {\n return !Component.prototype.render;\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nfunction connect(mapStateToProps) {\n var shouldSubscribe = !!mapStateToProps;\n var finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n\n return function wrapWithConnect(WrappedComponent) {\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n _createClass(Connect, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finnalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n return { props: props };\n }\n }]);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, (Connect.__proto__ || Object.getPrototypeOf(Connect)).call(this, props, context));\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n var nextState = finnalMapStateToProps(_this.store.getState(), _this.props);\n _this.setState({ subscribed: nextState });\n };\n\n _this.store = context.miniStore;\n _this.state = {\n subscribed: finnalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n _createClass(Connect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.trySubscribe();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.tryUnsubscribe();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state.subscribed, nextState.subscribed);\n }\n }, {\n key: 'trySubscribe',\n value: function trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n }\n }, {\n key: 'tryUnsubscribe',\n value: function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n return this.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props, this.state.subscribed, {\n store: this.store\n });\n\n if (!isStateless(WrappedComponent)) {\n props = _extends({}, props, {\n ref: function ref(c) {\n return _this2.wrappedInstance = c;\n }\n });\n }\n\n return _react2.default.createElement(WrappedComponent, props);\n }\n }]);\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n Connect.contextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n };\n\n\n (0, _reactLifecyclesCompat.polyfill)(Connect);\n\n return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent);\n };\n}\n\n/***/ }),\n/* 1008 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = create;\nfunction create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = _extends({}, state, partial);\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}\n\n/***/ }),\n/* 1009 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!function(e){var n=/iPhone/i,t=/iPod/i,r=/iPad/i,a=/\\bAndroid(?:.+)Mobile\\b/i,p=/Android/i,l=/\\bAndroid(?:.+)SD4930UR\\b/i,b=/\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i,f=/Windows Phone/i,u=/\\bWindows(?:.+)ARM\\b/i,c=/BlackBerry/i,s=/BB10/i,v=/Opera Mini/i,h=/\\b(CriOS|Chrome)(?:.+)Mobile/i,w=/\\Mobile(?:.+)Firefox\\b/i;function m(e,i){return e.test(i)}function i(e){var i=e||(\"undefined\"!=typeof navigator?navigator.userAgent:\"\"),o=i.split(\"[FBAN\");void 0!==o[1]&&(i=o[0]),void 0!==(o=i.split(\"Twitter\"))[1]&&(i=o[0]);var d={apple:{phone:m(n,i)&&!m(f,i),ipod:m(t,i),tablet:!m(n,i)&&m(r,i)&&!m(f,i),device:(m(n,i)||m(t,i)||m(r,i))&&!m(f,i)},amazon:{phone:m(l,i),tablet:!m(l,i)&&m(b,i),device:m(l,i)||m(b,i)},android:{phone:!m(f,i)&&m(l,i)||!m(f,i)&&m(a,i),tablet:!m(f,i)&&!m(l,i)&&!m(a,i)&&(m(b,i)||m(p,i)),device:!m(f,i)&&(m(l,i)||m(b,i)||m(a,i)||m(p,i))},windows:{phone:m(f,i),tablet:m(u,i),device:m(f,i)||m(u,i)},other:{blackberry:m(c,i),blackberry10:m(s,i),opera:m(v,i),firefox:m(w,i),chrome:m(h,i),device:m(c,i)||m(s,i)||m(v,i)||m(w,i)||m(h,i)}};return d.any=d.apple.device||d.android.device||d.windows.device||d.other.device,d.phone=d.apple.phone||d.android.phone||d.windows.phone,d.tablet=d.apple.tablet||d.android.tablet||d.windows.tablet,d}\"undefined\"!=typeof module&&module.exports&&\"undefined\"==typeof window?module.exports=i:\"undefined\"!=typeof module&&module.exports&&\"undefined\"!=typeof window?module.exports=i(): true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (e.isMobile=i()),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):e.isMobile=i()}(this);\n\n/***/ }),\n/* 1010 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_resize_observer_polyfill__ = __webpack_require__(247);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__SubMenu__ = __webpack_require__(427);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util__ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\n\n\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n __webpack_require__(1024);\n}\n\nvar DOMWrap = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(DOMWrap, _React$Component);\n\n function DOMWrap() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, DOMWrap);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n lastVisibleIndex: undefined\n }, _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n\n var ul = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(prefixCls + '-overflowed-submenu') < 0;\n });\n }, _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme,\n propStyle = _this$props.style;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n eventKey = _copy$props.eventKey,\n rest = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(_copy$props, ['children', 'title', 'eventKey']);\n\n var style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, propStyle);\n var key = keyPrefix + '-overflowed-indicator';\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, style, {\n display: 'none'\n });\n } else if (renderPlaceholder) {\n style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, style, {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n });\n key = key + '-placeholder';\n }\n\n var popupClassName = theme ? prefixCls + '-' + theme : '';\n var props = {};\n __WEBPACK_IMPORTED_MODULE_10__util__[\"g\" /* menuAllProps */].forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_9__SubMenu__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n title: overflowedIndicator,\n className: prefixCls + '-overflowed-submenu',\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: keyPrefix + '-overflowed-indicator',\n disabled: false,\n style: style\n }),\n overflowedItems\n );\n }, _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n var ul = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = _this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n\n overflowedItems.forEach(function (c) {\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(c, 'display', 'inline-block');\n });\n\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"c\" /* getWidth */])(c);\n });\n\n overflowedItems.forEach(function (c) {\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(c, 'display', 'none');\n });\n _this.overflowedIndicatorWidth = Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"c\" /* getWidth */])(ul.children[ul.children.length - 1]);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n _this.handleResize();\n // prevent the overflowed indicator from taking space;\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n }, _this.resizeObserver = null, _this.mutationObserver = null, _this.originalTotalWidth = 0, _this.overflowedItems = [], _this.menuItemSizes = [], _this.handleResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n if (!ul) {\n return;\n }\n var width = Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"c\" /* getWidth */])(ul);\n\n _this.overflowedItems = [];\n var currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n var lastVisibleIndex = undefined;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex++;\n }\n });\n }\n\n _this.setState({ lastVisibleIndex: lastVisibleIndex });\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n DOMWrap.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n var menuUl = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(this);\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new __WEBPACK_IMPORTED_MODULE_8_resize_observer_polyfill__[\"default\"](function (entries) {\n entries.forEach(_this2.setChildrenWidthAndResize);\n });\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, { attributes: false, childList: true, subTree: false });\n }\n }\n };\n\n DOMWrap.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.resizeObserver.disconnect();\n }\n };\n\n // get all valid menuItem nodes\n\n\n // memorize rendered menuSize\n\n\n // original scroll size of the list\n\n\n // copy of overflowed items\n\n\n // cache item of the original items (so we can track the size and order)\n\n\n DOMWrap.prototype.renderChildren = function renderChildren(children) {\n var _this3 = this;\n\n // need to take care of overflowed items in horizontal mode\n var lastVisibleIndex = this.state.lastVisibleIndex;\n\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n if (_this3.props.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(_this3.props.prefixCls + '-root') !== -1) {\n if (index > lastVisibleIndex) {\n item = __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n eventKey: childNode.props.eventKey + '-hidden',\n className: childNode.className + ' ' + MENUITEM_OVERFLOWED_CLASSNAME\n });\n }\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n { key: c.props.eventKey, mode: 'vertical-left' });\n });\n\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(acc, [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n return ret;\n }\n return [].concat(acc, [item]);\n }, []);\n };\n\n DOMWrap.prototype.render = function render() {\n var _props = this.props,\n hiddenClassName = _props.hiddenClassName,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n overflowedIndicator = _props.overflowedIndicator,\n mode = _props.mode,\n level = _props.level,\n Tag = _props.tag,\n children = _props.children,\n theme = _props.theme,\n rest = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(_props, ['hiddenClassName', 'visible', 'prefixCls', 'overflowedIndicator', 'mode', 'level', 'tag', 'children', 'theme']);\n\n if (!visible) {\n rest.className += ' ' + hiddenClassName;\n }\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n Tag,\n rest,\n this.renderChildren(this.props.children)\n );\n };\n\n return DOMWrap;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nDOMWrap.propTypes = {\n className: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n children: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.node,\n mode: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n level: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.number,\n theme: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n overflowedIndicator: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.node,\n visible: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,\n hiddenClassName: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n tag: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n style: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object\n};\n\nDOMWrap.defaultProps = {\n tag: 'div',\n className: ''\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DOMWrap);\n\n/***/ }),\n/* 1011 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rc_align__ = __webpack_require__(429);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_animate__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__PopupInner__ = __webpack_require__(1022);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__LazyRenderBox__ = __webpack_require__(434);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__utils__ = __webpack_require__(428);\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Popup = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Popup, _Component);\n\n function Popup(props) {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Popup);\n\n var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n\n _this.savePopupRef = __WEBPACK_IMPORTED_MODULE_11__utils__[\"c\" /* saveRef */].bind(_this, 'popupInstance');\n _this.saveAlignRef = __WEBPACK_IMPORTED_MODULE_11__utils__[\"c\" /* saveRef */].bind(_this, 'alignInstance');\n return _this;\n }\n\n Popup.prototype.componentDidMount = function componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n };\n\n Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n this.setStretchSize();\n };\n\n // Record size if stretch needed\n\n\n Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n return __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(this.popupInstance);\n };\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n\n Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n var props = this.props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n };\n\n Popup.prototype.getPopupElement = function getPopupElement() {\n var _this2 = this;\n\n var savePopupRef = this.savePopupRef;\n var _state = this.state,\n stretchChecked = _state.stretchChecked,\n targetHeight = _state.targetHeight,\n targetWidth = _state.targetWidth;\n var _props = this.props,\n align = _props.align,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n style = _props.style,\n getClassNameFromAlign = _props.getClassNameFromAlign,\n destroyPopupOnHide = _props.destroyPopupOnHide,\n stretch = _props.stretch,\n children = _props.children,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseDown = _props.onMouseDown,\n onTouchStart = _props.onTouchStart;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n var hiddenClassName = prefixCls + '-hidden';\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n sizeStyle.visibility = 'hidden';\n setTimeout(function () {\n if (_this2.alignInstance) {\n _this2.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n\n var newStyle = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, sizeStyle, style, this.getZIndexStyle());\n\n var popupInnerProps = {\n className: className,\n prefixCls: prefixCls,\n ref: savePopupRef,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\n style: newStyle\n };\n if (destroyPopupOnHide) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8_rc_animate__[\"a\" /* default */],\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName()\n },\n visible ? __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_7_rc_align__[\"a\" /* default */],\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n align: align,\n onAlign: this.onAlign\n },\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_9__PopupInner__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n visible: true\n }, popupInnerProps),\n children\n )\n ) : null\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8_rc_animate__[\"a\" /* default */],\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName(),\n showProp: 'xVisible'\n },\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_7_rc_align__[\"a\" /* default */],\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n xVisible: visible,\n childrenProps: { visible: 'xVisible' },\n disabled: !visible,\n align: align,\n onAlign: this.onAlign\n },\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_9__PopupInner__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n hiddenClassName: hiddenClassName\n }, popupInnerProps),\n children\n )\n )\n );\n };\n\n Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n var style = {};\n var props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n };\n\n Popup.prototype.getMaskElement = function getMaskElement() {\n var props = this.props;\n var maskElement = void 0;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10__LazyRenderBox__[\"a\" /* default */], {\n style: this.getZIndexStyle(),\n key: 'mask',\n className: props.prefixCls + '-mask',\n hiddenClassName: props.prefixCls + '-mask-hidden',\n visible: props.visible\n });\n if (maskTransition) {\n maskElement = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8_rc_animate__[\"a\" /* default */],\n {\n key: 'mask',\n showProp: 'visible',\n transitionAppear: true,\n component: '',\n transitionName: maskTransition\n },\n maskElement\n );\n }\n }\n return maskElement;\n };\n\n Popup.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n null,\n this.getMaskElement(),\n this.getPopupElement()\n );\n };\n\n return Popup;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nPopup.propTypes = {\n visible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n style: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,\n getClassNameFromAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n getRootDomNode: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n align: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,\n destroyPopupOnHide: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n className: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,\n prefixCls: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onMouseDown: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onTouchStart: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n stretch: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,\n children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.node,\n point: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.shape({\n pageX: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageY: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number\n })\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onAlign = function (popupDomNode, align) {\n var props = _this3.props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (_this3.currentAlignClassName !== currentAlignClassName) {\n _this3.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = _this3.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n this.setStretchSize = function () {\n var _props2 = _this3.props,\n stretch = _props2.stretch,\n getRootDomNode = _props2.getRootDomNode,\n visible = _props2.visible;\n var _state2 = _this3.state,\n stretchChecked = _state2.stretchChecked,\n targetHeight = _state2.targetHeight,\n targetWidth = _state2.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n _this3.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n _this3.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n };\n\n this.getTargetElement = function () {\n return _this3.props.getRootDomNode();\n };\n\n this.getAlignTarget = function () {\n var point = _this3.props.point;\n\n if (point) {\n return point;\n }\n return _this3.getTargetElement;\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popup);\n\n/***/ }),\n/* 1012 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_dom_align__ = __webpack_require__(1013);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(1021);\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Align, _Component);\n\n function Align() {\n var _ref;\n\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Align);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n target = _this$props.target,\n align = _this$props.align,\n onAlign = _this$props.onAlign;\n\n if (!disabled && target) {\n var source = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n\n var result = void 0;\n var element = getElement(target);\n var point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var activeElement = document.activeElement;\n\n if (element) {\n result = Object(__WEBPACK_IMPORTED_MODULE_7_dom_align__[\"a\" /* alignElement */])(source, element, align);\n } else if (point) {\n result = Object(__WEBPACK_IMPORTED_MODULE_7_dom_align__[\"b\" /* alignPoint */])(source, point, align);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"e\" /* restoreFocus */])(activeElement, source);\n\n if (onAlign) {\n onAlign(source, result);\n }\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(Align, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n var source = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(this);\n var sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n var lastElement = getElement(prevProps.target);\n var currentElement = getElement(props.target);\n var lastPoint = getPoint(prevProps.target);\n var currentPoint = getPoint(props.target);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"d\" /* isWindow */])(lastElement) && Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"d\" /* isWindow */])(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (lastElement !== currentElement || // Element change\n lastElement && !currentElement && currentPoint || // Change from element to point\n lastPoint && currentPoint && currentElement || // Change from point to element\n currentPoint && !Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"b\" /* isSamePoint */])(lastPoint, currentPoint)) {\n reAlign = true;\n }\n\n // If source element size changed\n var preRect = this.sourceRect || {};\n if (!reAlign && source && (!Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"c\" /* isSimilarValue */])(preRect.width, sourceRect.width) || !Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"c\" /* isSimilarValue */])(preRect.height, sourceRect.height))) {\n reAlign = true;\n }\n }\n\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopMonitorWindowResize();\n }\n }, {\n key: 'startMonitorWindowResize',\n value: function startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"a\" /* buffer */])(this.forceAlign, this.props.monitorBufferTime);\n this.resizeHandler = Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__[\"a\" /* default */])(window, 'resize', this.bufferMonitor);\n }\n }\n }, {\n key: 'stopMonitorWindowResize',\n value: function stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n var propList = Object.keys(childrenProps);\n propList.forEach(function (prop) {\n newProps[prop] = _this2.props[childrenProps[prop]];\n });\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.cloneElement(child, newProps);\n }\n return child;\n }\n }]);\n\n return Align;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nAlign.propTypes = {\n childrenProps: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,\n align: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object.isRequired,\n target: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.shape({\n clientX: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n clientY: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageX: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageY: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number\n })]),\n onAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n monitorBufferTime: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n monitorWindowResize: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n disabled: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any\n};\nAlign.defaultProps = {\n target: function target() {\n return window;\n },\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Align);\n\n/***/ }),\n/* 1013 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__align_alignElement__ = __webpack_require__(1014);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__align_alignPoint__ = __webpack_require__(1020);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__align_alignElement__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1__align_alignPoint__[\"a\"]; });\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0__align_alignElement__[\"a\" /* default */]);\n\n/***/ }),\n/* 1014 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__align__ = __webpack_require__(430);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getOffsetParent__ = __webpack_require__(432);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__getVisibleRectForElement__ = __webpack_require__(431);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__getRegion__ = __webpack_require__(433);\n\n\n\n\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = Object(__WEBPACK_IMPORTED_MODULE_2__getVisibleRectForElement__[\"a\" /* default */])(target);\n var targetRegion = Object(__WEBPACK_IMPORTED_MODULE_3__getRegion__[\"a\" /* default */])(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = Object(__WEBPACK_IMPORTED_MODULE_3__getRegion__[\"a\" /* default */])(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__align__[\"a\" /* default */])(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = __WEBPACK_IMPORTED_MODULE_1__getOffsetParent__[\"a\" /* default */];\n\nalignElement.__getVisibleRectForElement = __WEBPACK_IMPORTED_MODULE_2__getVisibleRectForElement__[\"a\" /* default */];\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (alignElement);\n\n/***/ }),\n/* 1015 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getTransformName;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = setTransitionProperty;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getTransitionProperty;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getTransformXY;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = setTransformXY;\nvar vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n/***/ }),\n/* 1016 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = isAncestorFixed;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(100);\n\n\nfunction isAncestorFixed(element) {\n if (__WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n/***/ }),\n/* 1017 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(100);\n\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].mix(pos, size);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (adjustForViewport);\n\n/***/ }),\n/* 1018 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__getAlignOffset__ = __webpack_require__(1019);\n\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = Object(__WEBPACK_IMPORTED_MODULE_0__getAlignOffset__[\"a\" /* default */])(refNodeRegion, points[1]);\n var p2 = Object(__WEBPACK_IMPORTED_MODULE_0__getAlignOffset__[\"a\" /* default */])(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (getElFuturePos);\n\n/***/ }),\n/* 1019 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (getAlignOffset);\n\n/***/ }),\n/* 1020 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__align__ = __webpack_require__(430);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getWindowScrollLeft(win);\n var scrollY = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getWindowScrollTop(win);\n var viewportWidth = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].viewportWidth(win);\n var viewportHeight = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__align__[\"a\" /* default */])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (alignPoint);\n\n/***/ }),\n/* 1021 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = buffer;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isSamePoint;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isWindow;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isSimilarValue;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = restoreFocus;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rc_util_es_Dom_contains__ = __webpack_require__(183);\n\n\nfunction buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nfunction isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nfunction isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nfunction isSimilarValue(val1, val2) {\n var int1 = Math.floor(val1);\n var int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nfunction restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && Object(__WEBPACK_IMPORTED_MODULE_0_rc_util_es_Dom_contains__[\"a\" /* default */])(container, activeElement)) {\n activeElement.focus();\n }\n}\n\n/***/ }),\n/* 1022 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__LazyRenderBox__ = __webpack_require__(434);\n\n\n\n\n\n\n\nvar PopupInner = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(PopupInner, _Component);\n\n function PopupInner() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, PopupInner);\n\n return __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _Component.apply(this, arguments));\n }\n\n PopupInner.prototype.render = function render() {\n var props = this.props;\n var className = props.className;\n if (!props.visible) {\n className += ' ' + props.hiddenClassName;\n }\n return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(\n 'div',\n {\n className: className,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n style: props.style\n },\n __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_5__LazyRenderBox__[\"a\" /* default */],\n { className: props.prefixCls + '-content', visible: props.visible },\n props.children\n )\n );\n };\n\n return PopupInner;\n}(__WEBPACK_IMPORTED_MODULE_3_react__[\"Component\"]);\n\nPopupInner.propTypes = {\n hiddenClassName: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n className: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n prefixCls: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n onMouseDown: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n onTouchStart: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.any\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PopupInner);\n\n/***/ }),\n/* 1023 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export placements */\nvar autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\n\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (placements);\n\n/***/ }),\n/* 1024 */\n/***/ (function(module, exports) {\n\n// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \nwindow.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new p({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:\"childList\",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:\"characterData\",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,\nq=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n var style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props.style);\n if (props.mode === 'inline') {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n __WEBPACK_IMPORTED_MODULE_11__util__[\"g\" /* menuAllProps */].forEach(function (key) {\n return delete props[key];\n });\n var icon = this.props.itemIcon;\n if (typeof this.props.itemIcon === 'function') {\n icon = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(this.props.itemIcon, this.props);\n }\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'li',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, attrs, mouseEvent, {\n style: style\n }),\n props.children,\n icon\n );\n };\n\n return MenuItem;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);\n\nMenuItem.propTypes = {\n attribute: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n eventKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n active: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,\n selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,\n disabled: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n title: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n onItemHover: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n parentMenu: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n isSelected: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n manualRef: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])\n};\nMenuItem.defaultProps = {\n onSelect: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */],\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */],\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */],\n manualRef: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */]\n};\nMenuItem.isMenuItem = true;\n\nvar connected = Object(__WEBPACK_IMPORTED_MODULE_10_mini_store__[\"connect\"])(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (connected);\n\n/***/ }),\n/* 1026 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar util = __webpack_require__(1027);\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;\n\n/***/ }),\n/* 1027 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\n/***/ }),\n/* 1028 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\nvar MenuItemGroup = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(MenuItemGroup, _React$Component);\n\n function MenuItemGroup() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, MenuItemGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n\n return renderMenuItem(item, index, _this.props.subMenuKey);\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n MenuItemGroup.prototype.render = function render() {\n var props = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(this.props, []);\n\n var _props$className = props.className,\n className = _props$className === undefined ? '' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n\n var titleClassName = rootPrefixCls + '-item-group-title';\n var listClassName = rootPrefixCls + '-item-group-list';\n var title = props.title,\n children = props.children;\n\n __WEBPACK_IMPORTED_MODULE_7__util__[\"g\" /* menuAllProps */].forEach(function (key) {\n return delete props[key];\n });\n\n // Set onClick to null, to ignore propagated onClick event\n delete props.onClick;\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, { className: className + ' ' + rootPrefixCls + '-item-group' }),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'div',\n {\n className: titleClassName,\n title: typeof title === 'string' ? title : undefined\n },\n title\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'ul',\n { className: listClassName },\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.Children.map(children, this.renderInnerMenuItem)\n )\n );\n };\n\n return MenuItemGroup;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nMenuItemGroup.propTypes = {\n renderMenuItem: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n index: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n className: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n subMenuKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string\n};\nMenuItemGroup.defaultProps = {\n disabled: true\n};\n\n\nMenuItemGroup.isMenuItemGroup = true;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MenuItemGroup);\n\n/***/ }),\n/* 1029 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_prop_types__);\n\n\n\n\n\n\nvar Divider = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(Divider, _React$Component);\n\n function Divider() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Divider);\n\n return __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.apply(this, arguments));\n }\n\n Divider.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n rootPrefixCls = _props.rootPrefixCls,\n style = _props.style;\n\n return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement('li', {\n className: className + ' ' + rootPrefixCls + '-item-divider',\n style: style\n });\n };\n\n return Divider;\n}(__WEBPACK_IMPORTED_MODULE_3_react___default.a.Component);\n\nDivider.propTypes = {\n className: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n style: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.object\n};\nDivider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: '',\n style: {}\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (Divider);\n\n/***/ }),\n/* 1030 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SelectTrigger; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rc_trigger__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__DropdownMenu__ = __webpack_require__(1031);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(249);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2_rc_trigger__[\"a\" /* default */].displayName = 'Trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nvar SelectTrigger =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(SelectTrigger, _React$Component);\n\n function SelectTrigger(props) {\n var _this;\n\n _classCallCheck(this, SelectTrigger);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SelectTrigger).call(this, props));\n _this.dropdownMenuRef = null;\n\n _this.setDropdownWidth = function () {\n var dom = __WEBPACK_IMPORTED_MODULE_4_react_dom__[\"findDOMNode\"](_assertThisInitialized(_this));\n var width = dom.offsetWidth;\n\n if (width !== _this.state.dropdownWidth) {\n _this.setState({\n dropdownWidth: width\n });\n }\n };\n\n _this.getInnerMenu = function () {\n return _this.dropdownMenuRef && _this.dropdownMenuRef.menuRef;\n };\n\n _this.getPopupDOMNode = function () {\n return _this.triggerRef.getPopupDomNode();\n };\n\n _this.getDropdownElement = function (newProps) {\n var props = _this.props;\n var dropdownRender = props.dropdownRender,\n ariaId = props.ariaId;\n var menuNode = __WEBPACK_IMPORTED_MODULE_3_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_5__DropdownMenu__[\"a\" /* default */], _extends({\n ref: _this.saveDropdownMenuRef\n }, newProps, {\n ariaId: ariaId,\n prefixCls: _this.getDropdownPrefixCls(),\n onMenuSelect: props.onMenuSelect,\n onMenuDeselect: props.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n value: props.value,\n backfillValue: props.backfillValue,\n firstActiveValue: props.firstActiveValue,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n menuItemSelectedIcon: props.menuItemSelectedIcon\n }));\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n\n return null;\n };\n\n _this.getDropdownTransitionName = function () {\n var props = _this.props;\n var transitionName = props.transitionName;\n\n if (!transitionName && props.animation) {\n transitionName = \"\".concat(_this.getDropdownPrefixCls(), \"-\").concat(props.animation);\n }\n\n return transitionName;\n };\n\n _this.getDropdownPrefixCls = function () {\n return \"\".concat(_this.props.prefixCls, \"-dropdown\");\n };\n\n _this.saveDropdownMenuRef = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'dropdownMenuRef');\n _this.saveTriggerRef = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'triggerRef');\n _this.state = {\n dropdownWidth: 0\n };\n return _this;\n }\n\n _createClass(SelectTrigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setDropdownWidth();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.setDropdownWidth();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _popupClassName;\n\n var _a = this.props,\n onPopupFocus = _a.onPopupFocus,\n empty = _a.empty,\n props = __rest(_a, [\"onPopupFocus\", \"empty\"]);\n\n var multiple = props.multiple,\n visible = props.visible,\n inputValue = props.inputValue,\n dropdownAlign = props.dropdownAlign,\n disabled = props.disabled,\n showSearch = props.showSearch,\n dropdownClassName = props.dropdownClassName,\n dropdownStyle = props.dropdownStyle,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth;\n var dropdownPrefixCls = this.getDropdownPrefixCls();\n var popupClassName = (_popupClassName = {}, _defineProperty(_popupClassName, dropdownClassName, !!dropdownClassName), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--\").concat(multiple ? 'multiple' : 'single'), 1), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--empty\"), empty), _popupClassName);\n var popupElement = this.getDropdownElement({\n menuItems: props.options,\n onPopupFocus: onPopupFocus,\n multiple: multiple,\n inputValue: inputValue,\n visible: visible\n });\n var hideAction;\n\n if (disabled) {\n hideAction = [];\n } else if (Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"p\" /* isSingleMode */])(props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n\n var popupStyle = _extends({}, dropdownStyle);\n\n var widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n\n if (this.state.dropdownWidth) {\n popupStyle[widthProp] = \"\".concat(this.state.dropdownWidth, \"px\");\n }\n\n return __WEBPACK_IMPORTED_MODULE_3_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_2_rc_trigger__[\"a\" /* default */], _extends({}, props, {\n showAction: disabled ? [] : this.props.showAction,\n hideAction: hideAction,\n ref: this.saveTriggerRef,\n popupPlacement: \"bottomLeft\",\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n onPopupVisibleChange: props.onDropdownVisibleChange,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: props.getPopupContainer,\n popupClassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()(popupClassName),\n popupStyle: popupStyle\n }), props.children);\n }\n }]);\n\n return SelectTrigger;\n}(__WEBPACK_IMPORTED_MODULE_3_react__[\"Component\"]);\n\n\nSelectTrigger.defaultProps = {\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\nSelectTrigger.propTypes = {\n onPopupFocus: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onPopupScroll: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n dropdownMatchSelectWidth: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n dropdownAlign: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"object\"],\n visible: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n disabled: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n showSearch: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n dropdownClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n multiple: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n inputValue: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n filterOption: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n options: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n popupClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n showAction: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"arrayOf\"](__WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"]),\n menuItemSelectedIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"oneOfType\"]([__WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"], __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"node\"]]),\n dropdownRender: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"]\n};\nSelectTrigger.displayName = 'SelectTrigger';\n\n/***/ }),\n/* 1031 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DropdownMenu; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_raf__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_raf___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_raf__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_menu__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(249);\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _classCallCheck(this, DropdownMenu);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DropdownMenu).call(this, props));\n _this.rafInstance = {\n cancel: function cancel() {\n return null;\n }\n };\n _this.lastVisible = false;\n\n _this.scrollActiveItemToView = function () {\n // scroll into view\n var itemComponent = Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__[\"findDOMNode\"])(_this.firstActiveItem);\n var _this$props = _this.props,\n visible = _this$props.visible,\n firstActiveValue = _this$props.firstActiveValue;\n var value = _this.props.value;\n\n if (!itemComponent || !visible) {\n return;\n }\n\n var scrollIntoViewOpts = {\n onlyScrollIfNeeded: true\n };\n\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n } // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n\n\n _this.rafInstance = __WEBPACK_IMPORTED_MODULE_2_raf___default()(function () {\n __WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view___default()(itemComponent, Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__[\"findDOMNode\"])(_this.menuRef), scrollIntoViewOpts);\n });\n };\n\n _this.renderMenu = function () {\n var _this$props2 = _this.props,\n menuItems = _this$props2.menuItems,\n menuItemSelectedIcon = _this$props2.menuItemSelectedIcon,\n defaultActiveFirstOption = _this$props2.defaultActiveFirstOption,\n prefixCls = _this$props2.prefixCls,\n multiple = _this$props2.multiple,\n onMenuSelect = _this$props2.onMenuSelect,\n inputValue = _this$props2.inputValue,\n backfillValue = _this$props2.backfillValue,\n onMenuDeselect = _this$props2.onMenuDeselect,\n visible = _this$props2.visible;\n var firstActiveValue = _this.props.firstActiveValue;\n\n if (menuItems && menuItems.length) {\n var menuProps = {};\n\n if (multiple) {\n menuProps.onDeselect = onMenuDeselect;\n menuProps.onSelect = onMenuSelect;\n } else {\n menuProps.onClick = onMenuSelect;\n }\n\n var value = _this.props.value;\n var selectedKeys = Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"j\" /* getSelectKeys */])(menuItems, value);\n var activeKeyProps = {};\n var defaultActiveFirst = defaultActiveFirstOption;\n var clonedMenuItems = menuItems;\n\n if (selectedKeys.length || firstActiveValue) {\n if (visible && !_this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n\n activeKeyProps.activeKey = undefined;\n }\n\n var foundFirst = false; // set firstActiveItem via cloning menus\n // for scroll into view\n\n var clone = function clone(item) {\n var key = item.key;\n\n if (!foundFirst && selectedKeys.indexOf(key) !== -1 || !foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1) {\n foundFirst = true;\n return __WEBPACK_IMPORTED_MODULE_5_react__[\"cloneElement\"](item, {\n ref: function ref(_ref) {\n _this.firstActiveItem = _ref;\n }\n });\n }\n\n return item;\n };\n\n clonedMenuItems = menuItems.map(function (item) {\n if (item.type.isMenuItemGroup) {\n var children = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__[\"a\" /* default */])(item.props.children).map(clone);\n return __WEBPACK_IMPORTED_MODULE_5_react__[\"cloneElement\"](item, {}, children);\n }\n\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n _this.firstActiveItem = null;\n } // clear activeKey when inputValue change\n\n\n var lastValue = value && value[value.length - 1];\n\n if (inputValue !== _this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n\n return __WEBPACK_IMPORTED_MODULE_5_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"e\" /* default */], _extends({\n ref: _this.saveMenuRef,\n style: _this.props.dropdownMenuStyle,\n defaultActiveFirst: defaultActiveFirst,\n role: \"listbox\",\n itemIcon: multiple ? menuItemSelectedIcon : null\n }, activeKeyProps, {\n multiple: multiple\n }, menuProps, {\n selectedKeys: selectedKeys,\n prefixCls: \"\".concat(prefixCls, \"-menu\")\n }), clonedMenuItems);\n }\n\n return null;\n };\n\n _this.lastInputValue = props.inputValue;\n _this.saveMenuRef = Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'menuRef');\n return _this;\n }\n\n _createClass(DropdownMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollActiveItemToView();\n this.lastVisible = this.props.visible;\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (!nextProps.visible) {\n this.lastVisible = false;\n } // freeze when hide\n\n\n return this.props.visible && !nextProps.visible || nextProps.visible || nextProps.inputValue !== this.props.inputValue;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n\n if (!prevProps.visible && props.visible) {\n this.scrollActiveItemToView();\n }\n\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.rafInstance && this.rafInstance.cancel) {\n this.rafInstance.cancel();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderMenu = this.renderMenu();\n return renderMenu ? __WEBPACK_IMPORTED_MODULE_5_react__[\"createElement\"](\"div\", {\n style: {\n overflow: 'auto',\n transform: 'translateZ(0)'\n },\n id: this.props.ariaId,\n onFocus: this.props.onPopupFocus,\n onMouseDown: __WEBPACK_IMPORTED_MODULE_7__util__[\"q\" /* preventDefaultEvent */],\n onScroll: this.props.onPopupScroll\n }, renderMenu) : null;\n }\n }]);\n\n return DropdownMenu;\n}(__WEBPACK_IMPORTED_MODULE_5_react__[\"Component\"]);\n\n\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.propTypes = {\n ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n defaultActiveFirstOption: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n value: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n dropdownMenuStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"object\"],\n multiple: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n onPopupFocus: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onPopupScroll: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onMenuDeSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onMenuSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n menuItems: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n inputValue: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n visible: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n firstActiveValue: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n menuItemSelectedIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"oneOfType\"]([__WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"], __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"node\"]])\n};\n\n/***/ }),\n/* 1032 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return InputElement; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar InputElement =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InputElement, _React$Component);\n\n function InputElement() {\n var _this;\n\n _classCallCheck(this, InputElement);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InputElement).apply(this, arguments));\n\n _this.focus = function () {\n _this.ele.focus ? _this.ele.focus() : __WEBPACK_IMPORTED_MODULE_1_react_dom__[\"findDOMNode\"](_this.ele).focus();\n };\n\n _this.blur = function () {\n _this.ele.blur ? _this.ele.blur() : __WEBPACK_IMPORTED_MODULE_1_react_dom__[\"findDOMNode\"](_this.ele).blur();\n };\n\n _this.saveRef = function (ele) {\n _this.ele = ele;\n var childRef = _this.props.children.ref;\n\n if (typeof childRef === 'function') {\n childRef(ele);\n }\n };\n\n return _this;\n }\n\n _createClass(InputElement, [{\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"cloneElement\"](this.props.children, _extends({}, this.props, {\n ref: this.saveRef\n }), null);\n }\n }]);\n\n return InputElement;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\n\n/***/ }),\n/* 1033 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils__ = __webpack_require__(1034);\n\n\n\n\n\n\n\n\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits___default()(Icon, _React$Component);\n\n function Icon() {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default()(this, Icon);\n\n return __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Icon.__proto__ || Object.getPrototypeOf(Icon)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass___default()(Icon, [{\n key: 'render',\n value: function render() {\n var _extends2;\n\n var _props = this.props,\n type = _props.type,\n className = _props.className,\n onClick = _props.onClick,\n style = _props.style,\n primaryColor = _props.primaryColor,\n secondaryColor = _props.secondaryColor,\n rest = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties___default()(_props, ['type', 'className', 'onClick', 'style', 'primaryColor', 'secondaryColor']);\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"c\" /* getSecondaryColor */])(primaryColor)\n };\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"d\" /* isIconDefinition */])(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"e\" /* log */])('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"b\" /* generate */])(target.icon, 'svg-' + target.name, __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()((_extends2 = {\n className: className,\n onClick: onClick,\n style: style\n }, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'data-icon', target.name), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'width', '1em'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'height', '1em'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'fill', 'currentColor'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'aria-hidden', 'true'), _extends2), rest));\n }\n }], [{\n key: 'add',\n value: function add() {\n var _this2 = this;\n\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n _this2.definitions.set(Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"f\" /* withSuffix */])(icon.name, icon.theme), icon);\n });\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.definitions.clear();\n }\n }, {\n key: 'get',\n value: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = this.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n }\n }, {\n key: 'setTwoToneColors',\n value: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"c\" /* getSecondaryColor */])(primaryColor);\n }\n }, {\n key: 'getTwoToneColors',\n value: function getTwoToneColors() {\n return __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, twoToneColorPalette);\n }\n }]);\n\n return Icon;\n}(__WEBPACK_IMPORTED_MODULE_7_react__[\"Component\"]);\n\nIcon.displayName = 'IconReact';\nIcon.definitions = new __WEBPACK_IMPORTED_MODULE_8__utils__[\"a\" /* MiniMap */]();\n/* harmony default export */ __webpack_exports__[\"a\"] = (Icon);\n\n/***/ }),\n/* 1034 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (immutable) */ __webpack_exports__[\"e\"] = log;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isIconDefinition;\n/* unused harmony export normalizeAttrs */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MiniMap; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = generate;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getSecondaryColor;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = withSuffix;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_ant_design_palettes__ = __webpack_require__(1035);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_ant_design_palettes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_ant_design_palettes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n\n\n\n\n\nfunction log(message) {\n if (!(process && Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\"\"}) && \"production\" === 'production')) {\n console.error('[@ant-design/icons-react]: ' + message + '.');\n }\n}\nfunction isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\nfunction normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nvar MiniMap = function () {\n function MiniMap() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, MiniMap);\n\n this.collection = {};\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\nfunction generate(node, key, rootProps) {\n if (!rootProps) {\n return __WEBPACK_IMPORTED_MODULE_4_react__[\"createElement\"](node.tag, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ key: key }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n }\n return __WEBPACK_IMPORTED_MODULE_4_react__[\"createElement\"](node.tag, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n key: key\n }, normalizeAttrs(node.attrs), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n}\nfunction getSecondaryColor(primaryColor) {\n // choose the second color\n return Object(__WEBPACK_IMPORTED_MODULE_3_ant_design_palettes__[\"generate\"])(primaryColor)[0];\n}\nfunction withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(116)))\n\n/***/ }),\n/* 1035 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.presetPrimaryColors = exports.presetPalettes = exports.generate = undefined;\n\nvar _generate = __webpack_require__(1036);\n\nvar _generate2 = _interopRequireDefault(_generate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\n\nvar presetPalettes = {};\n\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = (0, _generate2.default)(presetPrimaryColors[key]);\n});\n\nexports.generate = _generate2.default;\nexports.presetPalettes = presetPalettes;\nexports.presetPrimaryColors = presetPrimaryColors;\n\n/***/ }),\n/* 1036 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = generate;\n\nvar _tinycolor = __webpack_require__(1037);\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n\nfunction getHue(hsv, i, light) {\n var hue = void 0;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation = void 0;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n } else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\n\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\n\nfunction generate(color) {\n var patterns = [];\n var pColor = (0, _tinycolor2.default)(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = (0, _tinycolor2.default)({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = pColor.toHsv();\n var _colorString = (0, _tinycolor2.default)({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }).toHexString();\n patterns.push(_colorString);\n }\n return patterns;\n}\n\n/***/ }),\n/* 1037 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = function () {return tinycolor;}.call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n/***/ }),\n/* 1038 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = create;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\nvar customCache = new Set();\nfunction create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var scriptUrl = options.scriptUrl,\n _options$extraCommonP = options.extraCommonProps,\n extraCommonProps = _options$extraCommonP === void 0 ? {} : _options$extraCommonP;\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a \\r\\n\\t\\r\\n \\r\\n \\r\\n
    \\r\\n

    \\u8fd9\\u662f\\u4e00\\u4e2a\\u4e00\\u7ea7\\u6807\\u9898

    \\r\\n

    \\u8fd9\\u662f\\u4e00\\u4e2a\\u6bb5\\u843d

    \\r\\n
    \\r\\n \\r\\n\\r\\n```\\r\\n\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u663e\\u793a\\u6548\\u679c\\u56fe\\uff1a\\r\\n![](/attachments/download/180646)\\r\\n\\r\\n\\u7531\\u4e0a\\u8fb9\\u7684\\u4ee3\\u7801\\u6bb5\\u53ef\\u4ee5\\u770b\\u51fa\\uff0c\\u4e00\\u4e2a\\u57fa\\u672c\\u7684Boostrap\\u7ed3\\u6784\\u4e3b\\u8981\\u7531\\u4e09\\u90e8\\u5206\\u6784\\u6210\\uff1a\\r\\n1. ``\\u4e2d\\u7684\\u6807\\u9898\\r\\n1. ``\\u4e2d\\u7684\\u6587\\u4ef6\\u5f15\\u7528\\r\\n1. `
    `\\u4e2d\\u7684container\\u5bb9\\u5668\\r\\n\\r\\n\\r\\n##### Bootstrap\\u6587\\u4ef6\\u5f15\\u7528\\r\\n\\r\\n\\u6807\\u9898\\u90e8\\u5206\\u4e0d\\u5728\\u6b64\\u8bf4\\u660e\\uff0c\\u4e0eHTML\\u5185\\u5bb9\\u4e00\\u81f4\\u3002`Bootstrap`\\u8bf4\\u767d\\u4e86\\u5c31\\u662f\\u4e00\\u4e2a\\u6837\\u5f0f\\u8868\\u6587\\u4ef6\\uff08`bootstrap.min.css`\\uff09\\u548c\\u4e00\\u4e2a`javascript`\\u6587\\u4ef6\\uff08`bootstrap.min.js`\\uff09\\uff0c\\u5728\\u9875\\u9762\\u91cc\\u628a\\u5b83\\u4eec\\u5f15\\u5165\\u8fdb\\u6765\\u540e\\uff0c\\u5c31\\u53ef\\u4ee5\\u76f4\\u63a5\\u4f7f\\u7528\\u91cc\\u9762\\u7684`CSS`\\u548c\\u5404\\u79cd\\u7ec4\\u4ef6\\u4e86\\u3002\\r\\n\\r\\n- \\u6587\\u4ef6\\u7684\\u5f15\\u5165\\u65b9\\u5f0f\\u4e00\\u822c\\u6709\\u4e24\\u79cd\\u65b9\\u5f0f\\r\\n - \\u8fdc\\u7a0bCDN\\u5f15\\u5165\\uff08\\u672c\\u4f8b\\u91c7\\u7528\\u8fd9\\u79cd\\u65b9\\u6cd5\\u5f15\\u5165\\uff09\\u3002\\u5982\\u4e0b\\u56fe\\uff1a\\r\\n ```html\\r\\n\\r\\n \\r\\n\\t\\r\\n```\\r\\n\\r\\n - \\u672c\\u5730\\u6587\\u4ef6\\u5f15\\u5165\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n ```html\\r\\n\\r\\n\\r\\n\\r\\n```\\r\\n \\u7ec6\\u5fc3\\u5730\\u540c\\u5b66\\u80af\\u5b9a\\u5df2\\u7ecf\\u770b\\u51fa\\u533a\\u522b\\u4e86\\uff0c**\\u5f15\\u7528\\u7684\\u8def\\u5f84\\u4e0d\\u4e00\\u6837**\\u3002\\u8fdc\\u7a0b\\u5f15\\u5165\\u662f\\u4f7f\\u7528CDN\\u6e90\\u4e0a\\u7684\\u8fdc\\u7a0b\\u6587\\u4ef6\\uff0c\\u8fd9\\u6837\\u53ef\\u4ee5\\u8282\\u7ea6\\u672c\\u5730\\u7684\\u5e26\\u5bbd\\u3002\\u800c\\u672c\\u5730\\u65b9\\u5f0f\\u662f\\u628a`Bootstrap`\\u7684\\u6240\\u6709\\u6587\\u4ef6\\u4e0b\\u8f7d\\u5230\\u672c\\u5730\\u540e\\u518d\\u5f15\\u7528\\u5230\\u9875\\u9762\\u4e2d\\u3002\\r\\n \\r\\n \\u6ce8\\u610f\\uff1a\\u5982\\u679c\\u5f15\\u5165\\u7684\\u6587\\u4ef6\\u987a\\u5e8f\\u4e0d\\u5bf9\\uff0c\\u4f1a\\u5bfc\\u81f4\\u9875\\u9762\\u65e0\\u6cd5\\u6b63\\u5e38\\u8fd0\\u884c\\u3002\\u6240\\u4ee5\\u5148\\u5f15\\u5165`bootstrap.min.css`\\uff0c\\u518d\\u5f15\\u5165`jQuery`\\uff0c\\u6700\\u540e\\u5f15\\u5165`bootstrap.min.js`\\u3002\\r\\n\\r\\n\\r\\n##### Bootstrap\\u5c5e\\u6027\\r\\n\\u5728`
    `\\u6807\\u7b7e\\u4e2d\\u6dfb\\u52a0container\\u5c5e\\u6027\\uff0c\\u6dfb\\u52a0\\u4e4b\\u540e\\u5185\\u5bb9\\u4f1a\\u88ab\\u9650\\u5236\\u5728\\u5728\\u4e00\\u4e2a\\u56fa\\u5b9a\\u5bbd\\u5ea6\\u7684\\u6805\\u683c\\u5e03\\u5c40\\u7684\\u8303\\u56f4\\u3002\\r\\n- Bootstrap\\u7684`container` \\u7c7b\\u662f\\u975e\\u5e38\\u6709\\u7528\\u7684\\uff0c\\u5b83\\u548c`HTML`\\u7684\\u533a\\u522b\\u662f\\u5b83\\u80fd\\u5728\\u9875\\u9762\\u4e2d\\u521b\\u5efa\\u4e00\\u4e2a\\u5c45\\u4e2d\\u7684\\u533a\\u57df\\uff0c\\u7136\\u540e\\u6211\\u4eec\\u80fd\\u591f\\u628a\\u5176\\u4ed6\\u4f4d\\u7f6e\\u7684\\u5185\\u5bb9\\u653e\\u5230\\u5b83\\u89c4\\u5b9a\\u7684\\u65b9\\u6846\\u5185\\uff0c\\u800c`HTML`\\u662f\\u6ca1\\u6709\\u8fd9\\u4e2a\\u533a\\u57df\\u7684\\u3002\\r\\n- `container`\\u7c7b\\u7b49\\u4ef7\\u4e8e\\u521b\\u5efa\\u4e86\\u4e00\\u4e2a\\u5177\\u6709\\u9759\\u6001\\u5bbd\\u5ea6\\u7684`div`\\u6846\\u3002\\u968f\\u7740\\u6211\\u4eec\\u5b66\\u4e60\\u7684\\u6df1\\u5165\\uff0c\\u6211\\u4eec\\u6e05\\u695a\\u4e86\\u89e3\\u5b83\\u7684\\u7279\\u70b9\\uff0c\\u57fa\\u672c\\u7684\\u8bed\\u53e5\\u5982\\u4e0b\\uff1a\\r\\n `
    `\\r\\n- \\u5982\\u679c\\u60f3\\u5c06\\u5185\\u5bb9\\u5145\\u6ee1\\u6574\\u4e2a\\u5e03\\u5c40\\uff0c\\u53ea\\u9700\\u5c06container\\u5c5e\\u6027\\u6539\\u6210container-fluid\\u5c5e\\u6027\\u5373\\u53ef\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n`
    `\\r\\n\\r\\n- `Bootstrap`\\u7684`container`\\u7c7b\\u7684\\u4f18\\u70b9\\u5728\\u4e8e\\u5b83\\u662f\\u54cd\\u5e94\\u5f0f\\u7684\\uff0c\\u5b83\\u4f1a\\u4ee5\\u5f53\\u524d\\u5c4f\\u5e55\\u7684\\u5bbd\\u5ea6\\u4e3a\\u57fa\\u7840\\u8ba1\\u7b97\\u51fa\\u6700\\u4f73\\u7684\\u5bbd\\u5ea6\\u4e88\\u4ee5\\u4f7f\\u7528\\uff0c\\u8fd9\\u662f`HTML`\\u6ca1\\u6709\\u7684\\u7279\\u70b9\\u3002\\r\\n\\r\\n\\r\\n#### \\u7f16\\u7a0b\\u8981\\u6c42\\r\\n\\r\\n1. \\u57289\\u884c\\u7684`
    `\\u6807\\u7b7e\\u4e2d\\uff0c\\u8bbe\\u7f6e\\u5c5e\\u6027class=\\\"container\\\"\\u3002\\r\\n1. \\u572811\\u884c\\u7684`

    `\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"Hello World\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u572812\\u884c\\u7684`

    `\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"\\u521b\\u65b0\\u6e90\\u4e8e\\u5b9e\\u8df5\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u586b\\u5199\\u5b8c\\u6bd5\\uff0c\\u70b9\\u51fb\\\"\\u8bc4\\u6d4b\\\"\\u5373\\u53ef\\u3002\\r\\n\\r\\n#### \\u8bc4\\u6d4b\\u8bf4\\u660e\\r\\n\\r\\n\\u5e73\\u53f0\\u5c06\\u81ea\\u52a8\\u7f16\\u8bd1\\u8865\\u5168\\u540e\\u7684\\u4ee3\\u7801\\uff0c\\u5e76\\u6839\\u636e\\u8f93\\u51fa\\u6765\\u5224\\u65ad\\u4ee3\\u7801\\u662f\\u5426\\u6b63\\u786e\\uff01\\r\\n\\r\\n\\r\\n------------------------------------------------------\\r\\n\\u5c06\\u6765\\u7684\\u4f60\\u4e00\\u5b9a\\u4f1a\\u611f\\u8c22\\u73b0\\u5728\\u7684\\u81ea\\u5df1\\uff01\\r\\n\\r\\n![](/attachments/download/176967)\\r\\n\\r\\n\\u606d\\u559c\\u8fc7\\u5173\\uff0c\\u7ee7\\u7eed\\u52a0\\u6cb9\\u5965\\uff01\\r\\n\\r\\n\\r\\n\"},\"game\":{\"id\":152020,\"status\":0,\"myshixun_id\":44997,\"user_id\":12,\"final_score\":0,\"challenge_id\":1135,\"identifier\":\"w8724qbe9mtv\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":2257550,\"star\":0},\"shixun\":{\"id\":386,\"name\":\"Bootstrap\\u5165\\u95e8\",\"gpid\":18892,\"modify_time\":\"2017-11-23T10:13:09+08:00\",\"reset_time\":\"2017-12-08T09:41:30+08:00\",\"language\":\"Html\",\"propaedeutics\":\"\",\"status\":2,\"identifier\":\"mnkfuyvx\"},\"record\":null,\"grade\":9279,\"prev_game\":\"w8724qbe9mtv\",\"next_game\":null,\"username\":\"\\u9ec4\\u4e95\\u6cc9\",\"image_url\":\"avatars/User/0\",\"user_url\":\"/users/Hjqreturn\",\"praise_count\":1,\"user_praise\":true}\r\n\t\t// \t// JavaScript学习手册一:JS简介\r\n\t\t// \t// chooseData = {\"tpm_modified\":false,\"tpm_cases_modified\":false,\"output_sets\":{\"test_sets\":\"{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"-1\\\",\\\"output\\\":\\\"90\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"0\\\",\\\"output\\\":\\\"100\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"2\\\",\\\"output\\\":\\\"120\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"30\\\",\\\"output\\\":\\\"400\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0}\",\"had_test_count\":0,\"test_sets_count\":4,\"had_passed_testsests_error_count\":0},\"latest_output\":null,\"mirror_name\":[\"JavaScript\"],\"has_answer\":true,\"st\":0,\"discusses_count\":2,\"game_count\":3,\"myshixun\":{\"id\":43748,\"shixun_id\":534,\"identifier\":\"q2itywsgz9\",\"gpid\":44848,\"status\":0,\"user_id\":1,\"commit_id\":\"4f61172a0f161173a3fac5e8a71ee4b8fc789bdb\",\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"system_tip\":false},\"challenge\":{\"id\":1765,\"subject\":\"JavaScript\\u53d8\\u91cf\",\"position\":3,\"shixun_id\":534,\"st\":0,\"score\":100,\"path\":\"step3/Variable.js\",\"task_pass\":\"[TOC]\\r\\n\\r\\n---\\r\\n\\r\\n####\\u4efb\\u52a1\\u63cf\\u8ff0\\r\\n[comment]: <> (\\u201c\\u4efb\\u52a1\\u63cf\\u8ff0\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u672c\\u5173\\u8981\\u8ba9\\u5b66\\u751f\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u63cf\\u8ff0\\u8bb2\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u52a0\\u4e00\\u4e2a\\u7b80\\u5355\\u7684\\u4f8b\\u5b50\\u6765\\u8bf4\\u660e,\\u7c7b\\u4f3c\\u4e0b\\u9762\\u8fd9\\u6837)\\r\\n\\r\\n\\u53d8\\u91cf\\u53ef\\u4ee5\\u770b\\u6210\\u8bed\\u8a00\\u4e2d\\u7528\\u6765\\u6807\\u8bb0\\u548c\\u5b58\\u50a8\\u6570\\u636e\\u7684\\u4e00\\u79cd\\u8bb0\\u53f7\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u4efb\\u52a1\\uff1a\\u5b9a\\u4e49\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\uff0c\\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`\\uff0c\\u5e76\\u8d4b\\u503c\\uff0c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\u3002\\u5728\\u51fd\\u6570`variableTest`\\u4e2d\\u589e\\u52a0\\u4ee3\\u7801\\uff0c\\u4f7f\\u51fd\\u6570\\u8f93\\u51fa`100+10*c`\\uff0c\\u5176\\u4e2d`c`\\u4e3a\\u8f93\\u5165\\uff0c\\u51fd\\u6570\\u4f53\\u89c1\\u6d4b\\u8bd5\\u8bf4\\u660e\\u90e8\\u5206\\u3002\\r\\n\\r\\n####\\u76f8\\u5173\\u77e5\\u8bc6\\r\\n[comment]: <> (\\u201c\\u76f8\\u5173\\u77e5\\u8bc6\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u89e3\\u51b3\\u672c\\u5173\\u9700\\u8981\\u7528\\u5230\\u7684\\u77e5\\u8bc6\\u70b9\\u5728\\u8fd9\\u91cc\\u5199\\u6e05\\u695a\\u3001\\u5b8c\\u6574\\u3002\\u6bd4\\u5982\\u8981\\u89e3\\u51b3\\u5b66\\u751f\\u7ee9\\u70b9\\u8ba1\\u7b97\\u7684\\u95ee\\u9898\\uff0c\\u9700\\u8981\\u7528\\u5230if-else\\u63a7\\u5236\\u7ed3\\u6784\\uff0c\\u5b66\\u4e60\\u8005\\u9700\\u8981\\u9996\\u5148\\u77e5\\u9053if-else\\u7684\\u8bed\\u6cd5\\uff0c\\u5c31\\u9700\\u8981\\u5728\\u76f8\\u5173\\u77e5\\u8bc6\\u8fd9\\u91cc\\u628aif-else\\u7684\\u8bed\\u6cd5\\u4ecb\\u7ecd\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u518d\\u5bf9\\u6bcf\\u4e00\\u4e2a\\u77e5\\u8bc6\\u70b9\\u914d\\u4e0a\\u76f8\\u5e94\\u7684\\u4e00\\u4e2a\\u793a\\u4f8b\\u70b9\\u3002\\u8fd9\\u4e00\\u90e8\\u5206\\u7684\\u76ee\\u6807\\u5c31\\u662f\\u5b66\\u751f\\u770b\\u5b8c\\u8fd9\\u4e2a\\u76f8\\u5173\\u77e5\\u8bc6\\u5c31\\u80fd\\u628a\\u672c\\u5173\\u4efb\\u52a1\\u505a\\u51fa\\u6765)\\r\\n\\r\\n\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\r\\n\\u4e0d\\u540c\\u4e8eC\\u6216Java\\uff0cJavaScript\\u662f\\u4e00\\u79cd\\u52a8\\u6001\\u7c7b\\u578b\\u7684\\u8bed\\u8a00,\\u5373\\u7533\\u660e\\u7684\\u65f6\\u5019\\u4e0d\\u6307\\u5b9a\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\uff0c\\u800c\\u5728\\u8fd0\\u884c\\u7684\\u65f6\\u5019\\u6839\\u636e\\u53d8\\u91cf\\u7684\\u5177\\u4f53\\u503c\\u52a8\\u6001\\u7684\\u5224\\u65ad\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\u3002\\r\\nJavaScript\\u7684\\u53d8\\u91cf\\u540d\\u4ee5\\u5b57\\u6bcd\\u6216\\u8005`$`\\u6216\\u8005`_`\\u5f00\\u5934\\uff1b\\u53d8\\u91cf\\u540d\\u53ea\\u80fd\\u542b\\u6709\\u5b57\\u6bcd\\u3001\\u6570\\u5b57\\u3001\\u4e0b\\u5212\\u7ebf\\u548c\\u7f8e\\u5143\\u7b26\\u53f7\\uff1b\\u5927\\u5c0f\\u5199\\u654f\\u611f\\uff1b\\u4e0d\\u80fd\\u4f7f\\u7528\\u4fdd\\u7559\\u7684\\u5173\\u952e\\u5b57\\uff0c\\u5982`html`\\u3001`var`\\u3001`function`\\u7b49\\uff0c\\u8fd9\\u4e00\\u6761\\u4e00\\u5b9a\\u8981\\u8bb0\\u4f4f\\uff0c\\u4f7f\\u7528\\u5173\\u952e\\u5b57\\u9020\\u6210\\u7684\\u9519\\u8bef\\u5f80\\u5f80\\u5f88\\u96be\\u6392\\u9664\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u7533\\u660e\\u3001\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n- \\u53d8\\u91cf\\u7684\\u7533\\u660e\\r\\n\\u5728JavaScript\\u4e2d\\uff0c\\u7533\\u660e\\u53d8\\u91cf\\u4ee5\\u5173\\u952e\\u5b57`var`\\u5f00\\u5934\\uff0c\\u7a7a\\u4e00\\u683c\\u540e\\u518d\\u63a5\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\uff1b\\u5f53\\u7136\\uff0c\\u53ef\\u4ee5\\u4e00\\u6b21\\u7533\\u660e\\u591a\\u4e2a\\u53d8\\u91cf\\uff0c\\u8fd9\\u65f6`var`\\u53ea\\u9700\\u8981\\u51fa\\u73b0\\u4e00\\u6b21\\uff0c\\u591a\\u4e2a\\u53d8\\u91cf\\u540d\\u4e4b\\u95f4\\u7528\\u82f1\\u6587\\u7684\\u9017\\u53f7\\u9694\\u5f00\\u5373\\u53ef\\u3002\\u5982\\uff1a\\r\\n```JavaScript\\r\\nvar myvar1;//\\u7533\\u660e\\u53d8\\u91cf\\\"myvar1\\\"\\r\\nvar myvar2,myvar3,myvar4;//\\u4e00\\u6b21\\u7533\\u660e\\u4e09\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n- \\u53d8\\u91cf\\u7684\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n\\u65e2\\u7136\\u53d8\\u91cf\\u662f\\u7528\\u6765\\u8bb0\\u5f55\\u6570\\u636e\\u7684\\uff0c\\u5982\\u4f55\\u7ed9\\u53d8\\u91cf\\u8d4b\\u503c\\u5462\\uff1f\\u7b80\\u5355\\u6765\\u8bf4\\uff0c\\u548c\\u6570\\u5b66\\u4e2d\\u4e00\\u6837\\uff0c\\u7528\\u4e00\\u4e2a\\u7b49\\u53f7\\u8fde\\u63a5\\u53d8\\u91cf\\u540d\\u548c\\u53d8\\u91cf\\u7684\\u503c\\u5373\\u53ef\\uff0c\\u5bf9\\u4e8e\\u6570\\u5b57\\u7684\\u8d4b\\u503c\\uff0c\\u76f4\\u63a5\\u7528\\u7b49\\u53f7\\u8fde\\u63a5\\u6570\\u5b57\\u548c\\u53d8\\u91cf\\uff0c\\u5bf9\\u4e8e\\u5b57\\u7b26\\u4e32\\u7684\\u8d4b\\u503c\\uff0c\\u9700\\u8981\\u5c06\\u5b57\\u7b26\\u4e32\\u5305\\u542b\\u5728\\u82f1\\u6587\\u53cc\\u5f15\\u53f7\\u4e4b\\u4e2d\\u3002\\r\\n\\u53d8\\u91cf\\u7684\\u7b2c\\u4e00\\u6b21\\u8d4b\\u503c\\u79f0\\u4e4b\\u4e3a\\u521d\\u59cb\\u5316\\u3002\\r\\n\\u4f60\\u53ef\\u80fd\\u5df2\\u7ecf\\u60f3\\u5230\\u4e86\\uff0c\\u7533\\u660e\\u548c\\u521d\\u59cb\\u5316\\u80fd\\u4e00\\u8d77\\u8fdb\\u884c\\u5417\\uff1f\\u7b54\\u6848\\u662f\\u80af\\u5b9a\\u7684\\uff0c\\u4e0b\\u9762\\u6211\\u4eec\\u7ed9\\u51fa\\u5177\\u4f53\\u7684\\u4f8b\\u5b50\\uff1a\\r\\n```JavaScript\\r\\nvar numberVar; //\\u7533\\u660e\\r\\nnumberVar = 1; //\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar stringVar; //\\u7533\\u660e\\r\\nstringVar = \\\"I am a String\\\"; //\\u8d4b\\u503c\\u4e3a\\u5b57\\u7b26\\u4e32\\r\\nvar myNumber = 2; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar myString = \\\"\\u6211\\u662f\\u5b57\\u7b26\\u4e32\\\"; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\r\\nvar number1 = 1,number2 = 2; //\\u4e00\\u6b21\\u7533\\u660e\\u3001\\u8d4b\\u503c\\u591a\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n\\u9700\\u8981\\u6ce8\\u610f\\u7684\\u662f\\uff0c\\u4e00\\u4e2a\\u53d8\\u91cf\\u7ecf\\u8fc7\\u591a\\u6b21\\u8d4b\\u503c\\uff0c\\u5b83\\u7684\\u503c\\u4e3a\\u6700\\u540e\\u4e00\\u6b21\\u8d4b\\u503c\\u7684\\u503c\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u57df\\r\\n\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u8303\\u56f4\\uff0c\\u6216\\u8005\\u8bf4\\u4f5c\\u7528\\u57df\\uff0c\\u662f\\u6307\\u53d8\\u91cf\\u4fdd\\u6301\\u6709\\u6548\\u7684\\u8303\\u56f4\\uff0cJavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u5e7f\\u4e49\\u4e0a\\u6765\\u8bf4\\u5206\\u4e3a\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u3002\\r\\n- \\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\u5728\\u51fd\\u6570\\u5916\\u90e8\\u7533\\u660e\\u7684\\u53d8\\u91cf\\u79f0\\u4e3a\\u5168\\u5c40\\u53d8\\u91cf\\uff0c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u81ea\\u7533\\u660e\\u7684\\u5730\\u65b9\\u8d77\\uff0c\\u5230\\u6574\\u4e2aJavaScript\\u6587\\u4ef6\\u7684\\u672b\\u5c3e\\uff08\\u5305\\u62ec\\u8fd9\\u5176\\u4e2d\\u7684\\u6240\\u6709\\u51fd\\u6570\\u7684\\u5185\\u90e8\\uff09\\u3002\\u4e0b\\u9762\\u662f\\u4e00\\u4e2a\\u4f8b\\u5b50:\\r\\n```\\r\\nvar wholeVar = 12; //\\u7533\\u660e\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction() {\\r\\n\\tvar localVar = 1; //\\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar+localVar); //\\u8f93\\u51fa13\\r\\n}\\r\\nconsole.log(wholeVar); //\\u8f93\\u51fa12\\r\\n```\\r\\n- \\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\u5c40\\u90e8\\u53d8\\u91cf\\u662f\\u6307\\u7533\\u660e\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u7684\\u53d8\\u91cf\\uff0c\\u5176\\u4f5c\\u7528\\u57df\\u4ec5\\u662f\\u672c\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u5728\\u51fd\\u6570\\u5916\\u4e0d\\u53ef\\u7528\\u3002\\r\\n\\u5982\\u679c\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u76f8\\u540c\\uff0c\\u90a3\\u4e48\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u5168\\u5c40\\u53d8\\u91cf\\u4f1a\\u88ab\\u5c40\\u90e8\\u53d8\\u91cf\\u8986\\u76d6\\u3002\\r\\n```JavaScript\\r\\nvar myVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction scope() {\\r\\n\\tvar myVar = 2;//\\u5c40\\u90e8\\u53d8\\u91cf\\uff0c\\u8986\\u76d6\\u4e86\\u4e0a\\u9762\\u7684\\u503c\\r\\n\\tconsole.log(myVar);//\\u8f93\\u51fa2\\r\\n}\\r\\n```\\r\\n- \\u7533\\u660e\\u63d0\\u524d\\r\\nJavaScript\\u5c40\\u90e8\\u53d8\\u91cf\\u6709\\u4e00\\u4e2a\\u5f88\\u91cd\\u8981\\u7684\\u6982\\u5ff5\\uff0c\\u53eb\\u7533\\u660e\\u63d0\\u524d\\uff0c\\u6211\\u4eec\\u5148\\u6765\\u770b\\u4e00\\u4e2a\\u4f8b\\u5b50\\u3002\\r\\n```\\r\\nvar wholeVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction myTest() {\\r\\n\\tconsole.log(wholeVar);\\r\\n\\tvar wholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u5173\\u4e8e\\u7b2c\\u4e09\\u884c\\u7684\\u8f93\\u51fa\\uff0c\\u4f60\\u7684\\u7b2c\\u4e00\\u53cd\\u5e94\\u4e00\\u5b9a\\u662f`1`\\u5427\\uff0c\\u6b63\\u786e\\u7b54\\u6848\\u662f`undefined`\\u3002\\u8fd9\\u662f\\u56e0\\u4e3a\\u5728\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u53d8\\u91cf\\u4e0d\\u8bba\\u5728\\u4f55\\u5904\\u7533\\u660e\\uff0c\\u90fd\\u5e94\\u8be5\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u7533\\u660e\\uff08\\u8d4b\\u503c\\u4e0d\\u4f1a\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u8d4b\\u503c\\uff0c\\u8fd9\\u5c31\\u662f\\u4e0d\\u8f93\\u51fa`2`\\u7684\\u539f\\u56e0\\uff09\\uff0c\\u8fd9\\u5c31\\u662f\\u201c\\u7533\\u660e\\u63d0\\u524d\\u201d\\uff0c\\u6240\\u4ee5\\uff0c\\u4ee5\\u4e0a\\u4ee3\\u7801\\u7b49\\u4ef7\\u4e8e\\uff1a\\r\\n```\\r\\nvar wholeVar = 1;\\r\\nfunction myTest() {\\r\\n\\tvar wholeVar;//\\u7533\\u660e\\u63d0\\u524d\\u4e86\\uff0c\\u8986\\u76d6\\u4e86\\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar);//\\u4e0a\\u9762\\u53ea\\u7533\\u660e\\uff0c\\u6ca1\\u8d4b\\u503c\\r\\n\\twholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u8fd9\\u4e2a\\u5730\\u65b9\\u4e0d\\u592a\\u597d\\u7406\\u89e3\\uff0c\\u6240\\u4ee5\\u6211\\u4eec\\u5728\\u7f16\\u7a0b\\u7684\\u65f6\\u5019\\u5c40\\u90e8\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u6700\\u597d\\u4e0d\\u8981\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u51b2\\u7a81\\u3002\\r\\n\\r\\n\\r\\n\\r\\n####\\u7f16\\u7a0b\\u8981\\u6c42\\r\\n[comment]: <> (\\u201c\\u7f16\\u7a0b\\u8981\\u6c42\\u201d\\u90e8\\u5206\\u8bf4\\u4e00\\u4e0b\\u672c\\u5173\\u8981\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u7684\\u5177\\u4f53\\u8981\\u6c42\\uff0c\\u5e76\\u7ed9\\u51fa\\u76f8\\u5e94\\u4ee3\\u7801\\u7684\\u6846\\u67b6\\uff0c\\u4ee5\\u53ca\\u8981\\u6c42\\u5b66\\u751f\\u586b\\u5199\\u7684\\u90a3\\u4e00\\u5757)\\r\\n\\r\\n\\u672c\\u5173\\u7684\\u7f16\\u7a0b\\u4efb\\u52a1\\u662f\\u8865\\u5168\\u53f3\\u4fa7\\u4ee3\\u7801\\u7247\\u6bb5\\u4e2d`Begin`\\u81f3`End`\\u4e2d\\u95f4\\u7684\\u4ee3\\u7801\\uff0c\\u5177\\u4f53\\u8981\\u6c42\\u5982\\u4e0b\\uff1a\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`,\\u5e76\\u8d4b\\u503c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\uff1b\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\u5e76\\u521d\\u59cb\\u5316\\u4e4b\\uff1b\\r\\n- \\u4e0a\\u9762\\u4e24\\u6b65\\u5fc5\\u987b\\u4f7f\\u5f97\\u51fd\\u6570`variableTest`\\u8fd4\\u56de`100+10*c`\\uff0c`c`\\u4e3a\\u8f93\\u5165\\uff1b\\r\\n- \\u5177\\u4f53\\u8bf7\\u53c2\\u89c1\\u540e\\u7eed\\u6d4b\\u8bd5\\u6837\\u4f8b\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u6d89\\u53ca\\u7684\\u4ee3\\u7801\\u6587\\u4ef6`Variable.js`\\u7684\\u4ee3\\u7801\\u6846\\u67b6\\u5982\\u4e0b\\uff1a\\r\\n\\r\\n```JavaScript\\r\\n/********Begin***************/\\r\\nvar a = 1;\\r\\nfunction variableTest(c) {\\r\\n\\treturn a*c+b;\\r\\n}\\r\\n/**********End****************/\\r\\n```\\r\\n\\r\\n####\\u6d4b\\u8bd5\\u8bf4\\u660e\\r\\n[comment]: <> (\\u201c\\u6d4b\\u8bd5\\u8bf4\\u660e\\u201d\\u90e8\\u5206\\u5982\\u679c\\u5bf9\\u6d4b\\u8bd5\\u8fd0\\u884c\\u6709\\u7279\\u522b\\u9700\\u8981\\u8bf4\\u660e\\u7684\\u53ef\\u4ee5\\u5728\\u6b64\\u5904\\u8bf4\\u660e\\u4e00\\u4e0b\\u3002\\u91cd\\u8981\\u7684\\u662f\\uff0c\\u7ed9\\u51fa\\u51e0\\u7ec4\\u6d4b\\u8bd5\\u6837\\u4f8b)\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8fc7\\u7a0b\\uff1a\\r\\n\\r\\n- \\u5e73\\u53f0\\u5c06\\u8bfb\\u53d6\\u7528\\u6237\\u8865\\u5168\\u540e\\u7684`Variable.js`\\u6587\\u4ef6\\uff1b\\r\\n\\r\\n- \\u8c03\\u7528\\u5176\\u4e2d\\u7684`variableTest()`\\u65b9\\u6cd5\\uff0c\\u5e76\\u8f93\\u5165\\u82e5\\u5e72\\u7ec4\\u6d4b\\u8bd5\\u6570\\u636e\\uff1b\\r\\n\\r\\n- \\u63a5\\u7740\\u6839\\u636e\\u7a0b\\u5e8f\\u7684\\u8f93\\u51fa\\u5224\\u65ad\\u7a0b\\u5e8f\\u662f\\u5426\\u6b63\\u786e\\u3002\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u6d4b\\u8bd5\\u6837\\u4f8b\\uff1a\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`0`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`100`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`1`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`110`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`22`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`330`\\r\\n\\r\\n---\\r\\n\\u6d77\\u5230\\u65e0\\u8fb9\\u5929\\u4f5c\\u5cb8\\uff0c\\u5c71\\u767b\\u7edd\\u9876\\u6211\\u4e3a\\u5cf0\\u3002 \\u2014\\u2014\\u6797\\u5219\\u5f90\\r\\n\\r\\n\\r\\n\\u5982\\u679c\\u4f60\\u89c9\\u5f97\\u8fd9\\u4e00\\u5173\\u7684\\u5185\\u5bb9\\u5bf9\\u4f60\\u6709\\u5e2e\\u52a9\\uff0c\\u8bf7\\u4f60\\u5728\\u4e0b\\u9762\\u70b9\\u8d5e\\u3002\\r\\n\\r\\n\",\"modify_time\":null,\"web_route\":\"\",\"answer\":null},\"game\":{\"id\":146589,\"status\":0,\"myshixun_id\":43748,\"user_id\":1,\"final_score\":0,\"challenge_id\":1765,\"identifier\":\"ts5ojbpz7unk\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":10,\"star\":0,\"modify_time\":null},\"shixun\":{\"id\":534,\"name\":\"JavaScript\\u5b66\\u4e60\\u624b\\u518c\\u4e00\\uff1aJS\\u7b80\\u4ecb\",\"gpid\":42001,\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"language\":\"JavaScript\",\"propaedeutics\":\"####JavaScript\\u7684\\u8d77\\u6e90\\r\\nJavaScript\\u8bde\\u751f\\u4e8e1995\\u5e74\\u3002\\u5728\\u90a3\\u4e2a\\u65f6\\u4ee3\\u7528\\u6237\\u63d0\\u4ea4\\u4e00\\u4e2a\\u8868\\u5355\\u9700\\u8981\\u83b7\\u53d6\\u670d\\u52a1\\u5668\\u7aef\\u7684\\u53cd\\u9988\\uff0c\\u8fd9\\u4e2a\\u65f6\\u95f4\\u5927\\u6982\\u5341\\u51e0\\u79d2\\uff0c\\u5982\\u679c\\u80fd\\u5728\\u5ba2\\u6237\\u7aef\\u5b8c\\u6210\\u4e00\\u4e9b\\u57fa\\u672c\\u7684\\u9a8c\\u8bc1\\u7edd\\u5bf9\\u662f\\u5f88\\u5927\\u7684\\u8fdb\\u6b65\\u3002\\u5f53\\u65f6\\u5982\\u65e5\\u4e2d\\u5929\\u7684Netscape\\u516c\\u53f8\\uff0c\\u51b3\\u5b9a\\u7740\\u624b\\u5f00\\u53d1\\u4e00\\u79cd\\u5ba2\\u6237\\u7aef\\u8bed\\u8a00\\u89e3\\u51b3\\u7b80\\u5355\\u7684\\u8868\\u5355\\u9a8c\\u8bc1\\u3002\\u5c31\\u804c\\u4e8eNetscape\\u516c\\u53f8\\u7684\\u5e03\\u5170\\u767b\\u00b7\\u827e\\u5947\\u5f00\\u59cb\\u7740\\u624b\\u8ba1\\u5212\\u5c061995\\u5e742\\u6708\\u53d1\\u5e03\\u7684LiveScript\\u540c\\u65f6\\u5728\\u6d4f\\u89c8\\u5668\\u548c\\u670d\\u52a1\\u5668\\u4e2d\\u4f7f\\u7528\\u3002Netscape\\u4e0eSun\\u516c\\u53f8\\u6210\\u7acb\\u4e86\\u4e00\\u4e2a\\u5f00\\u53d1\\u8054\\u76df\\u3002Sun\\u516c\\u53f8\\u6b63\\u662fJava\\u7684\\u62e5\\u6709\\u7740\\uff0c\\u800c\\u6b64\\u65f6\\uff0cNetscape\\u4e3a\\u4e86\\u642d\\u4e0a\\u5a92\\u4f53\\u70ed\\u7092Java\\u7684\\u987a\\u98ce\\u8f66\\uff0c\\u4e34\\u65f6\\u628aLiveScript\\u6539\\u540d\\u4e3aJavaScript\\uff0c\\u6240\\u4ee5\\u4ece\\u672c\\u8d28\\u4e0a\\u6765\\u8bf4JavaScript\\u548cJava\\u6ca1\\u4ec0\\u4e48\\u5173\\u7cfb\\u3002\\r\\n\\r\\n1997\\u5e74\\uff0c\\u4ee5JavaScript1.1\\u4e3a\\u84dd\\u672c\\u7684\\u5efa\\u8bae\\u88ab\\u63d0\\u4ea4\\u7ed9\\u4e86\\u6b27\\u6d32\\u8ba1\\u7b97\\u673a\\u5236\\u9020\\u5546\\u534f\\u4f1a\\uff08ECMA\\uff0cEuropean Computer Manufactures Association\\uff09\\uff0c\\u8be5\\u534f\\u4f1a\\u6307\\u5b9a39\\u53f7\\u6280\\u672f\\u59d4\\u5458\\u4f1a\\u8d1f\\u8d23\\u5c06\\u5176\\u8fdb\\u884c\\u6807\\u51c6\\u5316\\uff0cTC39\\u7ecf\\u8fc7\\u6570\\u6708\\u7684\\u52aa\\u529b\\u5b8c\\u6210\\u4e86ECMA-262\\u2014\\u2014\\u5b9a\\u4e49\\u4e86\\u4e00\\u79cd\\u540d\\u4e3aECMAScript\\u7684\\u65b0\\u811a\\u672c\\u8bed\\u8a00\\u7684\\u6807\\u51c6\\u3002\\r\\n \\r\\n\\u73b0\\u5728\\u5f00\\u53d1\\u4eba\\u5458\\u5e38\\u8bf4\\u7684JavaScript\\u5305\\u542b\\u4e09\\u4e2a\\u90e8\\u5206\\uff1aECMAScript\\u3001\\u6d4f\\u89c8\\u5668\\u5bf9\\u8c61\\u6a21\\u578b(BOM) \\u548c\\u6587\\u6863\\u5bf9\\u8c61\\u6a21\\u578b(DOM)\\u3002\\r\\n\\r\\n####JavaScript\\u80fd\\u7528\\u6765\\u5e72\\u4ec0\\u4e48\\r\\nJavaScript\\u4e3b\\u8981\\u7528\\u6765\\u505a\\u7f51\\u9875\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\uff0c\\u5c31\\u662f\\u5927\\u5bb6\\u80fd\\u770b\\u5230\\u7684\\u9875\\u9762\\u7684\\u5f00\\u53d1\\u3002\\u6bd4\\u5982\\u70b9\\u51fb\\u7f51\\u9875\\u4e0a\\u7684Button\\u5b9e\\u73b0\\u7684\\u5f88\\u591a\\u529f\\u80fd\\u3001\\u516c\\u53f8\\u4e3b\\u9875\\u7684\\u8f6e\\u64ad\\u56fe\\u3001\\u6ce8\\u518c\\u65f6\\u4e0a\\u4f20\\u5934\\u50cf\\u65f6\\u7684\\u526a\\u5207\\u7b49\\u7b49\\u4e30\\u5bcc\\u7684\\u9875\\u9762\\u3002\\r\\n\\u9664\\u6b64\\u4e4b\\u5916\\uff0cJavaScript\\u8fd8\\u6709\\u4e00\\u4e9b\\u4e0d\\u5e38\\u7528\\u7684\\u4f7f\\u7528\\u73af\\u5883\\uff0c\\u6bd4\\u5982\\u7528\\u6765\\u5f00\\u53d1\\u5c0f\\u6e38\\u620f\\uff0c\\u505a\\u7f51\\u7ad9\\u540e\\u53f0\\uff0c\\u5f53\\u7136\\u8fd9\\u4e9b\\u5f88\\u5c0f\\u4f17\\uff0c\\u4f5c\\u4e3a\\u4e00\\u4e2a\\u521d\\u5b66\\u8005\\uff0c\\u6211\\u4eec\\u5efa\\u8bae\\u5927\\u5bb6\\u8fd8\\u662f\\u5b66\\u597dJavaSciptt\\u7684\\u57fa\\u7840\\uff0c\\u591a\\u7528\\u5b83\\u6765\\u8fdb\\u884c\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\u3002\",\"status\":2,\"identifier\":\"8arufxzl\",\"test_set_permission\":true,\"webssh\":0,\"user_id\":30144,\"code_hidden\":false,\"task_pass\":false,\"exec_time\":120},\"record\":null,\"grade\":211720,\"prev_game\":\"fshy8ve9gzc6\",\"next_game\":null,\"username\":\"Coder\",\"image_url\":\"avatars/User/1\",\"user_url\":\"/users/innov\",\"praise_count\":0,\"user_praise\":false,\"time_limit\":120,\"tomcat_url\":\"http://117.50.21.112\",\"is_teacher\":true,\"power\":1,\"myshixun_manager\":true}\r\n\t\t// \tthis._handleResponseData(chooseData)\r\n\t\t\t\r\n\t\t// \tthis.setState({\r\n\t // \t\t...chooseData,\r\n\t // \t\tloading: false,\r\n\t // \t})\r\n\t // \treturn;\r\n\t\t// } \r\n\t\tthis.setState({\r\n\t \tloading: true,\r\n\t \tcurrentGamePassed: false, // 切换game时重置passed字段\r\n\t })\r\n\r\n\t\taxios.get(url, {\r\n \t\t\twithCredentials: true,\r\n \t\t})\r\n\t\t .then((response) => {\r\n\t\t\t console.log(response);\r\n\t\t\t // {\"status\":1,\"message\":\"Unauthorized. \\u7528\\u6237\\u8ba4\\u8bc1\\u5931\\u8d25.\"}\r\n\t\t\t if (response.data.status == -1) {\r\n\t\t\t \tconsole.error('获取实训任务信息失败!')\r\n\t\t\t \tthis.showSnackbar(response.data.message);\r\n\t\t\t \treturn;\r\n\t\t\t }\r\n\t\t\t if (response.data.status == 403) {\r\n\t\t\t \twindow.location.href = '/myshixuns/forbidden'\r\n\t\t\t \treturn;\r\n\t\t\t }\r\n\t\t\t if (response.data.status == 404) {\r\n\t\t\t \twindow.location.href = '/myshixuns/not_found'\r\n\t\t\t \treturn;\r\n\t\t\t }\r\n\r\n\t\t\t this._handleResponseData(response.data)\r\n\t\t \r\n\t\t \t})\r\n\t\t \t.catch(function (error) {\r\n\t\t \tconsole.log(error);\r\n\t\t \t});\r\n\t\r\n\t}\r\n\r\n\treadGameAnswer(resData) {\r\n\t\tvar game = this.state.game;\r\n\t\t// game.final_score = resData.final_score;\r\n\r\n\t\tthis.setState({\r\n\t\t\tgame: update(game, {final_score: { $set: resData.final_score }}),\r\n\t\t\tgrade: resData.grade\r\n\t\t})\r\n\t}\r\n\tcloseTaskResultLayer() {\r\n\t\tthis.setState({\r\n\t\t\tcurrentGamePassed: false\r\n\t\t})\r\n\t}\r\n\tonRunChooseTestFinish(response) {\r\n\t\tconst { test_sets, challenge_chooses_count, choose_correct_num, grade, experience, gold, had_submmit, next_game } = response;\r\n\t\tconst { game } = this.state;\r\n\t\tlet currentGamePassed = false\r\n\t\tif (challenge_chooses_count === choose_correct_num) {\r\n\t\t\tgame.status = 2;\t// 2表示评测通过\r\n\t\t\tgame.next_game = next_game;\r\n\t\t\tcurrentGamePassed = true;\r\n\r\n\t\t\tthis._updateCostTime(true, true);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tchoose_test_cases: response,\r\n\t\t\tgrade: grade,\r\n\r\n\t\t\tgame,\r\n\t\t\tnext_game,\r\n\t\t\tcurrentGamePassed: currentGamePassed,\r\n\t\t\tcurrentPassedGameGainGold: gold,\r\n\t\t\tcurrentPassedGameGainExperience: experience,\r\n\t\t})\r\n\t}\t\r\n\tlanguage_display(data) {\r\n\t\tconst { game, tomcat_url } = this.state;\r\n\t\tconst $ = window.$;\r\n\t\tconst challenge = Object.assign({}, this.state.challenge)\r\n\t\tif(challenge.isWeb && data.port != -1) {\r\n // var $result = $(\"#php_display\");\r\n challenge.showWebDisplayButton = true;\t// ActionView处是否出现查看效果按钮\r\n const path = challenge.web_route || challenge.path\r\n const webDisplayUrl = `${tomcat_url}:${data.port}/${path}`\r\n challenge.webDisplayUrl = webDisplayUrl\r\n challenge.showLanguagePictrue = true;\t// 评测通过弹出层是否出现查看效果按钮\r\n }else if(challenge.isAndroid && data.picture != 0){\r\n \t// https://www.educoder.net/shixuns/qrcode?game_id=218589&_=1525571882782\r\n $.ajax({\r\n url: `/shixuns/qrcode?game_id=${game.id}`,\r\n dataType: 'script'\r\n });\r\n challenge.showLanguagePictrue = true;\r\n }else if(data.picture != 0){\r\n \t// 对应服务端erb文件为 _picture_display.html.erb\r\n $.ajax({\r\n url: \"/users/picture_show?game_id=\"+data.picture,\r\n cache: false,\r\n dataType: 'script'\r\n });\r\n challenge.showLanguagePictrue = true;\r\n }\r\n this.setState({\r\n \tchallenge\r\n })\r\n\t}\r\n\tonRunCodeTestFinish(response) {\r\n\t\tconsole.log('onRunCodeTestFinish', response)\r\n\t\tconst { test_sets, test_sets_count, test_sets_hidden_count, test_sets_public_count\r\n\t\t\t, had_test_count, had_passed_testsests_error_count, had_passed_testsests_hidden_count\r\n\t\t\t, had_passed_testsests_public_count, final_score, gold, experience, latest_output, status\r\n\t\t\t, had_done, score, tag_count, power, record, next_game, grade, picture} = response;\r\n\r\n\t\tconst { game } = this.state;\r\n\r\n\t\tconst currentGamePassed = this.props.game !== 2 && status === 2\r\n\r\n\t\tcurrentGamePassed && this.language_display(response);\r\n\r\n\t\t// 评测通过了,立即同步costTime\r\n\t\tcurrentGamePassed && this._updateCostTime(true, true);\r\n\r\n\t\tif (currentGamePassed) {\r\n\t\t\tgame.status = 2;\r\n\t\t\tgame.next_game = next_game;\t\r\n\t\t}\r\n\r\n\t\tconst output_sets = {\r\n\t\t\t\"test_sets\": test_sets,\r\n\t \"had_test_count\": had_test_count,\r\n\t \"test_sets_count\": test_sets_count,\r\n\t \"had_passed_testsests_error_count\": had_passed_testsests_error_count,\r\n\t \"test_sets_hidden_count\": test_sets_hidden_count,\r\n\t \"test_sets_public_count\": test_sets_public_count,\r\n\t \"had_passed_testsests_hidden_count\": had_passed_testsests_hidden_count,\r\n\t \"had_passed_testsests_public_count\": had_passed_testsests_public_count\r\n\t\t};\r\n\t\tif (output_sets && output_sets.test_sets) {\r\n \t\t\tconst test_sets_array = JSON.parse(\"[\" + output_sets.test_sets + \"]\");\r\n \t\t\toutput_sets.test_sets_array = test_sets_array;\r\n \t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\ttestSetsExpandedArray: testSetsExpandedArrayInitVal.slice(0), // 重置测试集展开状态\r\n\t\t\tcurrentGamePassed,\r\n\t\t\tcurrentPassedGameGainGold: gold,\r\n\t\t\tcurrentPassedGameGainExperience: experience,\r\n\r\n\t\t\toutput_sets,\r\n\t\t\tgame,\r\n\t\t\tnext_game,\r\n\t\t\t\r\n\t\t\tlatest_output,\r\n\t\t\trecord: record,\r\n\t\t\tgrade,\r\n\t\t\thad_done,\r\n\t\t\t\r\n\t\t})\r\n\t}\r\n\r\n\ttestSetUnlock() {\r\n\t\tconst { game } = this.state;\r\n\t\tconst url = `/api/v1/games/${game.identifier}/check_test_sets`\r\n\t\taxios.get(url, {\r\n \t\t\twithCredentials: true,\r\n \t\t})\r\n\t\t .then((response) => {\r\n\t\t\t console.log(response);\r\n\t\t\t // TODO status -2 重复操作,直接解锁\r\n\t\t\t if (response.data.test_sets == -1) {\r\n\t\t\t \tconsole.error('testSetUnlock失败!')\r\n\t\t\t \tthis.showSnackbar(response.data.message)\r\n\t\t\t \treturn;\r\n\t\t\t } else {\r\n\t\t\t \t// 被扣除的金币,是负数\r\n\t\t\t \tconst deltaScore = response.data.score;\r\n\t\t\t\t\t// output_sets\r\n\t\t\t\t\tlet { output_sets } = this.state;\r\n\t\t\t\t\toutput_sets = Object.assign({}, output_sets);\r\n\t\t\t\t\tconst test_sets_array = JSON.parse(\"[\" + response.data.test_sets + \"]\");\r\n\t \t\t\t\toutput_sets.test_sets_array = test_sets_array;\r\n\t\t\t \tthis.setState({ \r\n\t\t\t\t\t\toutput_sets: output_sets,\r\n\t\t\t \t\tgrade: this.state.grade + deltaScore,\r\n\t\t\t \t\tgame : update(game, {test_sets_view: { $set: true }}), \r\n\t\t\t \t\ttestSetsExpandedArray: testSetsExpandedArrayInitVal.slice(0) \r\n\t\t\t \t})\r\n\t\t\t \tthis.handleGdialogClose();\r\n\t\t\t }\r\n\t\t \r\n\t\t \t})\r\n\t\t \t.catch(function (error) {\r\n\t\t \tconsole.log(error);\r\n\t\t \t});\r\n\t}\r\n\r\n\thandleSnackbarClose() {\r\n\t\tthis.setState({\r\n\t\t\tsnackbarOpen: false,\r\n\t\t\tsnackbarVertical: '',\r\n\t\t\tsnackbarHorizontal: '',\r\n\t\t})\r\n\t}\r\n\t// 全局的snackbar this.props.showSnackbar调用即可\r\n\tshowSnackbar(text, vertical, horizontal) {\r\n\t\tthis.setState({\r\n\t\t\tsnackbarOpen: true,\r\n\t\t\tsnackbarText: text,\r\n\t\t\tsnackbarVertical: vertical,\r\n\t\t\tsnackbarHorizontal: horizontal,\r\n\t\t})\r\n\t}\r\n\r\n\t/* \r\n TODO 写成HOC组件,更好复用\r\n\t\t全局的Dialog this.props.showDialog调用即可\r\n\t\t@param contentText dialog显示的提示文本 \r\n\t\t@param callback \t确定按钮回调方法\r\n\t\t@param moreButtonsRender 除了“确定”、“取消”按钮外的其他按钮\r\n\t\t@param okButtonText “确定”按钮显示文本,如 继续查看\r\n\t*/\r\n\tshowDialog(params) {\r\n\t\tconst { contentText, callback, moreButtonsRender, okButtonText } = params;\r\n\r\n\t\tthis.dialogOkCallback = callback;\r\n\t\tthis.moreButtonsRender = moreButtonsRender\r\n\t\tthis.okButtonText = okButtonText;\r\n\t\tthis.setState({\r\n\t\t\tgDialogOpen: true,\r\n\t\t\tgDialogContentText: contentText\r\n\t\t})\r\n\t}\r\n\tonGdialogOkBtnClick() {\r\n\r\n\t\tthis.dialogOkCallback && this.dialogOkCallback();\r\n\t\t// this.setState({\r\n\t\t// \tgDialogOpen: true\r\n\t\t// })\r\n\t}\r\n\thandleGdialogClose() {\r\n\t\tthis.setState({\r\n\t\t\tgDialogOpen: false\r\n\t\t})\r\n\t}\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\t this.closeTaskResultLayer(),\r\n\r\n\t\t\t\t\t\tonPathChange: this.onPathChange,\r\n\t\t\t\t\t\tupdateChallengePath: this.updateChallengePath,\r\n\r\n\t\t\t\t\t\tshowSnackbar: this.showSnackbar,\r\n\t\t\t\t\t\tshowDialog: this.showDialog,\r\n\t\t\t\t\t\thandleGdialogClose: () => this.handleGdialogClose(),\r\n\r\n\t\t\t\t\t\tonShowUpdateDialog: this.onShowUpdateDialog,\r\n\t\t\t\t\t\tupdateDialogClose: this.updateDialogClose,\r\n\r\n\t\t\t\t\t\tmatch: this.props.match\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\t\r\n\t\t\t\t\t this.handleGdialogClose()}\r\n\t\t\t >\t\r\n\t\t\t\t \t{\"提示\"}\r\n\t\t\t \t\r\n\t\t\t\t \r\n\t\t\t\t\t \t{this.state.gDialogContentText}\r\n\t\t\t\t \r\n\t\t\t \t\r\n\t\t\t \t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t \t\t\t {this.moreButtonsRender && this.moreButtonsRender()}\r\n\t\t\t \t\r\n\t\t\t \r\n\r\n\t\t\t\t\t this.handleSnackbarClose()}\r\n\t\t\t \ttransition={Fade}\r\n\t\t\t \tSnackbarContentProps={{\r\n\t\t\t \t'aria-describedby': 'message-id',\r\n\t\t\t \t}}\r\n\t\t\t \tresumeHideDuration={2000}\r\n\t\t\t \tmessage={{this.state.snackbarText}}\r\n\t\t\t />\r\n\t\t\t\t\t{this.props.children}\r\n\t\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport default TPIContextProvider;\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/context/TPIContextProvider.js","import React, { Component } from 'react';\r\n\r\nimport TPIContext from '../../context/TPIContext'\r\nimport TPIContextProvider from '../../context/TPIContextProvider'\r\n\r\nimport Index from './Index.js'\r\nclass IndexWrapper extends Component {\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{context=>\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport default IndexWrapper;\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/IndexWrapper.js","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _DOMUtils = require('./DOMUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = (0, _DOMUtils.supportsHistory)();\n var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + (0, _PathUtils.createPath)(location);\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createBrowserHistory;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_history@4.7.2@history/createBrowserHistory.js\n// module id = 578\n// module chunks = 33","'use strict';\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_history@4.7.2@history/PathUtils.js\n// module id = 579\n// module chunks = 33","import React, { Component } from 'react';\r\nimport { Modal } from 'antd';\r\n\r\n\r\nexport function ECModalHOC(options = {}) {\r\n\treturn function wrap(WrappedComponent) {\r\n\t return class Wrapper extends Component {\r\n\t \tconstructor(props) {\r\n\t\t super(props);\r\n \r\n\t\t this.state = {\r\n\t\t \t titlemessage: '',\r\n\t\t \t Modallist: false,\r\n Modallisttype: false,\r\n\t\t\t\t\t singleButton: false\r\n\t\t }\r\n\t \t}\r\n\r\n\t \t// 全局的modal this.props.showModal 调用即可\r\n\t\t\tshowModal = (title, content, okCallback) => {\r\n\t\t\t\tthis.okCallback = okCallback;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttitlemessage: title,\r\n\t\t\t\t\tModallist: content,\r\n\t\t\t\t\tModallisttype: true,\r\n\t\t\t\t\tsingleButton: false,\r\n\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tshowSingleButtonModal = (title, content) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttitlemessage: title,\r\n\t\t\t\t\tModallist: content,\r\n\t\t\t\t\tModallisttype: true,\r\n\t\t\t\t\tsingleButton: true,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tonCancel = () => {\r\n\t\t\t\tthis.setState({\r\n Modallisttype:false\r\n })\r\n\t\t\t}\r\n hidemodeldelete = () => {\r\n\t\t\t\tif (this.okCallback) {\r\n\t\t\t\t\tthis.okCallback()\r\n\t\t\t\t}\r\n \r\n\t\t\t\tthis.onCancel()\r\n }\r\n\t \trender() {\r\n\t\t const { titlemessage, Modallisttype, Modallist, singleButton } = this.state;\r\n\t\t \r\n\t\t return (\r\n\t\t \t\r\n\t\t \t\t\r\n
    \r\n
    {Modallist}
    \r\n
    \r\n { singleButton ?
    \r\n 知道啦\r\n
    :
    \r\n 取消\r\n 确定\r\n\t\t\t\t\t\t\t
    }\r\n \r\n\t\t\t \r\n\t\t\t \t\r\n\t\t\t \r\n\t\t \t
    \r\n\t\t )\r\n\t \t}\r\n\t }\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/ec/common/ECModalHOC.js","import React, { Component } from 'react';\r\n\r\nimport moment from 'moment'\r\nimport { getUrl } from 'educoder'\r\nimport { Form, Input, Icon, Button, Select, InputNumber } from 'antd';\r\nconst { TextArea } = Input;\r\nconst { Option } = Select;\r\n\r\nlet _url_origin = getUrl()\r\nconst $ = window.$\r\n// https://www.educoder.net/stylesheets/css/common.css?1546618720\r\nif (!window['EcLoaded']) {\r\n $('head').append( $('')\r\n .attr('href', `${_url_origin}/stylesheets/css/common.css?1525440977`) );\r\n window['EcLoaded'] = true\r\n}\r\n\r\nlet id = 0;\r\n\r\n\r\n/**\r\n target_id\r\n position \r\n target_weight\r\n target_contents\r\n\r\n subitem_id\r\n index\r\n subitem_contents\r\n\r\n*/\r\nconst data = \r\n[{\"position\":0,\"target_weight\":0.02,\"target_contents\":\"12\",\"standard_grade\":2,\"subitem_id\":\"65\"},{\"position\":3,\"target_id\":\"0\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":60,\"subitem_id\":\"66\"},{\"position\":4,\"target_weight\":1,\"target_contents\":\"22\",\"standard_grade\":33,\"subitem_id\":\"66\"},{\"position\":11,\"target_id\":\"1\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":61,\"subitem_id\":\"65\"}]\r\n;\r\nlet _data = [\r\n {\r\n target_id: 0,\r\n position: 1,\r\n target_weight: 0.1,\r\n target_contents: '理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',\r\n standard_grade: 60,\r\n // biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\r\n \"subitem_id\": 64,\r\n \"index\": \"1-1\",\r\n \"subitem_contents\": \"能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"\r\n },\r\n {\r\n target_id: 1,\r\n position: 2,\r\n target_weight: 0.1,\r\n target_contents: '理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',\r\n standard_grade: 61,\r\n // biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\r\n \"subitem_id\": 65,\r\n \"index\": \"1-2\",\r\n \"subitem_contents\": \"222能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"\r\n }\r\n]\r\nconst item = {}\r\n\r\nclass EditableCourseSupportSetting extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n addOrDeleting: false,\r\n errorMsg: ''\r\n }\r\n }\r\n onRemove = (k) => {\r\n let fValues = this.props.form.getFieldsValue();\r\n if (\r\n // fValues.standard_grade[k] && fValues.standard_grade[k] != 75\r\n // || fValues.subitem_id[k] \r\n // || \r\n fValues.target_contents[k] \r\n // || fValues.target_weight[k] \r\n ) {\r\n this.props.showModal('提示', '确定要删除吗?', () => {\r\n this.remove(k)\r\n })\r\n } else {\r\n this.remove(k)\r\n }\r\n }\r\n remove = (k) => {\r\n const { form } = this.props;\r\n // can use data-binding to get\r\n const keys = form.getFieldValue('keys');\r\n // We need at least one passenger\r\n // if (keys.length === 1) {\r\n // return;\r\n // }\r\n if (keys.length === 1) {\r\n this.setState({ errorMsg: '至少得保留一条数据' })\r\n return;\r\n }\r\n // 清除悬浮tip\r\n window.$('.data-tip-down').hide()\r\n\r\n console.log('remove :' , k , this.position2Target_idMap[k])\r\n delete this.position2Target_idMap[k]\r\n // can use data-binding to set\r\n form.setFieldsValue({\r\n keys: keys.filter(key => key !== k),\r\n });\r\n }\r\n _reverseMap = (map) => {\r\n let newMap = {}\r\n for (var k in map) {\r\n newMap[map[k]] = k;\r\n }\r\n return newMap\r\n }\r\n addIfNewKeyExist = (newKey, index_arg) => {\r\n this.setState({ addOrDeleting: true })\r\n const { form } = this.props;\r\n const keys = form.getFieldValue('keys');\r\n /**\r\n [0,1,2,3]\r\n ['11', '22', '33', '44']\r\n ->\r\n [0,1,2,3,4]\r\n ['11', '22', empty, '33', '44']\r\n\r\n */\r\n const target_weight = form.getFieldValue('target_weight');\r\n const target_contents = form.getFieldValue('target_contents');\r\n const standard_grade = form.getFieldValue('standard_grade');\r\n const subitem_id = form.getFieldValue('subitem_id');\r\n keys.splice(index_arg, 0, newKey);\r\n\r\n // position2Target_idMap \r\n // {1:2, 2:3, 3:4, 4:6 } --> {1:2, 2:3, 3:7, 4:4, 5:6 }\r\n // 更新key/position 映射到target_id的map\r\n // 两次revers,用这个结构,达到给position加1的效果\r\n let reverseMap = this._reverseMap(this.position2Target_idMap);\r\n for (let i = index_arg ; i < keys.length; i++) {\r\n if(keys[i] === keys[i+1]) { // 找到开始+1的行\r\n continue;\r\n }\r\n let target_id = this.position2Target_idMap[keys[i]];\r\n reverseMap[target_id] = parseInt(reverseMap[target_id]) + 1;\r\n keys[i] = keys[i] + 1;\r\n }\r\n for (let i = 0 ; i < keys.length - 1; i++) { \r\n if (keys[i] == keys[i + 1]) {\r\n debugger;\r\n }\r\n }\r\n this.position2Target_idMap = this._reverseMap(reverseMap);\r\n \r\n\r\n target_weight.splice(newKey, 0, undefined);\r\n target_contents.splice(newKey, 0, undefined);\r\n standard_grade.splice(newKey, 0, undefined);\r\n subitem_id.splice(newKey, 0, undefined);\r\n\r\n setTimeout(() => {\r\n form.setFieldsValue({\r\n target_weight,\r\n target_contents,\r\n standard_grade,\r\n subitem_id\r\n });\r\n window.$('.data-tip-down').hide()\r\n this.setState({ addOrDeleting: false })\r\n\r\n }, 300)\r\n form.setFieldsValue({\r\n keys: keys\r\n });\r\n\r\n }\r\n add = (k, index) => {\r\n this.setState({ errorMsg: '' })\r\n\r\n const { form } = this.props;\r\n // can use data-binding to get\r\n const keys = form.getFieldValue('keys');\r\n let nextKeys ;\r\n let newKey = k + 1;\r\n \r\n const newKeyIndex = keys.indexOf(newKey)\r\n if (newKeyIndex != -1) {\r\n // 新key存在,将新key位置及以后的row后移,直到找到一个之后的空位置\r\n this.addIfNewKeyExist(newKey, index)\r\n } else { // 如果这个新key不存在\r\n // keys[newIndex] = newKey\r\n keys.splice(index === 0 && k === -1 ? 0 : index, 0, newKey);\r\n }\r\n // can use data-binding to set\r\n // important! notify form to detect changes\r\n form.setFieldsValue({\r\n keys: keys,\r\n });\r\n }\r\n\r\n handleSubmit = (e) => {\r\n this.setState({ errorMsg: '' })\r\n e.preventDefault && e.preventDefault();\r\n this.props.form.validateFieldsAndScroll((err, values) => {\r\n if (!err) {\r\n let keysLen = values.keys.length\r\n if (keysLen < 1) {\r\n this.setState({ errorMsg: '至少得保留一条数据' })\r\n }\r\n var data = []\r\n while( keysLen-- ) {\r\n data.push({})\r\n }\r\n for (var valKey in values) {\r\n \r\n let dataIndex = 0\r\n values[valKey].forEach( (item,index) => {\r\n let _val = values[valKey][index];\r\n if (_val || _val == 0) {\r\n data[dataIndex][valKey === 'keys' ? 'position' : valKey] = _val\r\n if (valKey === 'keys' && (this.position2Target_idMap[_val] || this.position2Target_idMap[_val] === 0) ) {\r\n data[dataIndex].target_id = this.position2Target_idMap[_val]\r\n }\r\n dataIndex++;\r\n }\r\n })\r\n }\r\n\r\n console.log('Received values of form: ', values, data);\r\n \r\n let totalWeight = 0;\r\n values.target_weight.forEach(item => {\r\n if (item) {\r\n totalWeight += item\r\n }\r\n })\r\n // 精度问题 0.2 + 0.7 = 0.8999999999\r\n if (parseInt((totalWeight * 100).toFixed(1)) != 100) {\r\n this.setState({ errorMsg: '请先保证权重和等于1' })\r\n return;\r\n }\r\n\r\n this.props.updateCourseTargets(data)\r\n } else {\r\n\r\n const keyRowNumMap = {}\r\n let rowNum = 1;\r\n for (var key in values.target_contents) {\r\n keyRowNumMap[key] = rowNum;\r\n rowNum++;\r\n }\r\n\r\n // err.target_contents[1].errors[0]\r\n // {message: \"请填入目标内容\", field: \"target_contents[1]\"}\r\n for (var key in err) {\r\n for (var _k in err[key]) {\r\n let errorObj = err[key][_k].errors[0];\r\n\r\n let _key = errorObj.field.match(`[(0-9)]`)\r\n this.setState({ errorMsg: `第${keyRowNumMap[_key]}行,${errorObj.message}` })\r\n return;\r\n // console.log(`第${keyRowNumMap[_key]}行,${errorObj.message}`);\r\n }\r\n }\r\n }\r\n \r\n \r\n });\r\n }\r\n\r\n componentDidMount = () => {\r\n this.position2Target_idMap = {}\r\n const { form } = this.props;\r\n\r\n const data = this.props.course_targets\r\n\r\n let target_weight = []\r\n let target_contents = []\r\n let standard_grade = []\r\n // let biyeYaoqiuZhibiaodian = []\r\n let subitem_id = []\r\n let keys = []\r\n\r\n data.forEach(item => {\r\n keys.push(item.position);\r\n target_weight[item.position] = (item.target_weight)\r\n target_contents[item.position] = (item.target_contents);\r\n standard_grade[item.position] = (item.standard_grade);\r\n // biyeYaoqiuZhibiaodian[item.position] = (item.biyeYaoqiuZhibiaodian);\r\n\r\n subitem_id[item.position] = (item.subitem_id).toString();\r\n\r\n this.position2Target_idMap[item.position] = item.target_id\r\n }) \r\n form.setFieldsValue({\r\n keys\r\n });\r\n setTimeout(() => {\r\n form.setFieldsValue({\r\n target_weight,\r\n target_contents,\r\n standard_grade,\r\n // biyeYaoqiuZhibiaodian,\r\n subitem_id,\r\n });\r\n // this.forceUpdate()\r\n }, 300)\r\n\r\n \r\n }\r\n \r\n\r\n render() {\r\n const { getFieldDecorator, getFieldValue } = this.props.form;\r\n const { requirements } = this.props;\r\n const { addOrDeleting } = this.state;\r\n const formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 4 },\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 20 },\r\n },\r\n };\r\n const formItemLayoutWithOutLabel = {\r\n wrapperCol: {\r\n xs: { span: 24, offset: 0 },\r\n sm: { span: 20, offset: 4 },\r\n },\r\n };\r\n getFieldDecorator('keys', { initialValue: [] });\r\n const keys = getFieldValue('keys');\r\n const formItems = keys.map((k, index) => (\r\n
  • \r\n \r\n { index + 1 }\r\n \r\n {getFieldDecorator(`target_weight[${k}]`, {\r\n // validateTrigger: ['onChange', 'onBlur'],\r\n rules: [{\r\n required: true,\r\n whitespace: true,\r\n type: 'number',\r\n message: \"请填入权重\",\r\n }],\r\n })(\r\n \r\n )}\r\n \r\n \r\n {getFieldDecorator(`target_contents[${k}]`, {\r\n // validateTrigger: ['onChange', 'onBlur'],\r\n rules: [{\r\n required: true,\r\n // whitespace: true,\r\n message: \"请填入目标内容\",\r\n }],\r\n })(\r\n */}\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t \t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t { st === 1 ? \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t \t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t : ''\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t \t
  • \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t{/*\tTA人解答*/}\r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t\t
    \r\n\t\t\t\t\t\t\t\t \t
    \r\n\t\t\t\t\t\t\t\t \t\t\r\n\t\t\t\t\t\t\t\t \t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t\t{ loadingComments ? \r\n\t\t\t\t\t\t\t \t : \r\n\t\t\t\t\t\t \t\t\r\n\t\t\t\t\t\t \t}\r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t \t{/*说点什么\t*/}\r\n\t\t\t\t\t \t\r\n\t\t\t\t\t
    \r\n\t\t\t \t
    \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t );\r\n \t}\r\n}\r\n// \r\n// {/**/}\r\nexport default withStyles(styles)( LeftView );\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/main/LeftView.js","import { createElement } from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar uid = (function () {\n return Math.random().toString(36).substring(2);\n});\n\nvar Svg = (function (_ref) {\n var animate = _ref.animate,\n ariaLabel = _ref.ariaLabel,\n children = _ref.children,\n className = _ref.className,\n height = _ref.height,\n preserveAspectRatio = _ref.preserveAspectRatio,\n primaryColor = _ref.primaryColor,\n primaryOpacity = _ref.primaryOpacity,\n rtl = _ref.rtl,\n secondaryColor = _ref.secondaryColor,\n secondaryOpacity = _ref.secondaryOpacity,\n speed = _ref.speed,\n style = _ref.style,\n uniquekey = _ref.uniquekey,\n width = _ref.width,\n props = _objectWithoutPropertiesLoose(_ref, [\"animate\", \"ariaLabel\", \"children\", \"className\", \"height\", \"preserveAspectRatio\", \"primaryColor\", \"primaryOpacity\", \"rtl\", \"secondaryColor\", \"secondaryOpacity\", \"speed\", \"style\", \"uniquekey\", \"width\"]);\n\n var idClip = uniquekey ? uniquekey + \"-idClip\" : uid();\n var idGradient = uniquekey ? uniquekey + \"-idGradient\" : uid();\n var defautlAnimation = [\"-3; 1\", \"-2; 2\", \"-1; 3\"];\n var rtlAnimation = [\"1; -3\", \"2; -2\", \"3; -1\"];\n var animationValues = rtl ? rtlAnimation : defautlAnimation;\n return createElement(\"svg\", _extends({\n role: \"img\",\n style: style,\n className: className,\n \"aria-labelledby\": ariaLabel ? ariaLabel : null,\n viewBox: \"0 0 \" + width + \" \" + height,\n preserveAspectRatio: preserveAspectRatio\n }, props), ariaLabel ? createElement(\"title\", null, ariaLabel) : null, createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n width: width,\n height: height,\n clipPath: \"url(#\" + idClip + \")\",\n style: {\n fill: \"url(#\" + idGradient + \")\"\n }\n }), createElement(\"defs\", null, createElement(\"clipPath\", {\n id: idClip\n }, children), createElement(\"linearGradient\", {\n id: idGradient\n }, createElement(\"stop\", {\n offset: \"0%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && createElement(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[0],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), createElement(\"stop\", {\n offset: \"50%\",\n stopColor: secondaryColor,\n stopOpacity: secondaryOpacity\n }, animate && createElement(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[1],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), createElement(\"stop\", {\n offset: \"100%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && createElement(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[2],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })))));\n});\n\nvar defaultProps = {\n animate: true,\n ariaLabel: \"Loading interface...\",\n height: 130,\n preserveAspectRatio: \"xMidYMid meet\",\n primaryColor: \"#f0f0f0\",\n primaryOpacity: 1,\n rtl: false,\n secondaryColor: \"#e0e0e0\",\n secondaryOpacity: 1,\n speed: 2,\n width: 400\n};\n\nvar InitialComponent = function InitialComponent(props) {\n return createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"5\",\n ry: \"5\",\n width: props.width,\n height: props.height\n });\n};\n\nvar Holder = (function (props) {\n var mergedProps = _extends({}, defaultProps, props);\n\n var children = props.children ? props.children : createElement(InitialComponent, mergedProps);\n return createElement(Svg, mergedProps, children);\n});\n\nvar FacebookStyle = function FacebookStyle(props) {\n return createElement(Holder, props, createElement(\"rect\", {\n x: \"70\",\n y: \"15\",\n rx: \"4\",\n ry: \"4\",\n width: \"117\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"70\",\n y: \"35\",\n rx: \"3\",\n ry: \"3\",\n width: \"85\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"350\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"380\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"120\",\n rx: \"3\",\n ry: \"3\",\n width: \"201\",\n height: \"6.4\"\n }), createElement(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }));\n};\n\nvar InstagramStyle = function InstagramStyle(props) {\n return createElement(Holder, _extends({}, props, {\n height: 480\n }), createElement(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }), createElement(\"rect\", {\n x: \"75\",\n y: \"13\",\n rx: \"4\",\n ry: \"4\",\n width: \"100\",\n height: \"13\"\n }), createElement(\"rect\", {\n x: \"75\",\n y: \"37\",\n rx: \"4\",\n ry: \"4\",\n width: \"50\",\n height: \"8\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"70\",\n rx: \"5\",\n ry: \"5\",\n width: \"400\",\n height: \"400\"\n }));\n};\n\nvar CodeStyle = function CodeStyle(props) {\n return createElement(Holder, props, createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"70\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"80\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"100\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"190\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"10\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"15\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"155\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"15\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"90\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"115\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"185\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"30\",\n height: \"10\"\n }));\n};\n\nvar ListStyle = function ListStyle(props) {\n return createElement(Holder, props, createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"170\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"200\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"80\",\n height: \"10\"\n }));\n};\n\nvar BulletListStyle = function BulletListStyle(props) {\n return createElement(Holder, props, createElement(\"circle\", {\n cx: \"10\",\n cy: \"20\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"15\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"circle\", {\n cx: \"10\",\n cy: \"50\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"45\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"circle\", {\n cx: \"10\",\n cy: \"80\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"75\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"circle\", {\n cx: \"10\",\n cy: \"110\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"105\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }));\n};\n\nexport default Holder;\nexport { FacebookStyle as Facebook, InstagramStyle as Instagram, CodeStyle as Code, ListStyle as List, BulletListStyle as BulletList };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-content-loader@3.4.2@react-content-loader/dist/react-content-loader.es.js\n// module id = 832\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _colorManipulator = require(\"../styles/colorManipulator\");\n\nvar _ButtonBase = _interopRequireDefault(require(\"../ButtonBase\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n width: 48,\n height: 48,\n padding: 0,\n borderRadius: '50%',\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n },\n colorInherit: {\n color: 'inherit'\n },\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n disabled: {},\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/style/icons) section of the documentation\n * regarding the available icon options.\n */\n\n\nexports.styles = styles;\n\nfunction IconButton(props) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n className = props.className,\n color = props.color,\n disabled = props.disabled,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"disabled\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames), className),\n centerRipple: true,\n focusRipple: true,\n disabled: disabled\n }, other), _react.default.createElement(\"span\", {\n className: classes.label\n }, children));\n}\n\nIconButton.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The icon element.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple will be disabled.\n */\n disableRipple: _propTypes.default.bool\n} : {};\nIconButton.defaultProps = {\n color: 'default',\n disabled: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiIconButton'\n})(IconButton);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/IconButton/IconButton.js\n// module id = 833\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Pager from './Pager';\nimport Options from './Options';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\nimport { polyfill } from 'react-lifecycles-compat';\n\nfunction noop() {}\n\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.pageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nvar Pagination = function (_React$Component) {\n _inherits(Pagination, _React$Component);\n\n function Pagination(props) {\n _classCallCheck(this, Pagination);\n\n var _this = _possibleConstructorReturn(this, (Pagination.__proto__ || Object.getPrototypeOf(Pagination)).call(this, props));\n\n _initialiseProps.call(_this);\n\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n\n var current = props.defaultCurrent;\n if ('current' in props) {\n current = props.current;\n }\n\n var pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = props.pageSize;\n }\n\n _this.state = {\n current: current,\n currentInputValue: current,\n pageSize: pageSize\n };\n return _this;\n }\n\n _createClass(Pagination, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector('.' + prefixCls + '-item-' + prevState.current);\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.props.hideOnSinglePage === true && this.props.total <= this.state.pageSize) {\n return null;\n }\n\n var props = this.props;\n var locale = props.locale;\n\n var prefixCls = props.prefixCls;\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n\n var goButton = props.showQuickJumper && props.showQuickJumper.goButton;\n var pageBufferSize = props.showLessItems ? 1 : 2;\n var _state = this.state,\n current = _state.current,\n pageSize = _state.pageSize;\n\n\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n\n var dataOrAriaAttributeProps = Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n\n if (props.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = React.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = React.createElement(\n 'span',\n {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n goButton\n );\n }\n gotoButton = React.createElement(\n 'li',\n {\n title: props.showTitle ? '' + locale.jump_to + this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n gotoButton\n );\n }\n\n return React.createElement(\n 'ul',\n _extends({\n className: prefixCls + ' ' + prefixCls + '-simple ' + props.className,\n style: props.style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: (this.hasPrev() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': !this.hasPrev()\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n React.createElement(\n 'li',\n {\n title: props.showTitle ? this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n React.createElement('input', {\n type: 'text',\n value: this.state.currentInputValue,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n size: '3'\n }),\n React.createElement(\n 'span',\n { className: prefixCls + '-slash' },\n '\\uFF0F'\n ),\n allPages\n ),\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: (this.hasNext() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': !this.hasNext()\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n gotoButton\n );\n }\n\n if (allPages <= 5 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n };\n if (!allPages) {\n pagerList.push(React.createElement(Pager, _extends({}, pagerProps, {\n key: 'noPager',\n page: allPages,\n className: prefixCls + '-disabled'\n })));\n }\n for (var i = 1; i <= allPages; i++) {\n var active = this.state.current === i;\n pagerList.push(React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = props.showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = props.showLessItems ? locale.next_3 : locale.next_5;\n if (props.showPrevNextJumpers) {\n var jumpPrevClassString = prefixCls + '-jump-prev';\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ' ' + prefixCls + '-jump-prev-custom-icon';\n }\n jumpPrev = React.createElement(\n 'li',\n {\n title: props.showTitle ? prevItemTitle : null,\n key: 'prev',\n onClick: this.jumpPrev,\n tabIndex: '0',\n onKeyPress: this.runIfEnterJumpPrev,\n className: jumpPrevClassString\n },\n props.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(props.jumpPrevIcon))\n );\n var jumpNextClassString = prefixCls + '-jump-next';\n if (props.jumpNextIcon) {\n jumpNextClassString += ' ' + prefixCls + '-jump-next-custom-icon';\n }\n jumpNext = React.createElement(\n 'li',\n {\n title: props.showTitle ? nextItemTitle : null,\n key: 'next',\n tabIndex: '0',\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: jumpNextClassString\n },\n props.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(props.jumpNextIcon))\n );\n }\n lastPager = React.createElement(Pager, {\n locale: props.locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n firstPager = React.createElement(Pager, {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i++) {\n var _active = current === _i;\n pagerList.push(React.createElement(Pager, {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n }));\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = React.cloneElement(pagerList[0], {\n className: prefixCls + '-item-after-jump-prev'\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = React.cloneElement(pagerList[pagerList.length - 1], {\n className: prefixCls + '-item-before-jump-next'\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (props.showTotal) {\n totalText = React.createElement(\n 'li',\n { className: prefixCls + '-total-text' },\n props.showTotal(props.total, [(current - 1) * pageSize + 1, current * pageSize > props.total ? props.total : current * pageSize])\n );\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return React.createElement(\n 'ul',\n _extends({\n className: prefixCls + ' ' + props.className,\n style: props.style,\n unselectable: 'unselectable',\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n totalText,\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: (!prevDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': prevDisabled\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n pagerList,\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: (!nextDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': nextDisabled\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n React.createElement(Options, {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: props.selectComponentClass,\n selectPrefixCls: props.selectPrefixCls,\n changeSize: this.props.showSizeChanger ? this.changePageSize : null,\n current: this.state.current,\n pageSize: this.state.pageSize,\n pageSizeOptions: this.props.pageSizeOptions,\n quickGo: this.props.showQuickJumper ? this.handleChange : null,\n goButton: goButton\n })\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n\n if ('current' in props) {\n newState.current = props.current;\n\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n\n return newState;\n }\n\n /**\n * computed icon node that need to be rendered.\n * @param {React.ReactNode | React.ComponentType} icon received icon.\n * @returns {React.ReactNode}\n */\n\n }]);\n\n return Pagination;\n}(React.Component);\n\nPagination.propTypes = {\n prefixCls: PropTypes.string,\n current: PropTypes.number,\n defaultCurrent: PropTypes.number,\n total: PropTypes.number,\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number,\n onChange: PropTypes.func,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n showLessItems: PropTypes.bool,\n onShowSizeChange: PropTypes.func,\n selectComponentClass: PropTypes.func,\n showPrevNextJumpers: PropTypes.bool,\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n showTitle: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n showTotal: PropTypes.func,\n locale: PropTypes.object,\n style: PropTypes.object,\n itemRender: PropTypes.func,\n prevIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n nextIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n jumpPrevIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n jumpNextIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node])\n};\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showSizeChanger: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.getJumpPrevPage = function () {\n return Math.max(1, _this2.state.current - (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this2.state, _this2.props), _this2.state.current + (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getItemIcon = function (icon) {\n var prefixCls = _this2.props.prefixCls;\n\n var iconNode = icon || React.createElement('a', { className: prefixCls + '-item-link' });\n if (typeof icon === 'function') {\n iconNode = React.createElement(icon, _extends({}, _this2.props));\n }\n return iconNode;\n };\n\n this.savePaginationNode = function (node) {\n _this2.paginationNode = node;\n };\n\n this.isValid = function (page) {\n return isInteger(page) && page >= 1 && page !== _this2.state.current;\n };\n\n this.handleKeyDown = function (e) {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n this.handleKeyUp = function (e) {\n var inputValue = e.target.value;\n var currentInputValue = _this2.state.currentInputValue;\n var value = void 0;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else {\n value = Number(inputValue);\n }\n\n if (value !== currentInputValue) {\n _this2.setState({\n currentInputValue: value\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n _this2.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n _this2.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n _this2.handleChange(value + 1);\n }\n };\n\n this.changePageSize = function (size) {\n var current = _this2.state.current;\n var newCurrent = calculatePage(size, _this2.state, _this2.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = _this2.state.current;\n }\n\n if (typeof size === 'number') {\n if (!('pageSize' in _this2.props)) {\n _this2.setState({\n pageSize: size\n });\n }\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this2.props.onShowSizeChange(current, size);\n };\n\n this.handleChange = function (p) {\n var page = p;\n if (_this2.isValid(page)) {\n var currentPage = calculatePage(undefined, _this2.state, _this2.props);\n if (page > currentPage) {\n page = currentPage;\n }\n\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: page,\n currentInputValue: page\n });\n }\n\n var pageSize = _this2.state.pageSize;\n _this2.props.onChange(page, pageSize);\n\n return page;\n }\n\n return _this2.state.current;\n };\n\n this.prev = function () {\n if (_this2.hasPrev()) {\n _this2.handleChange(_this2.state.current - 1);\n }\n };\n\n this.next = function () {\n if (_this2.hasNext()) {\n _this2.handleChange(_this2.state.current + 1);\n }\n };\n\n this.jumpPrev = function () {\n _this2.handleChange(_this2.getJumpPrevPage());\n };\n\n this.jumpNext = function () {\n _this2.handleChange(_this2.getJumpNextPage());\n };\n\n this.hasPrev = function () {\n return _this2.state.current > 1;\n };\n\n this.hasNext = function () {\n return _this2.state.current < calculatePage(undefined, _this2.state, _this2.props);\n };\n\n this.runIfEnter = function (event, callback) {\n for (var _len = arguments.length, restParams = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n if (event.key === 'Enter' || event.charCode === 13) {\n callback.apply(undefined, restParams);\n }\n };\n\n this.runIfEnterPrev = function (e) {\n _this2.runIfEnter(e, _this2.prev);\n };\n\n this.runIfEnterNext = function (e) {\n _this2.runIfEnter(e, _this2.next);\n };\n\n this.runIfEnterJumpPrev = function (e) {\n _this2.runIfEnter(e, _this2.jumpPrev);\n };\n\n this.runIfEnterJumpNext = function (e) {\n _this2.runIfEnter(e, _this2.jumpNext);\n };\n\n this.handleGoTO = function (e) {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this2.handleChange(_this2.state.currentInputValue);\n }\n };\n};\n\npolyfill(Pagination);\n\nexport default Pagination;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/Pagination.js\n// module id = 834\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/assign.js\n// module id = 835\n// module chunks = 33","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/assign.js\n// module id = 836\n// module chunks = 33","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.assign.js\n// module id = 837\n// module chunks = 33","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_object-assign.js\n// module id = 838\n// module chunks = 33","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/define-property.js\n// module id = 839\n// module chunks = 33","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.define-property.js\n// module id = 840\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/symbol/iterator.js\n// module id = 841\n// module chunks = 33","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/symbol/iterator.js\n// module id = 842\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/symbol.js\n// module id = 843\n// module chunks = 33","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/symbol/index.js\n// module id = 844\n// module chunks = 33","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.symbol.js\n// module id = 845\n// module chunks = 33","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_enum-keys.js\n// module id = 846\n// module chunks = 33","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_object-gopn-ext.js\n// module id = 847\n// module chunks = 33","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 848\n// module chunks = 33","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es7.symbol.observable.js\n// module id = 849\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/set-prototype-of.js\n// module id = 850\n// module chunks = 33","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/set-prototype-of.js\n// module id = 851\n// module chunks = 33","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 852\n// module chunks = 33","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_set-proto.js\n// module id = 853\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/create.js\n// module id = 854\n// module chunks = 33","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/create.js\n// module id = 855\n// module chunks = 33","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.create.js\n// module id = 856\n// module chunks = 33","import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Pager = function Pager(props) {\n var prefixCls = props.rootPrefixCls + '-item';\n var cls = prefixCls + ' ' + prefixCls + '-' + props.page;\n\n if (props.active) {\n cls = cls + ' ' + prefixCls + '-active';\n }\n\n if (props.className) {\n cls = cls + ' ' + props.className;\n }\n\n if (!props.page) {\n cls = cls + ' ' + prefixCls + '-disabled';\n }\n\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return React.createElement(\n 'li',\n {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: '0'\n },\n props.itemRender(props.page, 'page', React.createElement(\n 'a',\n null,\n props.page\n ))\n );\n};\n\nPager.propTypes = {\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n className: PropTypes.string,\n showTitle: PropTypes.bool,\n rootPrefixCls: PropTypes.string,\n onClick: PropTypes.func,\n onKeyPress: PropTypes.func,\n itemRender: PropTypes.func\n};\n\nexport default Pager;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/Pager.js\n// module id = 857\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport KEYCODE from './KeyCode';\n\nvar Options = function (_React$Component) {\n _inherits(Options, _React$Component);\n\n function Options(props) {\n _classCallCheck(this, Options);\n\n var _this = _possibleConstructorReturn(this, (Options.__proto__ || Object.getPrototypeOf(Options)).call(this, props));\n\n _this.buildOptionText = function (value) {\n return value + ' ' + _this.props.locale.items_per_page;\n };\n\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n\n _this.go = function (e) {\n var val = _this.state.goInputText;\n if (val === '') {\n return;\n }\n val = isNaN(val) ? _this.props.current : Number(val);\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(val);\n }\n };\n\n _this.state = {\n goInputText: ''\n };\n return _this;\n }\n\n _createClass(Options, [{\n key: 'render',\n value: function render() {\n var props = this.props;\n var state = this.state;\n var locale = props.locale;\n var prefixCls = props.rootPrefixCls + '-options';\n var changeSize = props.changeSize;\n var quickGo = props.quickGo;\n var goButton = props.goButton;\n var buildOptionText = props.buildOptionText || this.buildOptionText;\n var Select = props.selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!(changeSize || quickGo)) {\n return null;\n }\n\n if (changeSize && Select) {\n var Option = Select.Option;\n var pageSize = props.pageSize || props.pageSizeOptions[0];\n var options = props.pageSizeOptions.map(function (opt, i) {\n return React.createElement(\n Option,\n { key: i, value: opt },\n buildOptionText(opt)\n );\n });\n\n changeSelect = React.createElement(\n Select,\n {\n prefixCls: props.selectPrefixCls,\n showSearch: false,\n className: prefixCls + '-size-changer',\n optionLabelProp: 'children',\n dropdownMatchSelectWidth: false,\n value: pageSize.toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n },\n options\n );\n }\n\n if (quickGo) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = React.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.go,\n onKeyUp: this.go\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = React.createElement(\n 'span',\n {\n onClick: this.go,\n onKeyUp: this.go\n },\n goButton\n );\n }\n }\n goInput = React.createElement(\n 'div',\n { className: prefixCls + '-quick-jumper' },\n locale.jump_to,\n React.createElement('input', {\n type: 'text',\n value: state.goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go\n }),\n locale.page,\n gotoButton\n );\n }\n\n return React.createElement(\n 'li',\n { className: '' + prefixCls },\n changeSelect,\n goInput\n );\n }\n }]);\n\n return Options;\n}(React.Component);\n\nOptions.propTypes = {\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.func,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object\n};\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '30', '40']\n};\n\n\nexport default Options;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/Options.js\n// module id = 858\n// module chunks = 33","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/locale/zh_CN.js\n// module id = 859\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _debounce = _interopRequireDefault(require(\"lodash/debounce\"));\n\nvar _reactEventListener = _interopRequireDefault(require(\"react-event-listener\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar ROWS_HEIGHT = 19;\nvar styles = {\n root: {\n position: 'relative',\n // because the shadow has position: 'absolute',\n width: '100%'\n },\n textarea: {\n width: '100%',\n height: '100%',\n resize: 'none',\n font: 'inherit',\n padding: 0,\n cursor: 'inherit',\n boxSizing: 'border-box',\n lineHeight: 'inherit',\n border: 'none',\n outline: 'none',\n background: 'transparent'\n },\n shadow: {\n resize: 'none',\n // Overflow also needed to here to remove the extra row\n // added to textareas in Firefox.\n overflow: 'hidden',\n // Visibility needed to hide the extra text area on ipads\n visibility: 'hidden',\n position: 'absolute',\n height: 'auto',\n whiteSpace: 'pre-wrap'\n }\n};\n/**\n * @ignore - internal component.\n */\n\nexports.styles = styles;\n\nvar Textarea =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Textarea, _React$Component);\n\n function Textarea(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Textarea);\n _this = (0, _possibleConstructorReturn2.default)(this, (Textarea.__proto__ || (0, _getPrototypeOf.default)(Textarea)).call(this, props, context)); // expects the components it renders to respond to 'value'\n // so that it can check whether they are filled.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n height: null\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"shadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"singlelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"input\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"value\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n _this.syncHeightWithShadow();\n }, 166)\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefInput\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.input = node;\n\n if (_this.props.textareaRef) {\n _this.props.textareaRef(node);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefSinglelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.singlelineShadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.shadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleChange\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.value = event.target.value;\n\n if (typeof _this.props.value === 'undefined' && _this.shadow) {\n // The component is not controlled, we need to update the shallow value.\n _this.shadow.value = _this.value;\n\n _this.syncHeightWithShadow();\n }\n\n if (_this.props.onChange) {\n _this.props.onChange(event);\n }\n }\n });\n _this.value = props.value || props.defaultValue || '';\n _this.state = {\n height: Number(props.rows) * ROWS_HEIGHT\n };\n return _this;\n }\n\n (0, _createClass2.default)(Textarea, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleResize.cancel();\n }\n }, {\n key: \"syncHeightWithShadow\",\n // Corresponds to 10 frames at 60 Hz.\n value: function syncHeightWithShadow() {\n var props = this.props;\n\n if (!this.shadow || !this.singlelineShadow) {\n return;\n } // The component is controlled, we need to update the shallow value.\n\n\n if (typeof props.value !== 'undefined') {\n this.shadow.value = props.value == null ? '' : String(props.value);\n }\n\n var lineHeight = this.singlelineShadow.scrollHeight;\n var newHeight = this.shadow.scrollHeight; // Guarding for jsdom, where scrollHeight isn't present.\n // See https://github.com/tmpvar/jsdom/issues/1013\n\n if (newHeight === undefined) {\n return;\n }\n\n if (Number(props.rowsMax) >= Number(props.rows)) {\n newHeight = Math.min(Number(props.rowsMax) * lineHeight, newHeight);\n }\n\n newHeight = Math.max(newHeight, lineHeight); // Need a large enough different to update the height.\n // This prevents infinite rendering loop.\n\n if (Math.abs(this.state.height - newHeight) > 1) {\n this.setState({\n height: newHeight\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n defaultValue = _props.defaultValue,\n onChange = _props.onChange,\n rows = _props.rows,\n rowsMax = _props.rowsMax,\n textareaRef = _props.textareaRef,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"defaultValue\", \"onChange\", \"rows\", \"rowsMax\", \"textareaRef\", \"value\"]);\n return _react.default.createElement(\"div\", {\n className: classes.root,\n style: {\n height: this.state.height\n }\n }, _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefSinglelineShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: \"1\",\n readOnly: true,\n \"aria-hidden\": \"true\",\n value: \"\"\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: rows,\n \"aria-hidden\": \"true\",\n readOnly: true,\n defaultValue: defaultValue,\n value: value\n }), _react.default.createElement(\"textarea\", (0, _extends2.default)({\n rows: rows,\n className: (0, _classnames.default)(classes.textarea, className),\n defaultValue: defaultValue,\n value: value,\n onChange: this.handleChange,\n ref: this.handleRefInput\n }, other)));\n }\n }]);\n return Textarea;\n}(_react.default.Component);\n\nTextarea.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * @ignore\n */\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * @ignore\n */\n disabled: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onChange: _propTypes.default.func,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n rowsMax: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Use that property to pass a ref callback to the native textarea element.\n */\n textareaRef: _propTypes.default.func,\n\n /**\n * @ignore\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])\n} : {};\nTextarea.defaultProps = {\n rows: 1\n};\n\nvar _default = (0, _withStyles.default)(styles)(Textarea);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Input/Textarea.js\n// module id = 861\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n maxHeight: '2em',\n alignItems: 'center'\n },\n positionStart: {\n marginRight: theme.spacing.unit\n },\n positionEnd: {\n marginLeft: theme.spacing.unit\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputAdornment(props) {\n var _classNames;\n\n var children = props.children,\n Component = props.component,\n classes = props.classes,\n className = props.className,\n disableTypography = props.disableTypography,\n position = props.position,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"component\", \"classes\", \"className\", \"disableTypography\", \"position\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positionStart, position === 'start'), (0, _defineProperty2.default)(_classNames, classes.positionEnd, position === 'end'), _classNames), className)\n }, other), typeof children === 'string' && !disableTypography ? _react.default.createElement(_Typography.default, {\n color: \"textSecondary\"\n }, children) : children);\n}\n\nInputAdornment.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: _propTypes.default.oneOf(['start', 'end'])\n} : {};\nInputAdornment.defaultProps = {\n component: 'div',\n disableTypography: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputAdornment'\n})(InputAdornment);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Input/InputAdornment.js\n// module id = 862\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Form = require(\"../Form\");\n\n// @inheritedComponent FormLabel\nvar styles = function styles(theme) {\n return {\n root: {\n transformOrigin: 'top left'\n },\n formControl: {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: \"translate(0, \".concat(theme.spacing.unit * 3, \"px) scale(1)\")\n },\n marginDense: {\n // Compensation for the `Input.inputDense` style.\n transform: \"translate(0, \".concat(theme.spacing.unit * 2.5 + 1, \"px) scale(1)\")\n },\n shrink: {\n transform: 'translate(0, 1.5px) scale(0.75)',\n transformOrigin: 'top left'\n },\n animated: {\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableAnimation = props.disableAnimation,\n FormLabelClasses = props.FormLabelClasses,\n marginProp = props.margin,\n shrinkProp = props.shrink,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableAnimation\", \"FormLabelClasses\", \"margin\", \"shrink\"]);\n var muiFormControl = context.muiFormControl;\n var shrink = shrinkProp;\n\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n\n var margin = marginProp;\n\n if (typeof margin === 'undefined' && muiFormControl) {\n margin = muiFormControl.margin;\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.formControl, muiFormControl), (0, _defineProperty2.default)(_classNames, classes.animated, !disableAnimation), (0, _defineProperty2.default)(_classNames, classes.shrink, shrink), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(_Form.FormLabel, (0, _extends2.default)({\n \"data-shrink\": shrink,\n className: className,\n classes: FormLabelClasses\n }, other), children);\n}\n\nInputLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The contents of the `InputLabel`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the transition animation is disabled.\n */\n disableAnimation: _propTypes.default.bool,\n\n /**\n * If `true`, apply disabled class.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label will be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused.\n */\n focused: _propTypes.default.bool,\n\n /**\n * `classes` property applied to the `FormLabel` element.\n */\n FormLabelClasses: _propTypes.default.object,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense']),\n\n /**\n * if `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool,\n\n /**\n * If `true`, the label is shrunk.\n */\n shrink: _propTypes.default.bool\n} : {};\nInputLabel.defaultProps = {\n disableAnimation: false\n};\nInputLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputLabel'\n})(InputLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Input/InputLabel.js\n// module id = 863\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(16),\n lineHeight: 1,\n padding: 0,\n '&$focused': {\n color: theme.palette.primary[theme.palette.type === 'light' ? 'dark' : 'light']\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n },\n '&$error': {\n color: theme.palette.error.main\n }\n },\n focused: {},\n disabled: {},\n error: {},\n asterisk: {\n '&$error': {\n color: theme.palette.error.main\n }\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n disabledProp = props.disabled,\n errorProp = props.error,\n focusedProp = props.focused,\n requiredProp = props.required,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"component\", \"disabled\", \"error\", \"focused\", \"required\"]);\n var muiFormControl = context.muiFormControl;\n var required = requiredProp;\n var focused = focusedProp;\n var disabled = disabledProp;\n var error = errorProp;\n\n if (muiFormControl) {\n if (typeof required === 'undefined') {\n required = muiFormControl.required;\n }\n\n if (typeof focused === 'undefined') {\n focused = muiFormControl.focused;\n }\n\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), children, required && _react.default.createElement(\"span\", {\n className: (0, _classnames.default)(classes.asterisk, (0, _defineProperty2.default)({}, classes.error, error))\n }, \"\\u2009*\"));\n}\n\nFormLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: _propTypes.default.bool,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormLabel.defaultProps = {\n component: 'label'\n};\nFormLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormLabel'\n})(FormLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormLabel.js\n// module id = 864\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Input = require(\"../Input/Input\");\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar _reactHelpers = require(\"../utils/reactHelpers\");\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0\n },\n marginNormal: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit\n },\n marginDense: {\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit / 2\n },\n fullWidth: {\n width: '100%'\n }\n };\n};\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibilty and ensures that the state always stay\n * consitent across the children of the `FormControl`.\n * This context is used by the following components:\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n */\n\n\nexports.styles = styles;\n\nvar FormControl =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(FormControl, _React$Component);\n\n function FormControl(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, FormControl);\n _this = (0, _possibleConstructorReturn2.default)(this, (FormControl.__proto__ || (0, _getPrototypeOf.default)(FormControl)).call(this, props, context)); // We need to iterate through the children and find the Input in order\n // to fully support server side rendering.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n adornedStart: false,\n filled: false,\n focused: false\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState(function (state) {\n return !state.focused ? {\n focused: true\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // The event might be undefined.\n // For instance, a child component might call this hook\n // when an input is disabled but still having the focus.\n if (_this.props.onBlur && event) {\n _this.props.onBlur(event);\n }\n\n _this.setState(function (state) {\n return state.focused ? {\n focused: false\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDirty\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (!_this.state.filled) {\n _this.setState({\n filled: true\n });\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClean\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.state.filled) {\n _this.setState({\n filled: false\n });\n }\n }\n });\n var children = _this.props.children;\n\n if (children) {\n _react.default.Children.forEach(children, function (child) {\n if (!(0, _reactHelpers.isMuiElement)(child, ['Input', 'Select'])) {\n return;\n }\n\n if ((0, _Input.isFilled)(child.props, true)) {\n _this.state.filled = true;\n }\n\n var input = (0, _reactHelpers.isMuiElement)(child, ['Select']) ? child.props.input : child;\n\n if (input && (0, _Input.isAdornedStart)(input.props)) {\n _this.state.adornedStart = true;\n }\n });\n }\n\n return _this;\n }\n\n (0, _createClass2.default)(FormControl, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _props = this.props,\n disabled = _props.disabled,\n error = _props.error,\n required = _props.required,\n margin = _props.margin;\n var _state = this.state,\n adornedStart = _state.adornedStart,\n filled = _state.filled,\n focused = _state.focused;\n return {\n muiFormControl: {\n adornedStart: adornedStart,\n disabled: disabled,\n error: error,\n filled: filled,\n focused: focused,\n margin: margin,\n onBlur: this.handleBlur,\n onEmpty: this.handleClean,\n onFilled: this.handleDirty,\n onFocus: this.handleFocus,\n required: required\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props2 = this.props,\n classes = _props2.classes,\n className = _props2.className,\n Component = _props2.component,\n disabled = _props2.disabled,\n error = _props2.error,\n fullWidth = _props2.fullWidth,\n margin = _props2.margin,\n required = _props2.required,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"classes\", \"className\", \"component\", \"disabled\", \"error\", \"fullWidth\", \"margin\", \"required\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"margin\".concat((0, _helpers.capitalize)(margin))], margin !== 'none'), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), className)\n }, other, {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }));\n }\n }]);\n return FormControl;\n}(_react.default.Component);\n\nFormControl.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The contents of the form control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the component will take up the full width of its container.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n */\n margin: _propTypes.default.oneOf(['none', 'dense', 'normal']),\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormControl.defaultProps = {\n component: 'div',\n disabled: false,\n error: false,\n fullWidth: false,\n margin: 'none',\n required: false\n};\nFormControl.childContextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControl'\n})(FormControl);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormControl.js\n// module id = 865\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(12),\n textAlign: 'left',\n marginTop: theme.spacing.unit,\n lineHeight: '1em',\n minHeight: '1em',\n margin: 0,\n '&$error': {\n color: theme.palette.error.main\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n },\n error: {},\n disabled: {},\n marginDense: {\n marginTop: theme.spacing.unit / 2\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormHelperText(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n disabledProp = props.disabled,\n errorProp = props.error,\n marginProp = props.margin,\n Component = props.component,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"disabled\", \"error\", \"margin\", \"component\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n var error = errorProp;\n var margin = marginProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n\n if (typeof margin === 'undefined') {\n margin = muiFormControl.margin;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nFormHelperText.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense'])\n} : {};\nFormHelperText.defaultProps = {\n component: 'p'\n};\nFormHelperText.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormHelperText'\n})(FormHelperText);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormHelperText.js\n// module id = 866\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\n/* eslint-disable jsx-a11y/label-has-for */\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n // Remove grey highlight\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -14,\n marginRight: theme.spacing.unit * 2,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n disabled: {},\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\n\nexports.styles = styles;\n\nfunction FormControlLabel(props, context) {\n var checked = props.checked,\n classes = props.classes,\n classNameProp = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0, _objectWithoutProperties2.default)(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"name\", \"onChange\", \"value\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n\n if (typeof control.props.disabled !== 'undefined') {\n if (typeof disabled === 'undefined') {\n disabled = control.props.disabled;\n }\n }\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp);\n return _react.default.createElement(\"label\", (0, _extends2.default)({\n className: className\n }, other), _react.default.cloneElement(control, {\n disabled: disabled,\n checked: typeof control.props.checked === 'undefined' ? checked : control.props.checked,\n name: control.props.name || name,\n onChange: control.props.onChange || onChange,\n value: control.props.value || value,\n inputRef: control.props.inputRef || inputRef\n }), _react.default.createElement(_Typography.default, {\n component: \"span\",\n className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.disabled, disabled))\n }, label));\n}\n\nFormControlLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If `true`, the component appears selected.\n */\n checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: _propTypes.default.element,\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * Use that property to pass a ref callback to the native input component.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: _propTypes.default.node,\n\n /*\n * @ignore\n */\n name: _propTypes.default.string,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.checked`.\n * @param {boolean} checked The `checked` value of the switch\n */\n onChange: _propTypes.default.func,\n\n /**\n * The value of the component.\n */\n value: _propTypes.default.string\n} : {};\nFormControlLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormControlLabel.js\n// module id = 867\n// module chunks = 33","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router';\r\n\r\nimport { BrowserRouter as Router, Route, Link, Switch } from \"react-router-dom\";\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nimport classNames from 'classnames'\r\n\r\nconst $ = window.$;\r\nconst _origin = window.location.origin;\r\n\r\nclass CommentItemKEEditor extends Component {\r\n\r\n\tcomponentDidUpdate(prevProps) {\r\n\t\tconst { item, currentReplyComment } = this.props;\r\n\t\tif ( prevProps.showReplyEditorFlag != this.props.showReplyEditorFlag && \r\n\t\t\tcurrentReplyComment && currentReplyComment.id == item.id ) {\r\n\t\t\tthis.showOrHideEditor(currentReplyComment)\r\n\t\t}\r\n\t}\r\n\t// 如果未初始化,会先初始化\r\n\tshowOrHideEditor = (comment) => {\r\n\t\tconst { user } = this.props;\r\n\t\tconsole.log('initReply ', comment)\r\n\r\n\t\tconst $ = window.$;\r\n\t\tvar id = comment.id\r\n\t\tvar reply_message_el = `#reply_message_${id}`\r\n\t\tvar reply_iconup_el = `#reply_iconup_${id}`\r\n\t\tif($(reply_message_el).html() == \"\") {\r\n\t\t $(\".reply_to_message\").html(\"\");\r\n\t\t $(reply_message_el).html(`
    \\n
    \\\"0?1442652658\\\"<\\/a><\\/div>\\n
    \\n
    \\n
    <\\/div>\\n \\n
    <\\/div>\\n \r\n\t \t
    \r\n\t \t
    调整高度
    \r\n\r\n\t\t \t
    \r\n\t\t 发送\r\n\t\t \t\r\n\t\t
    \r\n\t
    \r\n \t);\r\n \t}\r\n}\r\n\r\nexport default ( CommentItemMDEditor );\r\n\r\n// style={{ margin: '10px 44px', marginBottom: '0px'}}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/comment/CommentItemMDEditor.js","module.exports = __webpack_public_path__ + \"static/media/message.a7af2a8f.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/tpi/message.svg\n// module id = 872\n// module chunks = 33","module.exports = __webpack_public_path__ + \"static/media/messagegrey.8c1dff55.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/tpi/messagegrey.svg\n// module id = 873\n// module chunks = 33","'use strict';\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar xtend = require('xtend');\nvar unified = require('unified');\nvar parse = require('remark-parse');\nvar PropTypes = require('prop-types');\nvar addListMetadata = require('mdast-add-list-metadata');\nvar naiveHtml = require('./plugins/naive-html');\nvar disallowNode = require('./plugins/disallow-node');\nvar astToReact = require('./ast-to-react');\nvar wrapTableRows = require('./wrap-table-rows');\nvar getDefinitions = require('./get-definitions');\nvar uriTransformer = require('./uriTransformer');\nvar defaultRenderers = require('./renderers');\n\nvar allTypes = Object.keys(defaultRenderers);\n\nvar ReactMarkdown = function ReactMarkdown(props) {\n var src = props.source || props.children || '';\n\n if (props.allowedTypes && props.disallowedTypes) {\n throw new Error('Only one of `allowedTypes` and `disallowedTypes` should be defined');\n }\n\n var renderers = xtend(defaultRenderers, props.renderers);\n\n var plugins = [parse].concat(props.plugins || []);\n var parser = plugins.reduce(applyParserPlugin, unified());\n\n var rawAst = parser.parse(src);\n var renderProps = xtend(props, {\n renderers: renderers,\n definitions: getDefinitions(rawAst)\n });\n\n var astPlugins = determineAstPlugins(props);\n var ast = astPlugins.reduce(function (node, plugin) {\n return plugin(node, renderProps);\n }, rawAst);\n\n return astToReact(ast, renderProps);\n};\n\nfunction applyParserPlugin(parser, plugin) {\n return Array.isArray(plugin) ? parser.use.apply(parser, _toConsumableArray(plugin)) : parser.use(plugin);\n}\n\nfunction determineAstPlugins(props) {\n var plugins = [wrapTableRows, addListMetadata()];\n\n var disallowedTypes = props.disallowedTypes;\n if (props.allowedTypes) {\n disallowedTypes = allTypes.filter(function (type) {\n return type !== 'root' && props.allowedTypes.indexOf(type) === -1;\n });\n }\n\n var removalMethod = props.unwrapDisallowed ? 'unwrap' : 'remove';\n if (disallowedTypes && disallowedTypes.length > 0) {\n plugins.push(disallowNode.ofType(disallowedTypes, removalMethod));\n }\n\n if (props.allowNode) {\n plugins.push(disallowNode.ifNotMatch(props.allowNode, removalMethod));\n }\n\n var renderHtml = !props.escapeHtml && !props.skipHtml;\n if (renderHtml) {\n plugins.push(naiveHtml);\n }\n\n return props.astPlugins ? plugins.concat(props.astPlugins) : plugins;\n}\n\nReactMarkdown.defaultProps = {\n renderers: {},\n escapeHtml: true,\n skipHtml: false,\n sourcePos: false,\n rawSourcePos: false,\n transformLinkUri: uriTransformer,\n astPlugins: [],\n plugins: []\n};\n\nReactMarkdown.propTypes = {\n className: PropTypes.string,\n source: PropTypes.string,\n children: PropTypes.string,\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n escapeHtml: PropTypes.bool,\n skipHtml: PropTypes.bool,\n allowNode: PropTypes.func,\n allowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n disallowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n astPlugins: PropTypes.arrayOf(PropTypes.func),\n unwrapDisallowed: PropTypes.bool,\n renderers: PropTypes.object,\n plugins: PropTypes.array\n};\n\nReactMarkdown.types = allTypes;\nReactMarkdown.renderers = defaultRenderers;\nReactMarkdown.uriTransformer = uriTransformer;\n\nmodule.exports = ReactMarkdown;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/react-markdown.js\n// module id = 874\n// module chunks = 33","'use strict'\n\n/* Dependencies. */\nvar extend = require('extend')\nvar bail = require('bail')\nvar vfile = require('vfile')\nvar trough = require('trough')\nvar string = require('x-is-string')\nvar plain = require('is-plain-obj')\n\n/* Expose a frozen processor. */\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n/* Process pipeline. */\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(err, tree, file) {\n if (err) {\n next(err)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n ctx.file.contents = p.stringify(ctx.tree, ctx.file)\n}\n\n/* Function to create the first processor. */\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var frozen = false\n var freezeIndex = -1\n\n /* Data management. */\n processor.data = data\n\n /* Lock. */\n processor.freeze = freeze\n\n /* Plug-ins. */\n processor.attachers = attachers\n processor.use = use\n\n /* API. */\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n /* Expose. */\n return processor\n\n /* Create a new processor based on the processor\n * in the current scope. */\n function processor() {\n var destination = unified()\n var length = attachers.length\n var index = -1\n\n while (++index < length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /* Freeze: used to signal a processor that has finished\n * configuration.\n *\n * For example, take unified itself. It’s frozen.\n * Plug-ins should not be added to it. Rather, it should\n * be extended, by invoking it, before modifying it.\n *\n * In essence, always invoke this when exporting a\n * processor. */\n function freeze() {\n var values\n var plugin\n var options\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n plugin = values[0]\n options = values[1]\n transformer = null\n\n if (options === false) {\n continue\n }\n\n if (options === true) {\n values[1] = undefined\n }\n\n transformer = plugin.apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n /* Data management.\n * Getter / setter for processor-specific informtion. */\n function data(key, value) {\n if (string(key)) {\n /* Set `key`. */\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n\n namespace[key] = value\n\n return processor\n }\n\n /* Get `key`. */\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n /* Set space. */\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n /* Get space. */\n return namespace\n }\n\n /* Plug-in management.\n *\n * Pass it:\n * * an attacher and options,\n * * a preset,\n * * a list of presets, attachers, and arguments (list\n * of attachers and options). */\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n /* Empty */\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var length\n var index\n\n if (plugins === null || plugins === undefined) {\n /* Empty */\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n length = plugins.length\n index = -1\n\n while (++index < length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var length = attachers.length\n var index = -1\n var entry\n\n while (++index < length) {\n entry = attachers[index]\n\n if (entry[0] === plugin) {\n return entry\n }\n }\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the\n * processor. */\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser)) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), async. */\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(err, tree, file) {\n tree = tree || node\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), sync. */\n function runSync(node, file) {\n var complete = false\n var result\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(err, tree) {\n complete = true\n bail(err)\n result = tree\n }\n }\n\n /* Stringify a Unist node representation of a file\n * (in string or VFile representation) into a string\n * using the `Compiler` on the processor. */\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler)) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the processor,\n * then run transforms on that node, and compile the\n * resulting node using the `Compiler` on the processor,\n * and store that result on the VFile. */\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(err) {\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n /* Process the given document (in string or VFile\n * representation), sync. */\n function processSync(doc) {\n var complete = false\n var file\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(err) {\n complete = true\n bail(err)\n }\n }\n}\n\n/* Check if `func` is a constructor. */\nfunction newable(value) {\n return typeof value === 'function' && keys(value.prototype)\n}\n\n/* Check if `value` is an object with keys. */\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n return false\n}\n\n/* Assert a parser is available. */\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/* Assert a compiler is available. */\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/* Assert the processor is not frozen. */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n [\n 'Cannot invoke `' + name + '` on a frozen processor.\\nCreate a new ',\n 'processor first, by invoking it: use `processor()` instead of ',\n '`processor`.'\n ].join('')\n )\n }\n}\n\n/* Assert `node` is a Unist node. */\nfunction assertNode(node) {\n if (!node || !string(node.type)) {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n/* Assert that `complete` is `true`. */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unified@6.2.0@unified/index.js\n// module id = 875\n// module chunks = 33","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_extend@3.0.2@extend/index.js\n// module id = 876\n// module chunks = 33","'use strict'\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_bail@1.0.3@bail/index.js\n// module id = 877\n// module chunks = 33","'use strict';\n\nvar VMessage = require('vfile-message');\nvar VFile = require('./core.js');\n\nmodule.exports = VFile;\n\nvar proto = VFile.prototype;\n\nproto.message = message;\nproto.info = info;\nproto.fail = fail;\n\n/* Slight backwards compatibility. Remove in the future. */\nproto.warn = message;\n\n/* Create a message with `reason` at `position`.\n * When an error is passed in as `reason`, copies the stack. */\nfunction message(reason, position, origin) {\n var filePath = this.path;\n var message = new VMessage(reason, position, origin);\n\n if (filePath) {\n message.name = filePath + ':' + message.name;\n message.file = filePath;\n }\n\n message.fatal = false;\n\n this.messages.push(message);\n\n return message;\n}\n\n/* Fail. Creates a vmessage, associates it with the file,\n * and throws it. */\nfunction fail() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = true;\n\n throw message;\n}\n\n/* Info. Creates a vmessage, associates it with the file,\n * and marks the fatality as null. */\nfunction info() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = null;\n\n return message;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile@2.3.0@vfile/index.js\n// module id = 878\n// module chunks = 33","'use strict'\n\nvar stringify = require('unist-util-stringify-position')\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile-message@1.1.1@vfile-message/index.js\n// module id = 879\n// module chunks = 33","'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n /* Nothing. */\n if (!value || typeof value !== 'object') {\n return null\n }\n\n /* Node. */\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n /* Position. */\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n /* Point. */\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n /* ? */\n return null\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-stringify-position@1.1.2@unist-util-stringify-position/index.js\n// module id = 880\n// module chunks = 33","'use strict';\n\nvar path = require('path');\nvar replace = require('replace-ext');\nvar buffer = require('is-buffer');\n\nmodule.exports = VFile;\n\nvar own = {}.hasOwnProperty;\nvar proto = VFile.prototype;\n\nproto.toString = toString;\n\n/* Order of setting (least specific to most), we need this because\n * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path\n * is needed before a stem can be set. */\nvar order = [\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n];\n\n/* Construct a new file. */\nfunction VFile(options) {\n var prop;\n var index;\n var length;\n\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options};\n } else if ('message' in options && 'messages' in options) {\n return options;\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options);\n }\n\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = process.cwd();\n\n /* Set path related properties in the correct order. */\n index = -1;\n length = order.length;\n\n while (++index < length) {\n prop = order[index];\n\n if (own.call(options, prop)) {\n this[prop] = options[prop];\n }\n }\n\n /* Set non-path related properties. */\n for (prop in options) {\n if (order.indexOf(prop) === -1) {\n this[prop] = options[prop];\n }\n }\n}\n\n/* Access full path (`~/index.min.js`). */\nObject.defineProperty(proto, 'path', {\n get: function () {\n return this.history[this.history.length - 1];\n },\n set: function (path) {\n assertNonEmpty(path, 'path');\n\n if (path !== this.path) {\n this.history.push(path);\n }\n }\n});\n\n/* Access parent path (`~`). */\nObject.defineProperty(proto, 'dirname', {\n get: function () {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined;\n },\n set: function (dirname) {\n assertPath(this.path, 'dirname');\n this.path = path.join(dirname || '', this.basename);\n }\n});\n\n/* Access basename (`index.min.js`). */\nObject.defineProperty(proto, 'basename', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined;\n },\n set: function (basename) {\n assertNonEmpty(basename, 'basename');\n assertPart(basename, 'basename');\n this.path = path.join(this.dirname || '', basename);\n }\n});\n\n/* Access extname (`.js`). */\nObject.defineProperty(proto, 'extname', {\n get: function () {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined;\n },\n set: function (extname) {\n var ext = extname || '';\n\n assertPart(ext, 'extname');\n assertPath(this.path, 'extname');\n\n if (ext) {\n if (ext.charAt(0) !== '.') {\n throw new Error('`extname` must start with `.`');\n }\n\n if (ext.indexOf('.', 1) !== -1) {\n throw new Error('`extname` cannot contain multiple dots');\n }\n }\n\n this.path = replace(this.path, ext);\n }\n});\n\n/* Access stem (`index.min`). */\nObject.defineProperty(proto, 'stem', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined;\n },\n set: function (stem) {\n assertNonEmpty(stem, 'stem');\n assertPart(stem, 'stem');\n this.path = path.join(this.dirname || '', stem + (this.extname || ''));\n }\n});\n\n/* Get the value of the file. */\nfunction toString(encoding) {\n var value = this.contents || '';\n return buffer(value) ? value.toString(encoding) : String(value);\n}\n\n/* Assert that `part` is not a path (i.e., does\n * not contain `path.sep`). */\nfunction assertPart(part, name) {\n if (part.indexOf(path.sep) !== -1) {\n throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`');\n }\n}\n\n/* Assert that `part` is not empty. */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty');\n }\n}\n\n/* Assert `path` exists. */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too');\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile@2.3.0@vfile/core.js\n// module id = 881\n// module chunks = 33","'use strict';\n\nvar path = require('path');\n\nfunction replaceExt(npath, ext) {\n if (typeof npath !== 'string') {\n return npath;\n }\n\n if (npath.length === 0) {\n return npath;\n }\n\n var nFileName = path.basename(npath, path.extname(npath)) + ext;\n return path.join(path.dirname(npath), nFileName);\n}\n\nmodule.exports = replaceExt;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_replace-ext@1.0.0@replace-ext/index.js\n// module id = 882\n// module chunks = 33","'use strict'\n\nvar wrap = require('./wrap.js')\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n/* Create new middleware. */\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n /* Run `fns`. Last argument must be\n * a completion handler. */\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n /* Run the next `fn`, if any. */\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n /* Copy non-nully input into values. */\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n /* Next or done. */\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n /* Add `fn` to the list. */\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_trough@1.0.3@trough/index.js\n// module id = 883\n// module chunks = 33","'use strict'\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n/* Wrap `fn`. Can be sync or async; return a promise,\n * receive a completion handler, return new values and\n * errors. */\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (err) {\n /* Well, this is quite the pickle. `fn` received\n * a callback and invoked it (thus continuing the\n * pipeline), but later also threw an error.\n * We’re not about to restart the pipeline again,\n * so the only thing left to do is to throw the\n * thing instea. */\n if (callback && invoked) {\n throw err\n }\n\n return done(err)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /* Invoke `next`, only once. */\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n /* Invoke `done` with one value.\n * Tracks if an error is passed, too. */\n function then(value) {\n done(null, value)\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_trough@1.0.3@trough/wrap.js\n// module id = 884\n// module chunks = 33","var toString = Object.prototype.toString\n\nmodule.exports = isString\n\nfunction isString(obj) {\n return toString.call(obj) === \"[object String]\"\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_x-is-string@0.1.0@x-is-string/index.js\n// module id = 885\n// module chunks = 33","'use strict';\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-plain-obj@1.1.0@is-plain-obj/index.js\n// module id = 886\n// module chunks = 33","'use strict';\n\nvar unherit = require('unherit');\nvar xtend = require('xtend');\nvar Parser = require('./lib/parser.js');\n\nmodule.exports = parse;\nparse.Parser = Parser;\n\nfunction parse(options) {\n var Local = unherit(Parser);\n Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options);\n this.Parser = Local;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/index.js\n// module id = 887\n// module chunks = 33","'use strict'\n\nvar xtend = require('xtend')\nvar inherits = require('inherits')\n\nmodule.exports = unherit\n\n/* Create a custom constructor which can be modified\n * without affecting the original class. */\nfunction unherit(Super) {\n var result\n var key\n var value\n\n inherits(Of, Super)\n inherits(From, Of)\n\n /* Clone values. */\n result = Of.prototype\n\n for (key in result) {\n value = result[key]\n\n if (value && typeof value === 'object') {\n result[key] = 'concat' in value ? value.concat() : xtend(value)\n }\n }\n\n return Of\n\n /* Constructor accepting a single argument,\n * which itself is an `arguments` object. */\n function From(parameters) {\n return Super.apply(this, parameters)\n }\n\n /* Constructor accepting variadic arguments. */\n function Of() {\n if (!(this instanceof Of)) {\n return new From(arguments)\n }\n\n return Super.apply(this, arguments)\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unherit@1.1.1@unherit/index.js\n// module id = 888\n// module chunks = 33","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_inherits@2.0.3@inherits/inherits_browser.js\n// module id = 889\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar toggle = require('state-toggle');\nvar vfileLocation = require('vfile-location');\nvar unescape = require('./unescape');\nvar decode = require('./decode');\nvar tokenizer = require('./tokenizer');\n\nmodule.exports = Parser;\n\nfunction Parser(doc, file) {\n this.file = file;\n this.offset = {};\n this.options = xtend(this.options);\n this.setOptions({});\n\n this.inList = false;\n this.inBlock = false;\n this.inLink = false;\n this.atStart = true;\n\n this.toOffset = vfileLocation(file).toOffset;\n this.unescape = unescape(this, 'escape');\n this.decode = decode(this);\n}\n\nvar proto = Parser.prototype;\n\n/* Expose core. */\nproto.setOptions = require('./set-options');\nproto.parse = require('./parse');\n\n/* Expose `defaults`. */\nproto.options = require('./defaults');\n\n/* Enter and exit helpers. */\nproto.exitStart = toggle('atStart', true);\nproto.enterList = toggle('inList', false);\nproto.enterLink = toggle('inLink', false);\nproto.enterBlock = toggle('inBlock', false);\n\n/* Nodes that can interupt a paragraph:\n *\n * ```markdown\n * A paragraph, followed by a thematic break.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the paragraph. */\nproto.interruptParagraph = [\n ['thematicBreak'],\n ['atxHeading'],\n ['fencedCode'],\n ['blockquote'],\n ['html'],\n ['setextHeading', {commonmark: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a list:\n *\n * ```markdown\n * - One\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the list. */\nproto.interruptList = [\n ['atxHeading', {pedantic: false}],\n ['fencedCode', {pedantic: false}],\n ['thematicBreak', {pedantic: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a blockquote:\n *\n * ```markdown\n * > A paragraph.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the blockquote. */\nproto.interruptBlockquote = [\n ['indentedCode', {commonmark: true}],\n ['fencedCode', {commonmark: true}],\n ['atxHeading', {commonmark: true}],\n ['setextHeading', {commonmark: true}],\n ['thematicBreak', {commonmark: true}],\n ['html', {commonmark: true}],\n ['list', {commonmark: true}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Handlers. */\nproto.blockTokenizers = {\n newline: require('./tokenize/newline'),\n indentedCode: require('./tokenize/code-indented'),\n fencedCode: require('./tokenize/code-fenced'),\n blockquote: require('./tokenize/blockquote'),\n atxHeading: require('./tokenize/heading-atx'),\n thematicBreak: require('./tokenize/thematic-break'),\n list: require('./tokenize/list'),\n setextHeading: require('./tokenize/heading-setext'),\n html: require('./tokenize/html-block'),\n footnote: require('./tokenize/footnote-definition'),\n definition: require('./tokenize/definition'),\n table: require('./tokenize/table'),\n paragraph: require('./tokenize/paragraph')\n};\n\nproto.inlineTokenizers = {\n escape: require('./tokenize/escape'),\n autoLink: require('./tokenize/auto-link'),\n url: require('./tokenize/url'),\n html: require('./tokenize/html-inline'),\n link: require('./tokenize/link'),\n reference: require('./tokenize/reference'),\n strong: require('./tokenize/strong'),\n emphasis: require('./tokenize/emphasis'),\n deletion: require('./tokenize/delete'),\n code: require('./tokenize/code-inline'),\n break: require('./tokenize/break'),\n text: require('./tokenize/text')\n};\n\n/* Expose precedence. */\nproto.blockMethods = keys(proto.blockTokenizers);\nproto.inlineMethods = keys(proto.inlineTokenizers);\n\n/* Tokenizers. */\nproto.tokenizeBlock = tokenizer('block');\nproto.tokenizeInline = tokenizer('inline');\nproto.tokenizeFactory = tokenizer;\n\n/* Get all keys in `value`. */\nfunction keys(value) {\n var result = [];\n var key;\n\n for (key in value) {\n result.push(key);\n }\n\n return result;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/parser.js\n// module id = 890\n// module chunks = 33","'use strict'\n\nmodule.exports = factory\n\n/* Construct a state `toggler`: a function which inverses\n * `property` in context based on its current value.\n * The by `toggler` returned function restores that value. */\nfunction factory(key, state, ctx) {\n return enter\n\n function enter() {\n var context = ctx || this\n var current = context[key]\n\n context[key] = !state\n\n return exit\n\n function exit() {\n context[key] = current\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_state-toggle@1.0.1@state-toggle/index.js\n// module id = 891\n// module chunks = 33","'use strict'\n\nmodule.exports = factory\n\nfunction factory(file) {\n var contents = indices(String(file))\n\n return {\n toPosition: offsetToPositionFactory(contents),\n toOffset: positionToOffsetFactory(contents)\n }\n}\n\n// Factory to get the line and column-based `position` for `offset` in the bound\n// indices.\nfunction offsetToPositionFactory(indices) {\n return offsetToPosition\n\n // Get the line and column-based `position` for `offset` in the bound indices.\n function offsetToPosition(offset) {\n var index = -1\n var length = indices.length\n\n if (offset < 0) {\n return {}\n }\n\n while (++index < length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset: offset\n }\n }\n }\n\n return {}\n }\n}\n\n// Factory to get the `offset` for a line and column-based `position` in the\n// bound indices.\nfunction positionToOffsetFactory(indices) {\n return positionToOffset\n\n // Get the `offset` for a line and column-based `position` in the bound\n // indices.\n function positionToOffset(position) {\n var line = position && position.line\n var column = position && position.column\n\n if (!isNaN(line) && !isNaN(column) && line - 1 in indices) {\n return (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return -1\n }\n}\n\n// Get indices of line-breaks in `value`.\nfunction indices(value) {\n var result = []\n var index = value.indexOf('\\n')\n\n while (index !== -1) {\n result.push(index + 1)\n index = value.indexOf('\\n', index + 1)\n }\n\n result.push(value.length + 1)\n\n return result\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile-location@2.0.4@vfile-location/index.js\n// module id = 892\n// module chunks = 33","'use strict';\n\nmodule.exports = factory;\n\n/* Factory to de-escape a value, based on a list at `key`\n * in `ctx`. */\nfunction factory(ctx, key) {\n return unescape;\n\n /* De-escape a string using the expression at `key`\n * in `ctx`. */\n function unescape(value) {\n var prev = 0;\n var index = value.indexOf('\\\\');\n var escape = ctx[key];\n var queue = [];\n var character;\n\n while (index !== -1) {\n queue.push(value.slice(prev, index));\n prev = index + 1;\n character = value.charAt(prev);\n\n /* If the following character is not a valid escape,\n * add the slash. */\n if (!character || escape.indexOf(character) === -1) {\n queue.push('\\\\');\n }\n\n index = value.indexOf('\\\\', prev);\n }\n\n queue.push(value.slice(prev));\n\n return queue.join('');\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/unescape.js\n// module id = 893\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar entities = require('parse-entities');\n\nmodule.exports = factory;\n\n/* Factory to create an entity decoder. */\nfunction factory(ctx) {\n decoder.raw = decodeRaw;\n\n return decoder;\n\n /* Normalize `position` to add an `indent`. */\n function normalize(position) {\n var offsets = ctx.offset;\n var line = position.line;\n var result = [];\n\n while (++line) {\n if (!(line in offsets)) {\n break;\n }\n\n result.push((offsets[line] || 0) + 1);\n }\n\n return {\n start: position,\n indent: result\n };\n }\n\n /* Handle a warning.\n * See https://github.com/wooorm/parse-entities\n * for the warnings. */\n function handleWarning(reason, position, code) {\n if (code === 3) {\n return;\n }\n\n ctx.file.message(reason, position);\n }\n\n /* Decode `value` (at `position`) into text-nodes. */\n function decoder(value, position, handler) {\n entities(value, {\n position: normalize(position),\n warning: handleWarning,\n text: handler,\n reference: handler,\n textContext: ctx,\n referenceContext: ctx\n });\n }\n\n /* Decode `value` (at `position`) into a string. */\n function decodeRaw(value, position, options) {\n return entities(value, xtend(options, {\n position: normalize(position),\n warning: handleWarning\n }));\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/decode.js\n// module id = 894\n// module chunks = 33","module.exports = {\"AElig\":\"Æ\",\"AMP\":\"&\",\"Aacute\":\"Á\",\"Acirc\":\"Â\",\"Agrave\":\"À\",\"Aring\":\"Å\",\"Atilde\":\"Ã\",\"Auml\":\"Ä\",\"COPY\":\"©\",\"Ccedil\":\"Ç\",\"ETH\":\"Ð\",\"Eacute\":\"É\",\"Ecirc\":\"Ê\",\"Egrave\":\"È\",\"Euml\":\"Ë\",\"GT\":\">\",\"Iacute\":\"Í\",\"Icirc\":\"Î\",\"Igrave\":\"Ì\",\"Iuml\":\"Ï\",\"LT\":\"<\",\"Ntilde\":\"Ñ\",\"Oacute\":\"Ó\",\"Ocirc\":\"Ô\",\"Ograve\":\"Ò\",\"Oslash\":\"Ø\",\"Otilde\":\"Õ\",\"Ouml\":\"Ö\",\"QUOT\":\"\\\"\",\"REG\":\"®\",\"THORN\":\"Þ\",\"Uacute\":\"Ú\",\"Ucirc\":\"Û\",\"Ugrave\":\"Ù\",\"Uuml\":\"Ü\",\"Yacute\":\"Ý\",\"aacute\":\"á\",\"acirc\":\"â\",\"acute\":\"´\",\"aelig\":\"æ\",\"agrave\":\"à\",\"amp\":\"&\",\"aring\":\"å\",\"atilde\":\"ã\",\"auml\":\"ä\",\"brvbar\":\"¦\",\"ccedil\":\"ç\",\"cedil\":\"¸\",\"cent\":\"¢\",\"copy\":\"©\",\"curren\":\"¤\",\"deg\":\"°\",\"divide\":\"÷\",\"eacute\":\"é\",\"ecirc\":\"ê\",\"egrave\":\"è\",\"eth\":\"ð\",\"euml\":\"ë\",\"frac12\":\"½\",\"frac14\":\"¼\",\"frac34\":\"¾\",\"gt\":\">\",\"iacute\":\"í\",\"icirc\":\"î\",\"iexcl\":\"¡\",\"igrave\":\"ì\",\"iquest\":\"¿\",\"iuml\":\"ï\",\"laquo\":\"«\",\"lt\":\"<\",\"macr\":\"¯\",\"micro\":\"µ\",\"middot\":\"·\",\"nbsp\":\" \",\"not\":\"¬\",\"ntilde\":\"ñ\",\"oacute\":\"ó\",\"ocirc\":\"ô\",\"ograve\":\"ò\",\"ordf\":\"ª\",\"ordm\":\"º\",\"oslash\":\"ø\",\"otilde\":\"õ\",\"ouml\":\"ö\",\"para\":\"¶\",\"plusmn\":\"±\",\"pound\":\"£\",\"quot\":\"\\\"\",\"raquo\":\"»\",\"reg\":\"®\",\"sect\":\"§\",\"shy\":\"­\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"szlig\":\"ß\",\"thorn\":\"þ\",\"times\":\"×\",\"uacute\":\"ú\",\"ucirc\":\"û\",\"ugrave\":\"ù\",\"uml\":\"¨\",\"uuml\":\"ü\",\"yacute\":\"ý\",\"yen\":\"¥\",\"yuml\":\"ÿ\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_character-entities-legacy@1.1.2@character-entities-legacy/index.json\n// module id = 895\n// module chunks = 33","module.exports = {\"0\":\"�\",\"128\":\"€\",\"130\":\"‚\",\"131\":\"ƒ\",\"132\":\"„\",\"133\":\"…\",\"134\":\"†\",\"135\":\"‡\",\"136\":\"ˆ\",\"137\":\"‰\",\"138\":\"Š\",\"139\":\"‹\",\"140\":\"Œ\",\"142\":\"Ž\",\"145\":\"‘\",\"146\":\"’\",\"147\":\"“\",\"148\":\"”\",\"149\":\"•\",\"150\":\"–\",\"151\":\"—\",\"152\":\"˜\",\"153\":\"™\",\"154\":\"š\",\"155\":\"›\",\"156\":\"œ\",\"158\":\"ž\",\"159\":\"Ÿ\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_character-reference-invalid@1.1.2@character-reference-invalid/index.json\n// module id = 896\n// module chunks = 33","'use strict'\n\nmodule.exports = hexadecimal\n\n/* Check if the given character code, or the character\n * code at the first character, is hexadecimal. */\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-hexadecimal@1.0.2@is-hexadecimal/index.js\n// module id = 897\n// module chunks = 33","'use strict'\n\nvar alphabetical = require('is-alphabetical')\nvar decimal = require('is-decimal')\n\nmodule.exports = alphanumerical\n\n/* Check if the given character code, or the character\n * code at the first character, is alphanumerical. */\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-alphanumerical@1.0.2@is-alphanumerical/index.js\n// module id = 898\n// module chunks = 33","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (¬ - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (;), we can\n // assume that the matching was incomplete\n if (char.slice(-1) === ';' && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_parse-entities@1.2.1@parse-entities/decode-entity.browser.js\n// module id = 899\n// module chunks = 33","'use strict';\n\nmodule.exports = factory;\n\nvar MERGEABLE_NODES = {\n text: mergeText,\n blockquote: mergeBlockquote\n};\n\n/* Check whether a node is mergeable with adjacent nodes. */\nfunction mergeable(node) {\n var start;\n var end;\n\n if (node.type !== 'text' || !node.position) {\n return true;\n }\n\n start = node.position.start;\n end = node.position.end;\n\n /* Only merge nodes which occupy the same size as their\n * `value`. */\n return start.line !== end.line ||\n end.column - start.column === node.value.length;\n}\n\n/* Merge two text nodes: `node` into `prev`. */\nfunction mergeText(prev, node) {\n prev.value += node.value;\n\n return prev;\n}\n\n/* Merge two blockquotes: `node` into `prev`, unless in\n * CommonMark mode. */\nfunction mergeBlockquote(prev, node) {\n if (this.options.commonmark) {\n return node;\n }\n\n prev.children = prev.children.concat(node.children);\n\n return prev;\n}\n\n/* Construct a tokenizer. This creates both\n * `tokenizeInline` and `tokenizeBlock`. */\nfunction factory(type) {\n return tokenize;\n\n /* Tokenizer for a bound `type`. */\n function tokenize(value, location) {\n var self = this;\n var offset = self.offset;\n var tokens = [];\n var methods = self[type + 'Methods'];\n var tokenizers = self[type + 'Tokenizers'];\n var line = location.line;\n var column = location.column;\n var index;\n var length;\n var method;\n var name;\n var matched;\n var valueLength;\n\n /* Trim white space only lines. */\n if (!value) {\n return tokens;\n }\n\n /* Expose on `eat`. */\n eat.now = now;\n eat.file = self.file;\n\n /* Sync initial offset. */\n updatePosition('');\n\n /* Iterate over `value`, and iterate over all\n * tokenizers. When one eats something, re-iterate\n * with the remaining value. If no tokenizer eats,\n * something failed (should not happen) and an\n * exception is thrown. */\n while (value) {\n index = -1;\n length = methods.length;\n matched = false;\n\n while (++index < length) {\n name = methods[index];\n method = tokenizers[name];\n\n if (\n method &&\n /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) &&\n (!method.notInList || !self.inList) &&\n (!method.notInBlock || !self.inBlock) &&\n (!method.notInLink || !self.inLink)\n ) {\n valueLength = value.length;\n\n method.apply(self, [eat, value]);\n\n matched = valueLength !== value.length;\n\n if (matched) {\n break;\n }\n }\n }\n\n /* istanbul ignore if */\n if (!matched) {\n self.file.fail(new Error('Infinite loop'), eat.now());\n }\n }\n\n self.eof = now();\n\n return tokens;\n\n /* Update line, column, and offset based on\n * `value`. */\n function updatePosition(subvalue) {\n var lastIndex = -1;\n var index = subvalue.indexOf('\\n');\n\n while (index !== -1) {\n line++;\n lastIndex = index;\n index = subvalue.indexOf('\\n', index + 1);\n }\n\n if (lastIndex === -1) {\n column += subvalue.length;\n } else {\n column = subvalue.length - lastIndex;\n }\n\n if (line in offset) {\n if (lastIndex !== -1) {\n column += offset[line];\n } else if (column <= offset[line]) {\n column = offset[line] + 1;\n }\n }\n }\n\n /* Get offset. Called before the first character is\n * eaten to retrieve the range's offsets. */\n function getOffset() {\n var indentation = [];\n var pos = line + 1;\n\n /* Done. Called when the last character is\n * eaten to retrieve the range’s offsets. */\n return function () {\n var last = line + 1;\n\n while (pos < last) {\n indentation.push((offset[pos] || 0) + 1);\n\n pos++;\n }\n\n return indentation;\n };\n }\n\n /* Get the current position. */\n function now() {\n var pos = {line: line, column: column};\n\n pos.offset = self.toOffset(pos);\n\n return pos;\n }\n\n /* Store position information for a node. */\n function Position(start) {\n this.start = start;\n this.end = now();\n }\n\n /* Throw when a value is incorrectly eaten.\n * This shouldn’t happen but will throw on new,\n * incorrect rules. */\n function validateEat(subvalue) {\n /* istanbul ignore if */\n if (value.substring(0, subvalue.length) !== subvalue) {\n /* Capture stack-trace. */\n self.file.fail(\n new Error(\n 'Incorrectly eaten value: please report this ' +\n 'warning on http://git.io/vg5Ft'\n ),\n now()\n );\n }\n }\n\n /* Mark position and patch `node.position`. */\n function position() {\n var before = now();\n\n return update;\n\n /* Add the position to a node. */\n function update(node, indent) {\n var prev = node.position;\n var start = prev ? prev.start : before;\n var combined = [];\n var n = prev && prev.end.line;\n var l = before.line;\n\n node.position = new Position(start);\n\n /* If there was already a `position`, this\n * node was merged. Fixing `start` wasn’t\n * hard, but the indent is different.\n * Especially because some information, the\n * indent between `n` and `l` wasn’t\n * tracked. Luckily, that space is\n * (should be?) empty, so we can safely\n * check for it now. */\n if (prev && indent && prev.indent) {\n combined = prev.indent;\n\n if (n < l) {\n while (++n < l) {\n combined.push((offset[n] || 0) + 1);\n }\n\n combined.push(before.column);\n }\n\n indent = combined.concat(indent);\n }\n\n node.position.indent = indent || [];\n\n return node;\n }\n }\n\n /* Add `node` to `parent`s children or to `tokens`.\n * Performs merges where possible. */\n function add(node, parent) {\n var children = parent ? parent.children : tokens;\n var prev = children[children.length - 1];\n\n if (\n prev &&\n node.type === prev.type &&\n node.type in MERGEABLE_NODES &&\n mergeable(prev) &&\n mergeable(node)\n ) {\n node = MERGEABLE_NODES[node.type].call(self, prev, node);\n }\n\n if (node !== prev) {\n children.push(node);\n }\n\n if (self.atStart && tokens.length !== 0) {\n self.exitStart();\n }\n\n return node;\n }\n\n /* Remove `subvalue` from `value`.\n * `subvalue` must be at the start of `value`. */\n function eat(subvalue) {\n var indent = getOffset();\n var pos = position();\n var current = now();\n\n validateEat(subvalue);\n\n apply.reset = reset;\n reset.test = test;\n apply.test = test;\n\n value = value.substring(subvalue.length);\n\n updatePosition(subvalue);\n\n indent = indent();\n\n return apply;\n\n /* Add the given arguments, add `position` to\n * the returned node, and return the node. */\n function apply(node, parent) {\n return pos(add(pos(node), parent), indent);\n }\n\n /* Functions just like apply, but resets the\n * content: the line and column are reversed,\n * and the eaten value is re-added.\n * This is useful for nodes with a single\n * type of content, such as lists and tables.\n * See `apply` above for what parameters are\n * expected. */\n function reset() {\n var node = apply.apply(null, arguments);\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return node;\n }\n\n /* Test the position, after eating, and reverse\n * to a not-eaten state. */\n function test() {\n var result = pos({});\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return result.position;\n }\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenizer.js\n// module id = 900\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar escapes = require('markdown-escapes');\nvar defaults = require('./defaults');\n\nmodule.exports = setOptions;\n\nfunction setOptions(options) {\n var self = this;\n var current = self.options;\n var key;\n var value;\n\n if (options == null) {\n options = {};\n } else if (typeof options === 'object') {\n options = xtend(options);\n } else {\n throw new Error(\n 'Invalid value `' + options + '` ' +\n 'for setting `options`'\n );\n }\n\n for (key in defaults) {\n value = options[key];\n\n if (value == null) {\n value = current[key];\n }\n\n if (\n (key !== 'blocks' && typeof value !== 'boolean') ||\n (key === 'blocks' && typeof value !== 'object')\n ) {\n throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`');\n }\n\n options[key] = value;\n }\n\n self.options = options;\n self.escape = escapes(options);\n\n return self;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/set-options.js\n// module id = 901\n// module chunks = 33","'use strict'\n\nmodule.exports = escapes\n\nvar defaults = [\n '\\\\',\n '`',\n '*',\n '{',\n '}',\n '[',\n ']',\n '(',\n ')',\n '#',\n '+',\n '-',\n '.',\n '!',\n '_',\n '>'\n]\n\nvar gfm = defaults.concat(['~', '|'])\n\nvar commonmark = gfm.concat([\n '\\n',\n '\"',\n '$',\n '%',\n '&',\n \"'\",\n ',',\n '/',\n ':',\n ';',\n '<',\n '=',\n '?',\n '@',\n '^'\n])\n\nescapes.default = defaults\nescapes.gfm = gfm\nescapes.commonmark = commonmark\n\n/* Get markdown escapes. */\nfunction escapes(options) {\n var settings = options || {}\n\n if (settings.commonmark) {\n return commonmark\n }\n\n return settings.gfm ? gfm : defaults\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_markdown-escapes@1.0.2@markdown-escapes/index.js\n// module id = 902\n// module chunks = 33","module.exports = [\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/block-elements.json\n// module id = 903\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar removePosition = require('unist-util-remove-position');\n\nmodule.exports = parse;\n\nvar C_NEWLINE = '\\n';\nvar EXPRESSION_LINE_BREAKS = /\\r\\n|\\r/g;\n\n/* Parse the bound file. */\nfunction parse() {\n var self = this;\n var value = String(self.file);\n var start = {line: 1, column: 1, offset: 0};\n var content = xtend(start);\n var node;\n\n /* Clean non-unix newlines: `\\r\\n` and `\\r` are all\n * changed to `\\n`. This should not affect positional\n * information. */\n value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE);\n\n if (value.charCodeAt(0) === 0xFEFF) {\n value = value.slice(1);\n\n content.column++;\n content.offset++;\n }\n\n node = {\n type: 'root',\n children: self.tokenizeBlock(value, content),\n position: {\n start: start,\n end: self.eof || xtend(start)\n }\n };\n\n if (!self.options.position) {\n removePosition(node, true);\n }\n\n return node;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/parse.js\n// module id = 904\n// module chunks = 33","'use strict'\n\nvar visit = require('unist-util-visit')\n\nmodule.exports = removePosition\n\n/* Remove `position`s from `tree`. */\nfunction removePosition(node, force) {\n visit(node, force ? hard : soft)\n return node\n}\n\nfunction hard(node) {\n delete node.position\n}\n\nfunction soft(node) {\n node.position = undefined\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-remove-position@1.1.2@unist-util-remove-position/index.js\n// module id = 905\n// module chunks = 33","'use strict'\n\nmodule.exports = visitParents\n\nvar is = require('unist-util-is')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result\n\n if (!test || is(test, node, index, parents[parents.length - 1] || null)) {\n result = visitor(node, parents)\n\n if (result === EXIT) {\n return result\n }\n }\n\n if (node.children && result !== SKIP) {\n return all(node.children, parents.concat(node)) === EXIT ? EXIT : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var child\n var result\n\n while (index > min && index < children.length) {\n child = children[index]\n result = child && one(child, index, parents)\n\n if (result === EXIT) {\n return result\n }\n\n index = typeof result === 'number' ? result : index + step\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-visit-parents@2.0.1@unist-util-visit-parents/index.js\n// module id = 906\n// module chunks = 33","'use strict'\n\n/* eslint-disable max-params */\n\n/* Expose. */\nmodule.exports = is\n\n/* Assert if `test` passes for `node`.\n * When a `parent` node is known the `index` of node */\nfunction is(test, node, index, parent, context) {\n var hasParent = parent !== null && parent !== undefined\n var hasIndex = index !== null && index !== undefined\n var check = convert(test)\n\n if (\n hasIndex &&\n (typeof index !== 'number' || index < 0 || index === Infinity)\n ) {\n throw new Error('Expected positive finite index or child node')\n }\n\n if (hasParent && (!is(null, parent) || !parent.children)) {\n throw new Error('Expected parent node')\n }\n\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (hasParent !== hasIndex) {\n throw new Error('Expected both parent and index')\n }\n\n return Boolean(check.call(context, node, index, parent))\n}\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n/* Utility assert each property in `test` is represented\n * in `node`, and each values are strictly equal. */\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/* Utility to convert a string into a function which checks\n * a given node’s type for said string. */\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n/* Utility to return true. */\nfunction ok() {\n return true\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-is@2.1.2@unist-util-is/index.js\n// module id = 907\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\n\nmodule.exports = newline;\n\n/* Tokenise newline. */\nfunction newline(eat, value, silent) {\n var character = value.charAt(0);\n var length;\n var subvalue;\n var queue;\n var index;\n\n if (character !== '\\n') {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n index = 1;\n length = value.length;\n subvalue = character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n\n if (character === '\\n') {\n subvalue += queue;\n queue = '';\n }\n\n index++;\n }\n\n eat(subvalue);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/newline.js\n// module id = 908\n// module chunks = 33","'use strict';\n\nvar repeat = require('repeat-string');\nvar trim = require('trim-trailing-lines');\n\nmodule.exports = indentedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar CODE_INDENT_COUNT = 4;\nvar CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT);\n\n/* Tokenise indented code. */\nfunction indentedCode(eat, value, silent) {\n var index = -1;\n var length = value.length;\n var subvalue = '';\n var content = '';\n var subvalueQueue = '';\n var contentQueue = '';\n var character;\n var blankQueue;\n var indent;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (indent) {\n indent = false;\n\n subvalue += subvalueQueue;\n content += contentQueue;\n subvalueQueue = '';\n contentQueue = '';\n\n if (character === C_NEWLINE) {\n subvalueQueue = character;\n contentQueue = character;\n } else {\n subvalue += character;\n content += character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n contentQueue = character;\n subvalueQueue = character;\n break;\n }\n\n subvalue += character;\n content += character;\n }\n }\n } else if (\n character === C_SPACE &&\n value.charAt(index + 1) === character &&\n value.charAt(index + 2) === character &&\n value.charAt(index + 3) === character\n ) {\n subvalueQueue += CODE_INDENT;\n index += 3;\n indent = true;\n } else if (character === C_TAB) {\n subvalueQueue += character;\n indent = true;\n } else {\n blankQueue = '';\n\n while (character === C_TAB || character === C_SPACE) {\n blankQueue += character;\n character = value.charAt(++index);\n }\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subvalueQueue += blankQueue + character;\n contentQueue += character;\n }\n }\n\n if (content) {\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({\n type: 'code',\n lang: null,\n value: trim(content)\n });\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/code-indented.js\n// module id = 909\n// module chunks = 33","'use strict';\n\nvar trim = require('trim-trailing-lines');\n\nmodule.exports = fencedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_TILDE = '~';\nvar C_TICK = '`';\n\nvar MIN_FENCE_COUNT = 3;\nvar CODE_INDENT_COUNT = 4;\n\nfunction fencedCode(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = 0;\n var subvalue = '';\n var fenceCount;\n var marker;\n var character;\n var flag;\n var queue;\n var content;\n var exdentedContent;\n var closing;\n var exdentedClosing;\n var indent;\n var now;\n\n if (!settings.gfm) {\n return;\n }\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n indent = index;\n\n /* Eat the fence. */\n character = value.charAt(index);\n\n if (character !== C_TILDE && character !== C_TICK) {\n return;\n }\n\n index++;\n marker = character;\n fenceCount = 1;\n subvalue += character;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n subvalue += character;\n fenceCount++;\n index++;\n }\n\n if (fenceCount < MIN_FENCE_COUNT) {\n return;\n }\n\n /* Eat spacing before flag. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat flag. */\n flag = '';\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character === C_NEWLINE ||\n character === C_TILDE ||\n character === C_TICK\n ) {\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n flag += queue + character;\n queue = '';\n }\n\n index++;\n }\n\n character = value.charAt(index);\n\n if (character && character !== C_NEWLINE) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += subvalue.length;\n now.offset += subvalue.length;\n\n subvalue += flag;\n flag = self.decode.raw(self.unescape(flag), now);\n\n if (queue) {\n subvalue += queue;\n }\n\n queue = '';\n closing = '';\n exdentedClosing = '';\n content = '';\n exdentedContent = '';\n\n /* Eat content. */\n while (index < length) {\n character = value.charAt(index);\n content += closing;\n exdentedContent += exdentedClosing;\n closing = '';\n exdentedClosing = '';\n\n if (character !== C_NEWLINE) {\n content += character;\n exdentedClosing += character;\n index++;\n continue;\n }\n\n /* Add the newline to `subvalue` if its the first\n * character. Otherwise, add it to the `closing`\n * queue. */\n if (content) {\n closing += character;\n exdentedClosing += character;\n } else {\n subvalue += character;\n }\n\n queue = '';\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue.slice(indent);\n\n if (queue.length >= CODE_INDENT_COUNT) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue;\n\n if (queue.length < fenceCount) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n closing += character;\n exdentedClosing += character;\n index++;\n }\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n }\n\n subvalue += content + closing;\n\n return eat(subvalue)({\n type: 'code',\n lang: flag || null,\n value: trim(exdentedContent)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/code-fenced.js\n// module id = 910\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar interrupt = require('../util/interrupt');\n\nmodule.exports = blockquote;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_GT = '>';\n\n/* Tokenise a blockquote. */\nfunction blockquote(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptBlockquote;\n var now = eat.now();\n var currentLine = now.line;\n var length = value.length;\n var values = [];\n var contents = [];\n var indents = [];\n var add;\n var index = 0;\n var character;\n var rest;\n var nextIndex;\n var content;\n var line;\n var startIndex;\n var prefixed;\n var exit;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) === C_GT) {\n index++;\n prefixed = true;\n\n if (value.charAt(index) === C_SPACE) {\n index++;\n }\n } else {\n index = startIndex;\n }\n\n content = value.slice(index, nextIndex);\n\n if (!prefixed && !trim(content)) {\n index = startIndex;\n break;\n }\n\n if (!prefixed) {\n rest = value.slice(index);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) {\n break;\n }\n }\n\n line = startIndex === index ? content : value.slice(startIndex, nextIndex);\n\n indents.push(index - startIndex);\n values.push(line);\n contents.push(content);\n\n index = nextIndex + 1;\n }\n\n index = -1;\n length = indents.length;\n add = eat(values.join(C_NEWLINE));\n\n while (++index < length) {\n offsets[currentLine] = (offsets[currentLine] || 0) + indents[index];\n currentLine++;\n }\n\n exit = self.enterBlock();\n contents = self.tokenizeBlock(contents.join(C_NEWLINE), now);\n exit();\n\n return add({\n type: 'blockquote',\n children: contents\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/blockquote.js\n// module id = 911\n// module chunks = 33","'use strict';\n\nmodule.exports = atxHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_HASH = '#';\n\nvar MAX_ATX_COUNT = 6;\n\nfunction atxHeading(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = -1;\n var now = eat.now();\n var subvalue = '';\n var content = '';\n var character;\n var queue;\n var depth;\n\n /* Eat initial spacing. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat hashes. */\n depth = 0;\n\n while (++index <= length) {\n character = value.charAt(index);\n\n if (character !== C_HASH) {\n index--;\n break;\n }\n\n subvalue += character;\n depth++;\n }\n\n if (depth > MAX_ATX_COUNT) {\n return;\n }\n\n if (\n !depth ||\n (!settings.pedantic && value.charAt(index + 1) === C_HASH)\n ) {\n return;\n }\n\n length = value.length + 1;\n\n /* Eat intermediate white-space. */\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n queue += character;\n }\n\n /* Exit when not in pedantic mode without spacing. */\n if (\n !settings.pedantic &&\n queue.length === 0 &&\n character &&\n character !== C_NEWLINE\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n /* Eat content. */\n subvalue += queue;\n queue = '';\n content = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n\n if (\n character !== C_SPACE &&\n character !== C_TAB &&\n character !== C_HASH\n ) {\n content += queue + character;\n queue = '';\n continue;\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_HASH) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n index--;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n return eat(subvalue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/heading-atx.js\n// module id = 912\n// module chunks = 33","'use strict';\n\nmodule.exports = thematicBreak;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_DASH = '-';\n\nvar THEMATIC_BREAK_MARKER_COUNT = 3;\n\nfunction thematicBreak(eat, value, silent) {\n var index = -1;\n var length = value.length + 1;\n var subvalue = '';\n var character;\n var marker;\n var markerCount;\n var queue;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n }\n\n if (\n character !== C_ASTERISK &&\n character !== C_DASH &&\n character !== C_UNDERSCORE\n ) {\n return;\n }\n\n marker = character;\n subvalue += character;\n markerCount = 1;\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n markerCount++;\n subvalue += queue + marker;\n queue = '';\n } else if (character === C_SPACE) {\n queue += character;\n } else if (\n markerCount >= THEMATIC_BREAK_MARKER_COUNT &&\n (!character || character === C_NEWLINE)\n ) {\n subvalue += queue;\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({type: 'thematicBreak'});\n } else {\n return;\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/thematic-break.js\n// module id = 913\n// module chunks = 33","'use strict';\n\n/* eslint-disable max-params */\n\nvar trim = require('trim');\nvar repeat = require('repeat-string');\nvar decimal = require('is-decimal');\nvar getIndent = require('../util/get-indentation');\nvar removeIndent = require('../util/remove-indentation');\nvar interrupt = require('../util/interrupt');\n\nmodule.exports = list;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_PLUS = '+';\nvar C_DASH = '-';\nvar C_DOT = '.';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_PAREN_CLOSE = ')';\nvar C_X_LOWER = 'x';\n\nvar TAB_SIZE = 4;\nvar EXPRESSION_LOOSE_LIST_ITEM = /\\n\\n(?!\\s*$)/;\nvar EXPRESSION_TASK_ITEM = /^\\[([ \\t]|x|X)][ \\t]/;\nvar EXPRESSION_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])( {1,4}(?! )| |\\t|$|(?=\\n))([^\\n]*)/;\nvar EXPRESSION_PEDANTIC_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])([ \\t]+)/;\nvar EXPRESSION_INITIAL_INDENT = /^( {1,4}|\\t)?/gm;\n\n/* Map of characters which can be used to mark\n * list-items. */\nvar LIST_UNORDERED_MARKERS = {};\n\nLIST_UNORDERED_MARKERS[C_ASTERISK] = true;\nLIST_UNORDERED_MARKERS[C_PLUS] = true;\nLIST_UNORDERED_MARKERS[C_DASH] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_MARKERS = {};\n\nLIST_ORDERED_MARKERS[C_DOT] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_COMMONMARK_MARKERS = {};\n\nLIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true;\nLIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true;\n\nfunction list(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var pedantic = self.options.pedantic;\n var tokenizers = self.blockTokenizers;\n var interuptors = self.interruptList;\n var markers;\n var index = 0;\n var length = value.length;\n var start = null;\n var size = 0;\n var queue;\n var ordered;\n var character;\n var marker;\n var nextIndex;\n var startIndex;\n var prefixed;\n var currentMarker;\n var content;\n var line;\n var prevEmpty;\n var empty;\n var items;\n var allLines;\n var emptyLines;\n var item;\n var enterTop;\n var exitBlockquote;\n var isLoose;\n var node;\n var now;\n var end;\n var indented;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n return;\n }\n\n character = value.charAt(index);\n\n markers = commonmark ?\n LIST_ORDERED_COMMONMARK_MARKERS :\n LIST_ORDERED_MARKERS;\n\n if (LIST_UNORDERED_MARKERS[character] === true) {\n marker = character;\n ordered = false;\n } else {\n ordered = true;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || markers[character] !== true) {\n return;\n }\n\n start = parseInt(queue, 10);\n marker = character;\n }\n\n character = value.charAt(++index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n items = [];\n allLines = [];\n emptyLines = [];\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n indented = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n end = index + TAB_SIZE;\n size = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n indented = true;\n }\n\n if (item && size >= item.indent) {\n indented = true;\n }\n\n character = value.charAt(index);\n currentMarker = null;\n\n if (!indented) {\n if (LIST_UNORDERED_MARKERS[character] === true) {\n currentMarker = character;\n index++;\n size++;\n } else {\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n index++;\n\n if (queue && markers[character] === true) {\n currentMarker = character;\n size += queue.length + 1;\n }\n }\n\n if (currentMarker) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n index++;\n } else if (character === C_SPACE) {\n end = index + TAB_SIZE;\n\n while (index < end) {\n if (value.charAt(index) !== C_SPACE) {\n break;\n }\n\n index++;\n size++;\n }\n\n if (index === end && value.charAt(index) === C_SPACE) {\n index -= TAB_SIZE - 1;\n size -= TAB_SIZE - 1;\n }\n } else if (character !== C_NEWLINE && character !== '') {\n currentMarker = null;\n }\n }\n }\n\n if (currentMarker) {\n if (!pedantic && marker !== currentMarker) {\n break;\n }\n\n prefixed = true;\n } else {\n if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) {\n indented = true;\n } else if (commonmark && item) {\n indented = size >= item.indent || size > TAB_SIZE;\n }\n\n prefixed = false;\n index = startIndex;\n }\n\n line = value.slice(startIndex, nextIndex);\n content = startIndex === index ? line : value.slice(index, nextIndex);\n\n if (\n currentMarker === C_ASTERISK ||\n currentMarker === C_UNDERSCORE ||\n currentMarker === C_DASH\n ) {\n if (tokenizers.thematicBreak.call(self, eat, line, true)) {\n break;\n }\n }\n\n prevEmpty = empty;\n empty = !trim(content).length;\n\n if (indented && item) {\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (prefixed) {\n if (emptyLines.length !== 0) {\n item.value.push('');\n item.trail = emptyLines.concat();\n }\n\n item = {\n value: [line],\n indent: size,\n trail: []\n };\n\n items.push(item);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (empty) {\n if (prevEmpty) {\n break;\n }\n\n emptyLines.push(line);\n } else {\n if (prevEmpty) {\n break;\n }\n\n if (interrupt(interuptors, tokenizers, self, [eat, line, true])) {\n break;\n }\n\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n }\n\n index = nextIndex + 1;\n }\n\n node = eat(allLines.join(C_NEWLINE)).reset({\n type: 'list',\n ordered: ordered,\n start: start,\n loose: null,\n children: []\n });\n\n enterTop = self.enterList();\n exitBlockquote = self.enterBlock();\n isLoose = false;\n index = -1;\n length = items.length;\n\n while (++index < length) {\n item = items[index].value.join(C_NEWLINE);\n now = eat.now();\n\n item = eat(item)(listItem(self, item, now), node);\n\n if (item.loose) {\n isLoose = true;\n }\n\n item = items[index].trail.join(C_NEWLINE);\n\n if (index !== length - 1) {\n item += C_NEWLINE;\n }\n\n eat(item);\n }\n\n enterTop();\n exitBlockquote();\n\n node.loose = isLoose;\n\n return node;\n}\n\nfunction listItem(ctx, value, position) {\n var offsets = ctx.offset;\n var fn = ctx.options.pedantic ? pedanticListItem : normalListItem;\n var checked = null;\n var task;\n var indent;\n\n value = fn.apply(null, arguments);\n\n if (ctx.options.gfm) {\n task = value.match(EXPRESSION_TASK_ITEM);\n\n if (task) {\n indent = task[0].length;\n checked = task[1].toLowerCase() === C_X_LOWER;\n offsets[position.line] += indent;\n value = value.slice(indent);\n }\n }\n\n return {\n type: 'listItem',\n loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) ||\n value.charAt(value.length - 1) === C_NEWLINE,\n checked: checked,\n children: ctx.tokenizeBlock(value, position)\n };\n}\n\n/* Create a list-item using overly simple mechanics. */\nfunction pedanticListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer);\n\n /* The initial line was also matched by the below, so\n * we reset the `line`. */\n line = position.line;\n\n return value.replace(EXPRESSION_INITIAL_INDENT, replacer);\n\n /* A simple replacer which removed all matches,\n * and adds their length to `offset`. */\n function replacer($0) {\n offsets[line] = (offsets[line] || 0) + $0.length;\n line++;\n\n return '';\n }\n}\n\n/* Create a list-item using sane mechanics. */\nfunction normalListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n var max;\n var bullet;\n var rest;\n var lines;\n var trimmedLines;\n var index;\n var length;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_BULLET, replacer);\n\n lines = value.split(C_NEWLINE);\n\n trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE);\n\n /* We replaced the initial bullet with something\n * else above, which was used to trick\n * `removeIndentation` into removing some more\n * characters when possible. However, that could\n * result in the initial line to be stripped more\n * than it should be. */\n trimmedLines[0] = rest;\n\n offsets[line] = (offsets[line] || 0) + bullet.length;\n line++;\n\n index = 0;\n length = lines.length;\n\n while (++index < length) {\n offsets[line] = (offsets[line] || 0) +\n lines[index].length - trimmedLines[index].length;\n line++;\n }\n\n return trimmedLines.join(C_NEWLINE);\n\n function replacer($0, $1, $2, $3, $4) {\n bullet = $1 + $2 + $3;\n rest = $4;\n\n /* Make sure that the first nine numbered list items\n * can indent with an extra space. That is, when\n * the bullet did not receive an extra final space. */\n if (Number($2) < 10 && bullet.length % 2 === 1) {\n $2 = C_SPACE + $2;\n }\n\n max = $1 + repeat(C_SPACE, $2.length) + $3;\n\n return max + rest;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/list.js\n// module id = 914\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar repeat = require('repeat-string');\nvar getIndent = require('./get-indentation');\n\nmodule.exports = indentation;\n\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\n/* Remove the minimum indent from every line in `value`.\n * Supports both tab, spaced, and mixed indentation (as\n * well as possible). */\nfunction indentation(value, maximum) {\n var values = value.split(C_NEWLINE);\n var position = values.length + 1;\n var minIndent = Infinity;\n var matrix = [];\n var index;\n var indentation;\n var stops;\n var padding;\n\n values.unshift(repeat(C_SPACE, maximum) + '!');\n\n while (position--) {\n indentation = getIndent(values[position]);\n\n matrix[position] = indentation.stops;\n\n if (trim(values[position]).length === 0) {\n continue;\n }\n\n if (indentation.indent) {\n if (indentation.indent > 0 && indentation.indent < minIndent) {\n minIndent = indentation.indent;\n }\n } else {\n minIndent = Infinity;\n\n break;\n }\n }\n\n if (minIndent !== Infinity) {\n position = values.length;\n\n while (position--) {\n stops = matrix[position];\n index = minIndent;\n\n while (index && !(index in stops)) {\n index--;\n }\n\n if (\n trim(values[position]).length !== 0 &&\n minIndent &&\n index !== minIndent\n ) {\n padding = C_TAB;\n } else {\n padding = '';\n }\n\n values[position] = padding + values[position].slice(\n index in stops ? stops[index] + 1 : 0\n );\n }\n }\n\n values.shift();\n\n return values.join(C_NEWLINE);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/util/remove-indentation.js\n// module id = 915\n// module chunks = 33","'use strict';\n\nmodule.exports = setextHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_EQUALS = '=';\nvar C_DASH = '-';\n\nvar MAX_HEADING_INDENT = 3;\n\n/* Map of characters which can be used to mark setext\n * headers, mapping to their corresponding depth. */\nvar SETEXT_MARKERS = {};\n\nSETEXT_MARKERS[C_EQUALS] = 1;\nSETEXT_MARKERS[C_DASH] = 2;\n\nfunction setextHeading(eat, value, silent) {\n var self = this;\n var now = eat.now();\n var length = value.length;\n var index = -1;\n var subvalue = '';\n var content;\n var queue;\n var character;\n var marker;\n var depth;\n\n /* Eat initial indentation. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE || index >= MAX_HEADING_INDENT) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat content. */\n content = '';\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n index--;\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n content += queue + character;\n queue = '';\n }\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n /* Ensure the content is followed by a newline and a\n * valid marker. */\n character = value.charAt(++index);\n marker = value.charAt(++index);\n\n if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) {\n return;\n }\n\n subvalue += character;\n\n /* Eat Setext-line. */\n queue = marker;\n depth = SETEXT_MARKERS[marker];\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n if (character !== C_NEWLINE) {\n return;\n }\n\n index--;\n break;\n }\n\n queue += character;\n }\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue + queue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/heading-setext.js\n// module id = 916\n// module chunks = 33","'use strict';\n\nvar openCloseTag = require('../util/html').openCloseTag;\n\nmodule.exports = blockHTML;\n\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_LT = '<';\n\nfunction blockHTML(eat, value, silent) {\n var self = this;\n var blocks = self.options.blocks;\n var length = value.length;\n var index = 0;\n var next;\n var line;\n var offset;\n var character;\n var count;\n var sequence;\n var subvalue;\n\n var sequences = [\n [/^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true],\n [/^/, true],\n [/^<\\?/, /\\?>/, true],\n [/^/, true],\n [/^/, true],\n [new RegExp('^|$))', 'i'), /^$/, true],\n [new RegExp(openCloseTag.source + '\\\\s*$'), /^$/, false]\n ];\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_LT) {\n return;\n }\n\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index, next);\n offset = -1;\n count = sequences.length;\n\n while (++offset < count) {\n if (sequences[offset][0].test(line)) {\n sequence = sequences[offset];\n break;\n }\n }\n\n if (!sequence) {\n return;\n }\n\n if (silent) {\n return sequence[2];\n }\n\n index = next;\n\n if (!sequence[1].test(line)) {\n while (index < length) {\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index + 1, next);\n\n if (sequence[1].test(line)) {\n if (line) {\n index = next;\n }\n\n break;\n }\n\n index = next;\n }\n }\n\n subvalue = value.slice(0, index);\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/html-block.js\n// module id = 917\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar normalize = require('../util/normalize');\n\nmodule.exports = footnoteDefinition;\nfootnoteDefinition.notInList = true;\nfootnoteDefinition.notInBlock = true;\n\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_CARET = '^';\nvar C_COLON = ':';\n\nvar EXPRESSION_INITIAL_TAB = /^( {4}|\\t)?/gm;\n\nfunction footnoteDefinition(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var index;\n var length;\n var subvalue;\n var now;\n var currentLine;\n var content;\n var queue;\n var subqueue;\n var character;\n var identifier;\n var add;\n var exit;\n\n if (!self.options.footnotes) {\n return;\n }\n\n index = 0;\n length = value.length;\n subvalue = '';\n now = eat.now();\n currentLine = now.line;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n if (\n value.charAt(index) !== C_BRACKET_OPEN ||\n value.charAt(index + 1) !== C_CARET\n ) {\n return;\n }\n\n subvalue += C_BRACKET_OPEN + C_CARET;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n identifier = normalize(queue);\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n queue = '';\n content = '';\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n subqueue = character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n queue += subqueue;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n if (subqueue.length === 0) {\n break;\n }\n\n queue += subqueue;\n }\n\n if (queue) {\n content += queue;\n queue = '';\n }\n\n content += character;\n index++;\n }\n\n subvalue += content;\n\n content = content.replace(EXPRESSION_INITIAL_TAB, function (line) {\n offsets[currentLine] = (offsets[currentLine] || 0) + line.length;\n currentLine++;\n\n return '';\n });\n\n add = eat(subvalue);\n\n exit = self.enterBlock();\n content = self.tokenizeBlock(content, now);\n exit();\n\n return add({\n type: 'footnoteDefinition',\n identifier: identifier,\n children: content\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/footnote-definition.js\n// module id = 918\n// module chunks = 33","'use strict'\n\nmodule.exports = collapse\n\n/* collapse(' \\t\\nbar \\nbaz\\t'); // ' bar baz ' */\nfunction collapse(value) {\n return String(value).replace(/\\s+/g, ' ')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_collapse-white-space@1.0.4@collapse-white-space/index.js\n// module id = 919\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar normalize = require('../util/normalize');\n\nmodule.exports = definition;\ndefinition.notInList = true;\ndefinition.notInBlock = true;\n\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_COLON = ':';\nvar C_LT = '<';\nvar C_GT = '>';\n\nfunction definition(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var beforeURL;\n var beforeTitle;\n var queue;\n var character;\n var test;\n var identifier;\n var url;\n var title;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n identifier = queue;\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!isEnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === isEnclosedURLCharacter.delimiter) {\n subvalue += C_LT + queue + character;\n index++;\n } else {\n if (commonmark) {\n return;\n }\n\n index -= queue.length + 1;\n queue = '';\n }\n }\n\n if (!queue) {\n while (index < length) {\n character = value.charAt(index);\n\n if (!isUnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n subvalue += queue;\n }\n\n if (!queue) {\n return;\n }\n\n url = queue;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n test = null;\n\n if (character === C_DOUBLE_QUOTE) {\n test = C_DOUBLE_QUOTE;\n } else if (character === C_SINGLE_QUOTE) {\n test = C_SINGLE_QUOTE;\n } else if (character === C_PAREN_OPEN) {\n test = C_PAREN_CLOSE;\n }\n\n if (!test) {\n queue = '';\n index = subvalue.length;\n } else if (queue) {\n subvalue += queue + character;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === test) {\n break;\n }\n\n if (character === C_NEWLINE) {\n index++;\n character = value.charAt(index);\n\n if (character === C_NEWLINE || character === test) {\n return;\n }\n\n queue += C_NEWLINE;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== test) {\n return;\n }\n\n beforeTitle = subvalue;\n subvalue += queue + character;\n index++;\n title = queue;\n queue = '';\n } else {\n return;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n if (silent) {\n return true;\n }\n\n beforeURL = eat(beforeURL).test().end;\n url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n return eat(subvalue)({\n type: 'definition',\n identifier: normalize(identifier),\n title: title || null,\n url: url\n });\n }\n}\n\n/* Check if `character` can be inside an enclosed URI. */\nfunction isEnclosedURLCharacter(character) {\n return character !== C_GT &&\n character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE;\n}\n\nisEnclosedURLCharacter.delimiter = C_GT;\n\n/* Check if `character` can be inside an unclosed URI. */\nfunction isUnclosedURLCharacter(character) {\n return character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE &&\n !whitespace(character);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/definition.js\n// module id = 920\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\n\nmodule.exports = table;\n\nvar C_BACKSLASH = '\\\\';\nvar C_TICK = '`';\nvar C_DASH = '-';\nvar C_PIPE = '|';\nvar C_COLON = ':';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\nvar MIN_TABLE_COLUMNS = 1;\nvar MIN_TABLE_ROWS = 2;\n\nvar TABLE_ALIGN_LEFT = 'left';\nvar TABLE_ALIGN_CENTER = 'center';\nvar TABLE_ALIGN_RIGHT = 'right';\nvar TABLE_ALIGN_NONE = null;\n\nfunction table(eat, value, silent) {\n var self = this;\n var index;\n var alignments;\n var alignment;\n var subvalue;\n var row;\n var length;\n var lines;\n var queue;\n var character;\n var hasDash;\n var align;\n var cell;\n var preamble;\n var count;\n var opening;\n var now;\n var position;\n var lineCount;\n var line;\n var rows;\n var table;\n var lineIndex;\n var pipeIndex;\n var first;\n\n /* Exit when not in gfm-mode. */\n if (!self.options.gfm) {\n return;\n }\n\n /* Get the rows.\n * Detecting tables soon is hard, so there are some\n * checks for performance here, such as the minimum\n * number of rows, and allowed characters in the\n * alignment row. */\n index = 0;\n lineCount = 0;\n length = value.length + 1;\n lines = [];\n\n while (index < length) {\n lineIndex = value.indexOf(C_NEWLINE, index);\n pipeIndex = value.indexOf(C_PIPE, index + 1);\n\n if (lineIndex === -1) {\n lineIndex = value.length;\n }\n\n if (pipeIndex === -1 || pipeIndex > lineIndex) {\n if (lineCount < MIN_TABLE_ROWS) {\n return;\n }\n\n break;\n }\n\n lines.push(value.slice(index, lineIndex));\n lineCount++;\n index = lineIndex + 1;\n }\n\n /* Parse the alignment row. */\n subvalue = lines.join(C_NEWLINE);\n alignments = lines.splice(1, 1)[0] || [];\n index = 0;\n length = alignments.length;\n lineCount--;\n alignment = false;\n align = [];\n\n while (index < length) {\n character = alignments.charAt(index);\n\n if (character === C_PIPE) {\n hasDash = null;\n\n if (alignment === false) {\n if (first === false) {\n return;\n }\n } else {\n align.push(alignment);\n alignment = false;\n }\n\n first = false;\n } else if (character === C_DASH) {\n hasDash = true;\n alignment = alignment || TABLE_ALIGN_NONE;\n } else if (character === C_COLON) {\n if (alignment === TABLE_ALIGN_LEFT) {\n alignment = TABLE_ALIGN_CENTER;\n } else if (hasDash && alignment === TABLE_ALIGN_NONE) {\n alignment = TABLE_ALIGN_RIGHT;\n } else {\n alignment = TABLE_ALIGN_LEFT;\n }\n } else if (!whitespace(character)) {\n return;\n }\n\n index++;\n }\n\n if (alignment !== false) {\n align.push(alignment);\n }\n\n /* Exit when without enough columns. */\n if (align.length < MIN_TABLE_COLUMNS) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n /* Parse the rows. */\n position = -1;\n rows = [];\n\n table = eat(subvalue).reset({\n type: 'table',\n align: align,\n children: rows\n });\n\n while (++position < lineCount) {\n line = lines[position];\n row = {type: 'tableRow', children: []};\n\n /* Eat a newline character when this is not the\n * first row. */\n if (position) {\n eat(C_NEWLINE);\n }\n\n /* Eat the row. */\n eat(line).reset(row, table);\n\n length = line.length + 1;\n index = 0;\n queue = '';\n cell = '';\n preamble = true;\n count = null;\n opening = null;\n\n while (index < length) {\n character = line.charAt(index);\n\n if (character === C_TAB || character === C_SPACE) {\n if (cell) {\n queue += character;\n } else {\n eat(character);\n }\n\n index++;\n continue;\n }\n\n if (character === '' || character === C_PIPE) {\n if (preamble) {\n eat(character);\n } else {\n if (character && opening) {\n queue += character;\n index++;\n continue;\n }\n\n if ((cell || character) && !preamble) {\n subvalue = cell;\n\n if (queue.length > 1) {\n if (character) {\n subvalue += queue.slice(0, queue.length - 1);\n queue = queue.charAt(queue.length - 1);\n } else {\n subvalue += queue;\n queue = '';\n }\n }\n\n now = eat.now();\n\n eat(subvalue)({\n type: 'tableCell',\n children: self.tokenizeInline(cell, now)\n }, row);\n }\n\n eat(queue + character);\n\n queue = '';\n cell = '';\n }\n } else {\n if (queue) {\n cell += queue;\n queue = '';\n }\n\n cell += character;\n\n if (character === C_BACKSLASH && index !== length - 2) {\n cell += line.charAt(index + 1);\n index++;\n }\n\n if (character === C_TICK) {\n count = 1;\n\n while (line.charAt(index + 1) === character) {\n cell += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n }\n }\n\n preamble = false;\n index++;\n }\n\n /* Eat the alignment row. */\n if (!position) {\n eat(C_NEWLINE + alignments);\n }\n }\n\n return table;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/table.js\n// module id = 921\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar decimal = require('is-decimal');\nvar trimTrailingLines = require('trim-trailing-lines');\nvar interrupt = require('../util/interrupt');\n\nmodule.exports = paragraph;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar TAB_SIZE = 4;\n\n/* Tokenise paragraph. */\nfunction paragraph(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var commonmark = settings.commonmark;\n var gfm = settings.gfm;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptParagraph;\n var index = value.indexOf(C_NEWLINE);\n var length = value.length;\n var position;\n var subvalue;\n var character;\n var size;\n var now;\n\n while (index < length) {\n /* Eat everything if there’s no following newline. */\n if (index === -1) {\n index = length;\n break;\n }\n\n /* Stop if the next character is NEWLINE. */\n if (value.charAt(index + 1) === C_NEWLINE) {\n break;\n }\n\n /* In commonmark-mode, following indented lines\n * are part of the paragraph. */\n if (commonmark) {\n size = 0;\n position = index + 1;\n\n while (position < length) {\n character = value.charAt(position);\n\n if (character === C_TAB) {\n size = TAB_SIZE;\n break;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n position++;\n }\n\n if (size >= TAB_SIZE) {\n index = value.indexOf(C_NEWLINE, index + 1);\n continue;\n }\n }\n\n subvalue = value.slice(index + 1);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) {\n break;\n }\n\n /* Break if the following line starts a list, when\n * already in a list, or when in commonmark, or when\n * in gfm mode and the bullet is *not* numeric. */\n if (\n tokenizers.list.call(self, eat, subvalue, true) &&\n (\n self.inList ||\n commonmark ||\n (gfm && !decimal(trim.left(subvalue).charAt(0)))\n )\n ) {\n break;\n }\n\n position = index;\n index = value.indexOf(C_NEWLINE, index + 1);\n\n if (index !== -1 && trim(value.slice(position, index)) === '') {\n index = position;\n break;\n }\n }\n\n subvalue = value.slice(0, index);\n\n if (trim(subvalue) === '') {\n eat(subvalue);\n\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n subvalue = trimTrailingLines(subvalue);\n\n return eat(subvalue)({\n type: 'paragraph',\n children: self.tokenizeInline(subvalue, now)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/paragraph.js\n// module id = 922\n// module chunks = 33","'use strict';\n\nvar locate = require('../locate/escape');\n\nmodule.exports = escape;\nescape.locator = locate;\n\nfunction escape(eat, value, silent) {\n var self = this;\n var character;\n var node;\n\n if (value.charAt(0) === '\\\\') {\n character = value.charAt(1);\n\n if (self.escape.indexOf(character) !== -1) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (character === '\\n') {\n node = {type: 'break'};\n } else {\n node = {\n type: 'text',\n value: character\n };\n }\n\n return eat('\\\\' + character)(node);\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/escape.js\n// module id = 923\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('\\\\', fromIndex);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/escape.js\n// module id = 924\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar decode = require('parse-entities');\nvar locate = require('../locate/tag');\n\nmodule.exports = autoLink;\nautoLink.locator = locate;\nautoLink.notInLink = true;\n\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_AT_SIGN = '@';\nvar C_SLASH = '/';\nvar MAILTO = 'mailto:';\nvar MAILTO_LENGTH = MAILTO.length;\n\n/* Tokenise a link. */\nfunction autoLink(eat, value, silent) {\n var self;\n var subvalue;\n var length;\n var index;\n var queue;\n var character;\n var hasAtCharacter;\n var link;\n var now;\n var content;\n var tokenizers;\n var exit;\n\n if (value.charAt(0) !== C_LT) {\n return;\n }\n\n self = this;\n subvalue = '';\n length = value.length;\n index = 0;\n queue = '';\n hasAtCharacter = false;\n link = '';\n\n index++;\n subvalue = C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n whitespace(character) ||\n character === C_GT ||\n character === C_AT_SIGN ||\n (character === ':' && value.charAt(index + 1) === C_SLASH)\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n link += queue;\n queue = '';\n\n character = value.charAt(index);\n link += character;\n index++;\n\n if (character === C_AT_SIGN) {\n hasAtCharacter = true;\n } else {\n if (\n character !== ':' ||\n value.charAt(index + 1) !== C_SLASH\n ) {\n return;\n }\n\n link += C_SLASH;\n index++;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_GT) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || character !== C_GT) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n link += queue;\n content = link;\n subvalue += link + character;\n now = eat.now();\n now.column++;\n now.offset++;\n\n if (hasAtCharacter) {\n if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) {\n content = content.substr(MAILTO_LENGTH);\n now.column += MAILTO_LENGTH;\n now.offset += MAILTO_LENGTH;\n } else {\n link = MAILTO + link;\n }\n }\n\n /* Temporarily remove all tokenizers except text in autolinks. */\n tokenizers = self.inlineTokenizers;\n self.inlineTokenizers = {text: tokenizers.text};\n\n exit = self.enterLink();\n\n content = self.tokenizeInline(content, now);\n\n self.inlineTokenizers = tokenizers;\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(link, {nonTerminated: false}),\n children: content\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/auto-link.js\n// module id = 925\n// module chunks = 33","'use strict';\n\nvar decode = require('parse-entities');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/url');\n\nmodule.exports = url;\nurl.locator = locate;\nurl.notInLink = true;\n\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_AT_SIGN = '@';\n\nvar HTTP_PROTOCOL = 'http://';\nvar HTTPS_PROTOCOL = 'https://';\nvar MAILTO_PROTOCOL = 'mailto:';\n\nvar PROTOCOLS = [\n HTTP_PROTOCOL,\n HTTPS_PROTOCOL,\n MAILTO_PROTOCOL\n];\n\nvar PROTOCOLS_LENGTH = PROTOCOLS.length;\n\nfunction url(eat, value, silent) {\n var self = this;\n var subvalue;\n var content;\n var character;\n var index;\n var position;\n var protocol;\n var match;\n var length;\n var queue;\n var parenCount;\n var nextCharacter;\n var exit;\n\n if (!self.options.gfm) {\n return;\n }\n\n subvalue = '';\n index = -1;\n length = PROTOCOLS_LENGTH;\n\n while (++index < length) {\n protocol = PROTOCOLS[index];\n match = value.slice(0, protocol.length);\n\n if (match.toLowerCase() === protocol) {\n subvalue = match;\n break;\n }\n }\n\n if (!subvalue) {\n return;\n }\n\n index = subvalue.length;\n length = value.length;\n queue = '';\n parenCount = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_LT) {\n break;\n }\n\n if (\n character === '.' ||\n character === ',' ||\n character === ':' ||\n character === ';' ||\n character === '\"' ||\n character === '\\'' ||\n character === ')' ||\n character === ']'\n ) {\n nextCharacter = value.charAt(index + 1);\n\n if (!nextCharacter || whitespace(nextCharacter)) {\n break;\n }\n }\n\n if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) {\n parenCount++;\n }\n\n if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) {\n parenCount--;\n\n if (parenCount < 0) {\n break;\n }\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue += queue;\n content = subvalue;\n\n if (protocol === MAILTO_PROTOCOL) {\n position = queue.indexOf(C_AT_SIGN);\n\n if (position === -1 || position === length - 1) {\n return;\n }\n\n content = content.substr(MAILTO_PROTOCOL.length);\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n exit = self.enterLink();\n content = self.tokenizeInline(content, eat.now());\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(subvalue, {nonTerminated: false}),\n children: content\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/url.js\n// module id = 926\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nvar PROTOCOLS = ['https://', 'http://', 'mailto:'];\n\nfunction locate(value, fromIndex) {\n var length = PROTOCOLS.length;\n var index = -1;\n var min = -1;\n var position;\n\n if (!this.options.gfm) {\n return -1;\n }\n\n while (++index < length) {\n position = value.indexOf(PROTOCOLS[index], fromIndex);\n\n if (position !== -1 && (position < min || min === -1)) {\n min = position;\n }\n }\n\n return min;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/url.js\n// module id = 927\n// module chunks = 33","'use strict';\n\nvar alphabetical = require('is-alphabetical');\nvar locate = require('../locate/tag');\nvar tag = require('../util/html').tag;\n\nmodule.exports = inlineHTML;\ninlineHTML.locator = locate;\n\nvar EXPRESSION_HTML_LINK_OPEN = /^/i;\n\nfunction inlineHTML(eat, value, silent) {\n var self = this;\n var length = value.length;\n var character;\n var subvalue;\n\n if (value.charAt(0) !== '<' || length < 3) {\n return;\n }\n\n character = value.charAt(1);\n\n if (\n !alphabetical(character) &&\n character !== '?' &&\n character !== '!' &&\n character !== '/'\n ) {\n return;\n }\n\n subvalue = value.match(tag);\n\n if (!subvalue) {\n return;\n }\n\n /* istanbul ignore if - not used yet. */\n if (silent) {\n return true;\n }\n\n subvalue = subvalue[0];\n\n if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) {\n self.inLink = true;\n } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) {\n self.inLink = false;\n }\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/html-inline.js\n// module id = 928\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/link');\n\nmodule.exports = link;\nlink.locator = locate;\n\nvar own = {}.hasOwnProperty;\n\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_TICK = '`';\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\n\n/* Map of characters, which can be used to mark link\n * and image titles. */\nvar LINK_MARKERS = {};\n\nLINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nLINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\n\n/* Map of characters, which can be used to mark link\n * and image titles in commonmark-mode. */\nvar COMMONMARK_LINK_MARKERS = {};\n\nCOMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE;\n\nfunction link(eat, value, silent) {\n var self = this;\n var subvalue = '';\n var index = 0;\n var character = value.charAt(0);\n var pedantic = self.options.pedantic;\n var commonmark = self.options.commonmark;\n var gfm = self.options.gfm;\n var closed;\n var count;\n var opening;\n var beforeURL;\n var beforeTitle;\n var subqueue;\n var hasMarker;\n var markers;\n var isImage;\n var content;\n var marker;\n var length;\n var title;\n var depth;\n var queue;\n var url;\n var now;\n var exit;\n var node;\n\n /* Detect whether this is an image. */\n if (character === '!') {\n isImage = true;\n subvalue = character;\n character = value.charAt(++index);\n }\n\n /* Eat the opening. */\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n /* Exit when this is a link and we’re already inside\n * a link. */\n if (!isImage && self.inLink) {\n return;\n }\n\n subvalue += character;\n queue = '';\n index++;\n\n /* Eat the content. */\n length = value.length;\n now = eat.now();\n depth = 0;\n\n now.column += index;\n now.offset += index;\n\n while (index < length) {\n character = value.charAt(index);\n subqueue = character;\n\n if (character === C_TICK) {\n /* Inline-code in link content. */\n count = 1;\n\n while (value.charAt(index + 1) === C_TICK) {\n subqueue += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n } else if (character === C_BACKSLASH) {\n /* Allow brackets to be escaped. */\n index++;\n subqueue += value.charAt(index);\n /* In GFM mode, brackets in code still count.\n * In all other modes, they don’t. This empty\n * block prevents the next statements are\n * entered. */\n } else if ((!opening || gfm) && character === C_BRACKET_OPEN) {\n depth++;\n } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) {\n if (depth) {\n depth--;\n } else {\n /* Allow white-space between content and\n * url in GFM mode. */\n if (!pedantic) {\n while (index < length) {\n character = value.charAt(index + 1);\n\n if (!whitespace(character)) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n }\n\n if (value.charAt(index + 1) !== C_PAREN_OPEN) {\n return;\n }\n\n subqueue += C_PAREN_OPEN;\n closed = true;\n index++;\n\n break;\n }\n }\n\n queue += subqueue;\n subqueue = '';\n index++;\n }\n\n /* Eat the content closing. */\n if (!closed) {\n return;\n }\n\n content = queue;\n subvalue += queue + subqueue;\n index++;\n\n /* Eat white-space. */\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat the URL. */\n character = value.charAt(index);\n markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS;\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n beforeURL += C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_GT) {\n break;\n }\n\n if (commonmark && character === '\\n') {\n return;\n }\n\n queue += character;\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n subvalue += C_LT + queue + C_GT;\n url = queue;\n index++;\n } else {\n character = null;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (subqueue && own.call(markers, character)) {\n break;\n }\n\n if (whitespace(character)) {\n if (!pedantic) {\n break;\n }\n\n subqueue += character;\n } else {\n if (character === C_PAREN_OPEN) {\n depth++;\n } else if (character === C_PAREN_CLOSE) {\n if (depth === 0) {\n break;\n }\n\n depth--;\n }\n\n queue += subqueue;\n subqueue = '';\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n }\n\n index++;\n }\n\n subvalue += queue;\n url = queue;\n index = subvalue.length;\n }\n\n /* Eat white-space. */\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n subvalue += queue;\n\n /* Eat the title. */\n if (queue && own.call(markers, character)) {\n index++;\n subvalue += character;\n queue = '';\n marker = markers[character];\n beforeTitle = subvalue;\n\n /* In commonmark-mode, things are pretty easy: the\n * marker cannot occur inside the title.\n *\n * Non-commonmark does, however, support nested\n * delimiters. */\n if (commonmark) {\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n index++;\n queue += character;\n }\n\n character = value.charAt(index);\n\n if (character !== marker) {\n return;\n }\n\n title = queue;\n subvalue += queue + character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n } else {\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n if (hasMarker) {\n queue += marker + subqueue;\n subqueue = '';\n }\n\n hasMarker = true;\n } else if (!hasMarker) {\n queue += character;\n } else if (character === C_PAREN_CLOSE) {\n subvalue += queue + marker + subqueue;\n title = queue;\n break;\n } else if (whitespace(character)) {\n subqueue += character;\n } else {\n queue += marker + subqueue + character;\n subqueue = '';\n hasMarker = false;\n }\n\n index++;\n }\n }\n }\n\n if (value.charAt(index) !== C_PAREN_CLOSE) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n subvalue += C_PAREN_CLOSE;\n\n url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n node = {\n type: isImage ? 'image' : 'link',\n title: title || null,\n url: url\n };\n\n if (isImage) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n } else {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n }\n\n return eat(subvalue)(node);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/link.js\n// module id = 929\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/link');\nvar normalize = require('../util/normalize');\n\nmodule.exports = reference;\nreference.locator = locate;\n\nvar T_LINK = 'link';\nvar T_IMAGE = 'image';\nvar T_FOOTNOTE = 'footnote';\nvar REFERENCE_TYPE_SHORTCUT = 'shortcut';\nvar REFERENCE_TYPE_COLLAPSED = 'collapsed';\nvar REFERENCE_TYPE_FULL = 'full';\nvar C_CARET = '^';\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\n\nfunction reference(eat, value, silent) {\n var self = this;\n var character = value.charAt(0);\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var intro = '';\n var type = T_LINK;\n var referenceType = REFERENCE_TYPE_SHORTCUT;\n var content;\n var identifier;\n var now;\n var node;\n var exit;\n var queue;\n var bracketed;\n var depth;\n\n /* Check whether we’re eating an image. */\n if (character === '!') {\n type = T_IMAGE;\n intro = character;\n character = value.charAt(++index);\n }\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n intro += character;\n queue = '';\n\n /* Check whether we’re eating a footnote. */\n if (self.options.footnotes && value.charAt(index) === C_CARET) {\n /* Exit if `![^` is found, so the `!` will be seen as text after this,\n * and we’ll enter this function again when `[^` is found. */\n if (type === T_IMAGE) {\n return;\n }\n\n intro += C_CARET;\n index++;\n type = T_FOOTNOTE;\n }\n\n /* Eat the text. */\n depth = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN) {\n bracketed = true;\n depth++;\n } else if (character === C_BRACKET_CLOSE) {\n if (!depth) {\n break;\n }\n\n depth--;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n\n subvalue = queue;\n content = queue;\n character = value.charAt(index);\n\n if (character !== C_BRACKET_CLOSE) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n /* Inline footnotes cannot have an identifier. */\n if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) {\n identifier = '';\n queue += character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n identifier += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n identifier += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED;\n queue += identifier + character;\n index++;\n } else {\n identifier = '';\n }\n\n subvalue += queue;\n queue = '';\n } else {\n if (!content) {\n return;\n }\n\n identifier = content;\n }\n\n /* Brackets cannot be inside the identifier. */\n if (referenceType !== REFERENCE_TYPE_FULL && bracketed) {\n return;\n }\n\n subvalue = intro + subvalue;\n\n if (type === T_LINK && self.inLink) {\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) {\n return eat(subvalue)({\n type: 'footnote',\n children: this.tokenizeInline(content, eat.now())\n });\n }\n\n now = eat.now();\n now.column += intro.length;\n now.offset += intro.length;\n identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content;\n\n node = {\n type: type + 'Reference',\n identifier: normalize(identifier)\n };\n\n if (type === T_LINK || type === T_IMAGE) {\n node.referenceType = referenceType;\n }\n\n if (type === T_LINK) {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n } else if (type === T_IMAGE) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n }\n\n return eat(subvalue)(node);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/reference.js\n// module id = 930\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/strong');\n\nmodule.exports = strong;\nstrong.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction strong(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (\n (character !== C_ASTERISK && character !== C_UNDERSCORE) ||\n value.charAt(++index) !== character\n ) {\n return;\n }\n\n pedantic = self.options.pedantic;\n marker = character;\n subvalue = marker + marker;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (\n character === marker &&\n value.charAt(index + 1) === marker &&\n (!pedantic || !whitespace(prev))\n ) {\n character = value.charAt(index + 2);\n\n if (character !== marker) {\n if (!trim(queue)) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n return eat(subvalue + queue + subvalue)({\n type: 'strong',\n children: self.tokenizeInline(queue, now)\n });\n }\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/strong.js\n// module id = 931\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('**', fromIndex);\n var underscore = value.indexOf('__', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/strong.js\n// module id = 932\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar word = require('is-word-character');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/emphasis');\n\nmodule.exports = emphasis;\nemphasis.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction emphasis(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (character !== C_ASTERISK && character !== C_UNDERSCORE) {\n return;\n }\n\n pedantic = self.options.pedantic;\n subvalue = character;\n marker = character;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (character === marker && (!pedantic || !whitespace(prev))) {\n character = value.charAt(++index);\n\n if (character !== marker) {\n if (!trim(queue) || prev === marker) {\n return;\n }\n\n if (!pedantic && marker === C_UNDERSCORE && word(character)) {\n queue += marker;\n continue;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column++;\n now.offset++;\n\n return eat(subvalue + queue + marker)({\n type: 'emphasis',\n children: self.tokenizeInline(queue, now)\n });\n }\n\n queue += marker;\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/emphasis.js\n// module id = 933\n// module chunks = 33","'use strict'\n\nmodule.exports = wordCharacter\n\nvar fromCode = String.fromCharCode\nvar re = /\\w/\n\n/* Check if the given character code, or the character\n * code at the first character, is a word character. */\nfunction wordCharacter(character) {\n return re.test(\n typeof character === 'number' ? fromCode(character) : character.charAt(0)\n )\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-word-character@1.0.2@is-word-character/index.js\n// module id = 934\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('*', fromIndex);\n var underscore = value.indexOf('_', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/emphasis.js\n// module id = 935\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/delete');\n\nmodule.exports = strikethrough;\nstrikethrough.locator = locate;\n\nvar C_TILDE = '~';\nvar DOUBLE = '~~';\n\nfunction strikethrough(eat, value, silent) {\n var self = this;\n var character = '';\n var previous = '';\n var preceding = '';\n var subvalue = '';\n var index;\n var length;\n var now;\n\n if (\n !self.options.gfm ||\n value.charAt(0) !== C_TILDE ||\n value.charAt(1) !== C_TILDE ||\n whitespace(value.charAt(2))\n ) {\n return;\n }\n\n index = 1;\n length = value.length;\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (\n character === C_TILDE &&\n previous === C_TILDE &&\n (!preceding || !whitespace(preceding))\n ) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n return eat(DOUBLE + subvalue + DOUBLE)({\n type: 'delete',\n children: self.tokenizeInline(subvalue, now)\n });\n }\n\n subvalue += previous;\n preceding = previous;\n previous = character;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/delete.js\n// module id = 936\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('~~', fromIndex);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/delete.js\n// module id = 937\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/code-inline');\n\nmodule.exports = inlineCode;\ninlineCode.locator = locate;\n\nvar C_TICK = '`';\n\n/* Tokenise inline code. */\nfunction inlineCode(eat, value, silent) {\n var length = value.length;\n var index = 0;\n var queue = '';\n var tickQueue = '';\n var contentQueue;\n var subqueue;\n var count;\n var openingCount;\n var subvalue;\n var character;\n var found;\n var next;\n\n while (index < length) {\n if (value.charAt(index) !== C_TICK) {\n break;\n }\n\n queue += C_TICK;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue = queue;\n openingCount = index;\n queue = '';\n next = value.charAt(index);\n count = 0;\n\n while (index < length) {\n character = next;\n next = value.charAt(index + 1);\n\n if (character === C_TICK) {\n count++;\n tickQueue += character;\n } else {\n count = 0;\n queue += character;\n }\n\n if (count && next !== C_TICK) {\n if (count === openingCount) {\n subvalue += queue + tickQueue;\n found = true;\n break;\n }\n\n queue += tickQueue;\n tickQueue = '';\n }\n\n index++;\n }\n\n if (!found) {\n if (openingCount % 2 !== 0) {\n return;\n }\n\n queue = '';\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n contentQueue = '';\n subqueue = '';\n length = queue.length;\n index = -1;\n\n while (++index < length) {\n character = queue.charAt(index);\n\n if (whitespace(character)) {\n subqueue += character;\n continue;\n }\n\n if (subqueue) {\n if (contentQueue) {\n contentQueue += subqueue;\n }\n\n subqueue = '';\n }\n\n contentQueue += character;\n }\n\n return eat(subvalue)({\n type: 'inlineCode',\n value: contentQueue\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/code-inline.js\n// module id = 938\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('`', fromIndex);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/code-inline.js\n// module id = 939\n// module chunks = 33","'use strict';\n\nvar locate = require('../locate/break');\n\nmodule.exports = hardBreak;\nhardBreak.locator = locate;\n\nvar MIN_BREAK_LENGTH = 2;\n\nfunction hardBreak(eat, value, silent) {\n var length = value.length;\n var index = -1;\n var queue = '';\n var character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === '\\n') {\n if (index < MIN_BREAK_LENGTH) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n queue += character;\n\n return eat(queue)({type: 'break'});\n }\n\n if (character !== ' ') {\n return;\n }\n\n queue += character;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/break.js\n// module id = 940\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var index = value.indexOf('\\n', fromIndex);\n\n while (index > fromIndex) {\n if (value.charAt(index - 1) !== ' ') {\n break;\n }\n\n index--;\n }\n\n return index;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/break.js\n// module id = 941\n// module chunks = 33","'use strict';\n\nmodule.exports = text;\n\nfunction text(eat, value, silent) {\n var self = this;\n var methods;\n var tokenizers;\n var index;\n var length;\n var subvalue;\n var position;\n var tokenizer;\n var name;\n var min;\n var now;\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n methods = self.inlineMethods;\n length = methods.length;\n tokenizers = self.inlineTokenizers;\n index = -1;\n min = value.length;\n\n while (++index < length) {\n name = methods[index];\n\n if (name === 'text' || !tokenizers[name]) {\n continue;\n }\n\n tokenizer = tokenizers[name].locator;\n\n if (!tokenizer) {\n eat.file.fail('Missing locator: `' + name + '`');\n }\n\n position = tokenizer.call(self, value, 1);\n\n if (position !== -1 && position < min) {\n min = position;\n }\n }\n\n subvalue = value.slice(0, min);\n now = eat.now();\n\n self.decode(subvalue, now, function (content, position, source) {\n eat(source || content)({\n type: 'text',\n value: content\n });\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/text.js\n// module id = 942\n// module chunks = 33","var visitWithParents = require('unist-util-visit-parents');\n\nfunction addListMetadata() {\n return function (ast) {\n visitWithParents(ast, 'list', function (listNode, parents) {\n var depth = 0, i, n;\n for (i = 0, n = parents.length; i < n; i++) {\n if (parents[i].type === 'list') depth += 1;\n }\n for (i = 0, n = listNode.children.length; i < n; i++) {\n var child = listNode.children[i];\n child.index = i;\n child.ordered = listNode.ordered;\n }\n listNode.depth = depth;\n });\n return ast;\n };\n}\n\nmodule.exports = addListMetadata;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mdast-add-list-metadata@1.0.1@mdast-add-list-metadata/index.js\n// module id = 943\n// module chunks = 33","'use strict'\n\n/* Expose. */\nmodule.exports = visitParents\n\n/* Visit. */\nfunction visitParents(tree, type, visitor) {\n var stack = []\n\n if (typeof type === 'function') {\n visitor = type\n type = null\n }\n\n one(tree)\n\n /* Visit a single node. */\n function one(node) {\n var result\n\n if (!type || node.type === type) {\n result = visitor(node, stack.concat())\n }\n\n if (node.children && result !== false) {\n return all(node.children, node)\n }\n\n return result\n }\n\n /* Visit children in `parent`. */\n function all(children, parent) {\n var length = children.length\n var index = -1\n var child\n\n stack.push(parent)\n\n while (++index < length) {\n child = children[index]\n\n if (child && one(child) === false) {\n return false\n }\n }\n\n stack.pop()\n\n return true\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-visit-parents@1.1.2@unist-util-visit-parents/index.js\n// module id = 944\n// module chunks = 33","'use strict';\n\n/**\n * Naive, simple plugin to match inline nodes without attributes\n * This allows say foo, but not foo\n * For proper HTML support, you'll want a different plugin\n **/\nvar visit = require('unist-util-visit');\n\nvar type = 'virtualHtml';\nvar selfClosingRe = /^<(area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)\\s*\\/?>$/i;\nvar simpleTagRe = /^<(\\/?)([a-z]+)\\s*>$/;\n\nmodule.exports = function (tree) {\n var open = void 0;\n var currentParent = void 0;\n visit(tree, 'html', function (node, index, parent) {\n if (currentParent !== parent) {\n open = [];\n currentParent = parent;\n }\n\n var selfClosing = getSelfClosing(node);\n if (selfClosing) {\n parent.children.splice(index, 1, {\n type: type,\n tag: selfClosing,\n position: node.position\n });\n return true;\n }\n\n var current = getSimpleTag(node, parent);\n if (!current) {\n return true;\n }\n\n var matching = findAndPull(open, current.tag);\n\n if (matching) {\n parent.children.splice(index, 0, virtual(current, matching, parent));\n } else if (!current.opening) {\n open.push(current);\n }\n\n return true;\n }, true // Iterate in reverse\n );\n\n return tree;\n};\n\nfunction findAndPull(open, matchingTag) {\n var i = open.length;\n while (i--) {\n if (open[i].tag === matchingTag) {\n return open.splice(i, 1)[0];\n }\n }\n\n return false;\n}\n\nfunction getSimpleTag(node, parent) {\n var match = node.value.match(simpleTagRe);\n return match ? { tag: match[2], opening: !match[1], node: node } : false;\n}\n\nfunction getSelfClosing(node) {\n var match = node.value.match(selfClosingRe);\n return match ? match[1] : false;\n}\n\nfunction virtual(fromNode, toNode, parent) {\n var fromIndex = parent.children.indexOf(fromNode.node);\n var toIndex = parent.children.indexOf(toNode.node);\n\n var extracted = parent.children.splice(fromIndex, toIndex - fromIndex + 1);\n var children = extracted.slice(1, -1);\n return {\n type: type,\n children: children,\n tag: fromNode.tag,\n position: {\n start: fromNode.node.position.start,\n end: toNode.node.position.end,\n indent: []\n }\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/plugins/naive-html.js\n// module id = 945\n// module chunks = 33","'use strict';\n\nvar visit = require('unist-util-visit');\n\nexports.ofType = function (types, mode) {\n return function (node) {\n types.forEach(function (type) {\n return visit(node, type, disallow, true);\n });\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nexports.ifNotMatch = function (allowNode, mode) {\n return function (node) {\n visit(node, disallow, true);\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent && !allowNode(node, index, parent)) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nfunction untangle(node, index, parent, mode) {\n if (mode === 'remove') {\n parent.children.splice(index, 1);\n } else if (mode === 'unwrap') {\n var args = [index, 1];\n\n if (node.children) {\n args = args.concat(node.children);\n }\n\n Array.prototype.splice.apply(parent.children, args);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/plugins/disallow-node.js\n// module id = 946\n// module chunks = 33","'use strict';\n\nvar React = require('react');\nvar xtend = require('xtend');\n\nfunction astToReact(node, options) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var renderer = options.renderers[node.type];\n\n var pos = node.position.start;\n var key = [node.type, pos.line, pos.column].join('-');\n\n if (node.type === 'text') {\n return renderer ? renderer(node.value, key) : node.value;\n }\n\n if (typeof renderer !== 'function' && typeof renderer !== 'string' && !isReactFragment(renderer)) {\n throw new Error('Renderer for type `' + node.type + '` not defined or is not renderable');\n }\n\n var nodeProps = getNodeProps(node, key, options, renderer, parent, index);\n\n return React.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || undefined);\n\n function resolveChildren() {\n return node.children && node.children.map(function (childNode, i) {\n return astToReact(childNode, options, { node: node, props: nodeProps }, i);\n });\n }\n}\n\nfunction isReactFragment(renderer) {\n return React.Fragment && React.Fragment === renderer;\n}\n\n// eslint-disable-next-line max-params, complexity\nfunction getNodeProps(node, key, opts, renderer, parent, index) {\n var props = { key: key };\n\n var isTagRenderer = typeof renderer === 'string';\n\n // `sourcePos` is true if the user wants source information (line/column info from markdown source)\n if (opts.sourcePos && node.position) {\n props['data-sourcepos'] = flattenPosition(node.position);\n }\n\n if (opts.rawSourcePos && !isTagRenderer) {\n props.sourcePosition = node.position;\n }\n\n // If `includeNodeIndex` is true, pass node index info to all non-tag renderers\n if (opts.includeNodeIndex && parent.node && parent.node.children && !isTagRenderer) {\n props.index = parent.node.children.indexOf(node);\n props.parentChildCount = parent.node.children.length;\n }\n\n var ref = node.identifier !== null && node.identifier !== undefined ? opts.definitions[node.identifier] || {} : null;\n\n switch (node.type) {\n case 'root':\n assignDefined(props, { className: opts.className });\n break;\n case 'heading':\n props.level = node.depth;\n break;\n case 'list':\n props.start = node.start;\n props.ordered = node.ordered;\n props.tight = !node.loose;\n props.depth = node.depth;\n break;\n case 'listItem':\n props.checked = node.checked;\n props.tight = !node.loose;\n props.ordered = node.ordered;\n props.index = node.index;\n props.children = (props.tight ? unwrapParagraphs(node) : node.children).map(function (childNode, i) {\n return astToReact(childNode, opts, { node: node, props: props }, i);\n });\n break;\n case 'definition':\n assignDefined(props, { identifier: node.identifier, title: node.title, url: node.url });\n break;\n case 'code':\n assignDefined(props, { language: node.lang && node.lang.split(/\\s/, 1)[0] });\n break;\n case 'inlineCode':\n props.children = node.value;\n props.inline = true;\n break;\n case 'link':\n assignDefined(props, {\n title: node.title || undefined,\n target: typeof opts.linkTarget === 'function' ? opts.linkTarget(node.url, node.children, node.title) : opts.linkTarget,\n href: opts.transformLinkUri ? opts.transformLinkUri(node.url, node.children, node.title) : node.url\n });\n break;\n case 'image':\n assignDefined(props, {\n alt: node.alt || undefined,\n title: node.title || undefined,\n src: opts.transformImageUri ? opts.transformImageUri(node.url, node.children, node.title, node.alt) : node.url\n });\n break;\n case 'linkReference':\n assignDefined(props, xtend(ref, {\n href: opts.transformLinkUri ? opts.transformLinkUri(ref.href) : ref.href\n }));\n break;\n case 'imageReference':\n assignDefined(props, {\n src: opts.transformImageUri && ref.href ? opts.transformImageUri(ref.href, node.children, ref.title, node.alt) : ref.href,\n title: ref.title || undefined,\n alt: node.alt || undefined\n });\n break;\n case 'table':\n case 'tableHead':\n case 'tableBody':\n props.columnAlignment = node.align;\n break;\n case 'tableRow':\n props.isHeader = parent.node.type === 'tableHead';\n props.columnAlignment = parent.props.columnAlignment;\n break;\n case 'tableCell':\n assignDefined(props, {\n isHeader: parent.props.isHeader,\n align: parent.props.columnAlignment[index]\n });\n break;\n case 'virtualHtml':\n props.tag = node.tag;\n break;\n case 'html':\n // @todo find a better way than this\n props.isBlock = node.position.start.line !== node.position.end.line;\n props.escapeHtml = opts.escapeHtml;\n props.skipHtml = opts.skipHtml;\n break;\n default:\n assignDefined(props, xtend(node, {\n type: undefined,\n position: undefined,\n children: undefined\n }));\n }\n\n if (!isTagRenderer && node.value) {\n props.value = node.value;\n }\n\n return props;\n}\n\nfunction assignDefined(target, attrs) {\n for (var key in attrs) {\n if (typeof attrs[key] !== 'undefined') {\n target[key] = attrs[key];\n }\n }\n}\n\nfunction flattenPosition(pos) {\n return [pos.start.line, ':', pos.start.column, '-', pos.end.line, ':', pos.end.column].map(String).join('');\n}\n\nfunction unwrapParagraphs(node) {\n return node.children.reduce(function (array, child) {\n return array.concat(child.type === 'paragraph' ? child.children || [] : [child]);\n }, []);\n}\n\nmodule.exports = astToReact;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/ast-to-react.js\n// module id = 947\n// module chunks = 33","'use strict';\n\nvar visit = require('unist-util-visit');\n\nmodule.exports = function (node) {\n visit(node, 'table', wrap);\n return node;\n};\n\nfunction wrap(table) {\n var children = table.children;\n table.children = [{\n type: 'tableHead',\n align: table.align,\n children: [children[0]],\n position: children[0].position\n }];\n if (children.length > 1) {\n table.children.push({\n type: 'tableBody',\n align: table.align,\n children: children.slice(1),\n position: {\n start: children[1].position.start,\n end: children[children.length - 1].position.end\n }\n });\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/wrap-table-rows.js\n// module id = 948\n// module chunks = 33","'use strict';\n\nmodule.exports = function getDefinitions(node) {\n var defs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (node.children || []).reduce(function (definitions, child) {\n if (child.type === 'definition') {\n definitions[child.identifier] = {\n href: child.url,\n title: child.title\n };\n }\n\n return getDefinitions(child, definitions);\n }, defs);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/get-definitions.js\n// module id = 949\n// module chunks = 33","'use strict';\n\nvar protocols = ['http', 'https', 'mailto', 'tel'];\n\nmodule.exports = function uriTransformer(uri) {\n var url = (uri || '').trim();\n var first = url.charAt(0);\n\n if (first === '#' || first === '/') {\n return url;\n }\n\n var colon = url.indexOf(':');\n if (colon === -1) {\n return url;\n }\n\n var length = protocols.length;\n var index = -1;\n\n while (++index < length) {\n var protocol = protocols[index];\n\n if (colon === protocol.length && url.slice(0, protocol.length) === protocol) {\n return url;\n }\n }\n\n index = url.indexOf('?');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n index = url.indexOf('#');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/uriTransformer.js\n// module id = 950\n// module chunks = 33","/* eslint-disable react/prop-types, react/no-multi-comp */\n'use strict';\n\nvar xtend = require('xtend');\nvar React = require('react');\nvar createElement = React.createElement;\n\nmodule.exports = {\n root: 'div',\n break: 'br',\n paragraph: 'p',\n emphasis: 'em',\n strong: 'strong',\n thematicBreak: 'hr',\n blockquote: 'blockquote',\n delete: 'del',\n link: 'a',\n image: 'img',\n linkReference: 'a',\n imageReference: 'img',\n table: SimpleRenderer.bind(null, 'table'),\n tableHead: SimpleRenderer.bind(null, 'thead'),\n tableBody: SimpleRenderer.bind(null, 'tbody'),\n tableRow: SimpleRenderer.bind(null, 'tr'),\n tableCell: TableCell,\n\n list: List,\n listItem: ListItem,\n definition: NullRenderer,\n heading: Heading,\n inlineCode: InlineCode,\n code: CodeBlock,\n html: Html,\n virtualHtml: VirtualHtml\n};\n\nfunction SimpleRenderer(tag, props) {\n return createElement(tag, getCoreProps(props), props.children);\n}\n\nfunction TableCell(props) {\n var style = props.align ? { textAlign: props.align } : undefined;\n var coreProps = getCoreProps(props);\n return createElement(props.isHeader ? 'th' : 'td', style ? xtend({ style: style }, coreProps) : coreProps, props.children);\n}\n\nfunction Heading(props) {\n return createElement('h' + props.level, getCoreProps(props), props.children);\n}\n\nfunction List(props) {\n var attrs = getCoreProps(props);\n if (props.start !== null && props.start !== 1) {\n attrs.start = props.start.toString();\n }\n\n return createElement(props.ordered ? 'ol' : 'ul', attrs, props.children);\n}\n\nfunction ListItem(props) {\n var checkbox = null;\n if (props.checked !== null) {\n var checked = props.checked;\n checkbox = createElement('input', { type: 'checkbox', checked: checked, readOnly: true });\n }\n\n return createElement('li', getCoreProps(props), checkbox, props.children);\n}\n\nfunction CodeBlock(props) {\n var className = props.language && 'language-' + props.language;\n var code = createElement('code', className ? { className: className } : null, props.value);\n return createElement('pre', getCoreProps(props), code);\n}\n\nfunction InlineCode(props) {\n return createElement('code', getCoreProps(props), props.children);\n}\n\nfunction Html(props) {\n if (props.skipHtml) {\n return null;\n }\n\n var tag = props.isBlock ? 'div' : 'span';\n if (props.escapeHtml) {\n // @todo when fiber lands, we can simply render props.value\n return createElement(tag, null, props.value);\n }\n\n var nodeProps = { dangerouslySetInnerHTML: { __html: props.value } };\n return createElement(tag, nodeProps);\n}\n\nfunction VirtualHtml(props) {\n return createElement(props.tag, getCoreProps(props), props.children);\n}\n\nfunction NullRenderer() {\n return null;\n}\n\nfunction getCoreProps(props) {\n return props['data-sourcepos'] ? { 'data-sourcepos': props['data-sourcepos'] } : {};\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/renderers.js\n// module id = 951\n// module chunks = 33","import React, { Component } from 'react';\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from 'material-ui/styles';\r\n\r\nimport Table, { TableBody, TableCell, TableHead, TableRow } from 'material-ui/Table';\r\nimport Paper from 'material-ui/Paper';\r\n\r\nimport showdown from 'showdown'\r\nconst converter = new showdown.Converter()\r\n // text = '# hello, markdown!',\r\n // html = converter.makeHtml(text);\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing.unit * 3 + 'px !important',\r\n overflowX: 'auto',\r\n },\r\n table: {\r\n // minWidth: 300,\r\n width: '200px !important',\r\n margin: '0 auto',\r\n },\r\n});\r\n\r\nconst ChooseAnswerView = ({ gameAnswer, classes }) => {\r\n\tif (!gameAnswer) {\r\n\t\treturn ''\r\n\t}\r\n\treturn (\r\n\t\t
    \r\n {gameAnswer.map( (n, index) => {\r\n return (\r\n
    \r\n

    第{index+1}题

    \r\n

    \r\n
    \r\n );\r\n })}\r\n\t
    \r\n\t\t)\r\n}\r\n\r\nexport default withStyles(styles)( ChooseAnswerView );\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/component/ChooseAnswerView.js","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Table.default;\n }\n});\nObject.defineProperty(exports, \"TableBody\", {\n enumerable: true,\n get: function get() {\n return _TableBody.default;\n }\n});\nObject.defineProperty(exports, \"TableCell\", {\n enumerable: true,\n get: function get() {\n return _TableCell.default;\n }\n});\nObject.defineProperty(exports, \"TableFooter\", {\n enumerable: true,\n get: function get() {\n return _TableFooter.default;\n }\n});\nObject.defineProperty(exports, \"TableHead\", {\n enumerable: true,\n get: function get() {\n return _TableHead.default;\n }\n});\nObject.defineProperty(exports, \"TablePagination\", {\n enumerable: true,\n get: function get() {\n return _TablePagination.default;\n }\n});\nObject.defineProperty(exports, \"TableRow\", {\n enumerable: true,\n get: function get() {\n return _TableRow.default;\n }\n});\nObject.defineProperty(exports, \"TableSortLabel\", {\n enumerable: true,\n get: function get() {\n return _TableSortLabel.default;\n }\n});\n\nvar _Table = _interopRequireDefault(require(\"./Table\"));\n\nvar _TableBody = _interopRequireDefault(require(\"./TableBody\"));\n\nvar _TableCell = _interopRequireDefault(require(\"./TableCell\"));\n\nvar _TableFooter = _interopRequireDefault(require(\"./TableFooter\"));\n\nvar _TableHead = _interopRequireDefault(require(\"./TableHead\"));\n\nvar _TablePagination = _interopRequireDefault(require(\"./TablePagination\"));\n\nvar _TableRow = _interopRequireDefault(require(\"./TableRow\"));\n\nvar _TableSortLabel = _interopRequireDefault(require(\"./TableSortLabel\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/index.js\n// module id = 953\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'table',\n fontFamily: theme.typography.fontFamily,\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar Table =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Table, _React$Component);\n\n function Table() {\n (0, _classCallCheck2.default)(this, Table);\n return (0, _possibleConstructorReturn2.default)(this, (Table.__proto__ || (0, _getPrototypeOf.default)(Table)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(Table, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {}\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return Table;\n}(_react.default.Component);\n\nTable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the table, normally `TableHeader` and `TableBody`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTable.defaultProps = {\n component: 'table'\n};\nTable.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTable'\n})(Table);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/Table.js\n// module id = 954\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n display: 'table-row-group'\n }\n};\n\nvar TableBody =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableBody, _React$Component);\n\n function TableBody() {\n (0, _classCallCheck2.default)(this, TableBody);\n return (0, _possibleConstructorReturn2.default)(this, (TableBody.__proto__ || (0, _getPrototypeOf.default)(TableBody)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableBody, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n body: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableBody;\n}(_react.default.Component);\n\nTableBody.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableBody.defaultProps = {\n component: 'tbody'\n};\nTableBody.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableBody'\n})(TableBody);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableBody.js\n// module id = 955\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n display: 'table-footer-group'\n }\n};\n\nvar TableFooter =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableFooter, _React$Component);\n\n function TableFooter() {\n (0, _classCallCheck2.default)(this, TableFooter);\n return (0, _possibleConstructorReturn2.default)(this, (TableFooter.__proto__ || (0, _getPrototypeOf.default)(TableFooter)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableFooter, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n footer: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableFooter;\n}(_react.default.Component);\n\nTableFooter.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableFooter.defaultProps = {\n component: 'tfoot'\n};\nTableFooter.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableFooter'\n})(TableFooter);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableFooter.js\n// module id = 956\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n display: 'table-header-group'\n }\n};\n\nvar TableHead =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableHead, _React$Component);\n\n function TableHead() {\n (0, _classCallCheck2.default)(this, TableHead);\n return (0, _possibleConstructorReturn2.default)(this, (TableHead.__proto__ || (0, _getPrototypeOf.default)(TableHead)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableHead, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n head: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableHead;\n}(_react.default.Component);\n\nTableHead.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableHead.defaultProps = {\n component: 'thead'\n};\nTableHead.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableHead'\n})(TableHead);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableHead.js\n// module id = 957\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Input = _interopRequireDefault(require(\"../Input\"));\n\nvar _Menu = require(\"../Menu\");\n\nvar _Select = _interopRequireDefault(require(\"../Select\"));\n\nvar _TableCell = _interopRequireDefault(require(\"./TableCell\"));\n\nvar _Toolbar = _interopRequireDefault(require(\"../Toolbar\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\nvar _TablePaginationActions = _interopRequireDefault(require(\"./TablePaginationActions\"));\n\n// @inheritedComponent TableCell\nvar styles = function styles(theme) {\n return {\n root: {\n fontSize: theme.typography.pxToRem(12),\n // Increase the specificity to override TableCell.\n '&:last-child': {\n padding: 0\n }\n },\n toolbar: {\n height: 56,\n minHeight: 56,\n paddingRight: 2\n },\n spacer: {\n flex: '1 1 100%'\n },\n menuItem: {},\n caption: {\n flexShrink: 0\n },\n input: {\n fontSize: 'inherit',\n flexShrink: 0\n },\n selectRoot: {\n marginRight: theme.spacing.unit * 4,\n marginLeft: theme.spacing.unit,\n color: theme.palette.text.secondary\n },\n select: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit * 2\n },\n selectIcon: {\n top: 1\n },\n actions: {\n flexShrink: 0,\n color: theme.palette.text.secondary,\n marginLeft: theme.spacing.unit * 2.5\n }\n };\n};\n/**\n * A `TableCell` based component for placing inside `TableFooter` for pagination.\n */\n\n\nexports.styles = styles;\n\nvar TablePagination =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePagination, _React$Component);\n\n function TablePagination() {\n (0, _classCallCheck2.default)(this, TablePagination);\n return (0, _possibleConstructorReturn2.default)(this, (TablePagination.__proto__ || (0, _getPrototypeOf.default)(TablePagination)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TablePagination, [{\n key: \"componentDidUpdate\",\n // This logic would be better handled on userside.\n // However, we have it just in case.\n value: function componentDidUpdate() {\n var _props = this.props,\n count = _props.count,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage;\n var newLastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);\n\n if (page > newLastPage) {\n onChangePage(null, newLastPage);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n ActionsComponent = _props2.ActionsComponent,\n backIconButtonProps = _props2.backIconButtonProps,\n classes = _props2.classes,\n colSpanProp = _props2.colSpan,\n Component = _props2.component,\n count = _props2.count,\n labelDisplayedRows = _props2.labelDisplayedRows,\n labelRowsPerPage = _props2.labelRowsPerPage,\n nextIconButtonProps = _props2.nextIconButtonProps,\n onChangePage = _props2.onChangePage,\n onChangeRowsPerPage = _props2.onChangeRowsPerPage,\n page = _props2.page,\n rowsPerPage = _props2.rowsPerPage,\n rowsPerPageOptions = _props2.rowsPerPageOptions,\n SelectProps = _props2.SelectProps,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"ActionsComponent\", \"backIconButtonProps\", \"classes\", \"colSpan\", \"component\", \"count\", \"labelDisplayedRows\", \"labelRowsPerPage\", \"nextIconButtonProps\", \"onChangePage\", \"onChangeRowsPerPage\", \"page\", \"rowsPerPage\", \"rowsPerPageOptions\", \"SelectProps\"]);\n var colSpan;\n\n if (Component === _TableCell.default || Component === 'td') {\n colSpan = colSpanProp || 1000; // col-span over everything\n }\n\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: classes.root,\n colSpan: colSpan\n }, other), _react.default.createElement(_Toolbar.default, {\n className: classes.toolbar\n }, _react.default.createElement(\"div\", {\n className: classes.spacer\n }), rowsPerPageOptions.length > 1 && _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelRowsPerPage), rowsPerPageOptions.length > 1 && _react.default.createElement(_Select.default, (0, _extends2.default)({\n classes: {\n root: classes.selectRoot,\n select: classes.select,\n icon: classes.selectIcon\n },\n input: _react.default.createElement(_Input.default, {\n className: classes.input,\n disableUnderline: true\n }),\n value: rowsPerPage,\n onChange: onChangeRowsPerPage\n }, SelectProps), rowsPerPageOptions.map(function (rowsPerPageOption) {\n return _react.default.createElement(_Menu.MenuItem, {\n className: classes.menuItem,\n key: rowsPerPageOption,\n value: rowsPerPageOption\n }, rowsPerPageOption);\n })), _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelDisplayedRows({\n from: count === 0 ? 0 : page * rowsPerPage + 1,\n to: Math.min(count, (page + 1) * rowsPerPage),\n count: count,\n page: page\n })), _react.default.createElement(ActionsComponent, {\n className: classes.actions,\n backIconButtonProps: backIconButtonProps,\n count: count,\n nextIconButtonProps: nextIconButtonProps,\n onChangePage: onChangePage,\n page: page,\n rowsPerPage: rowsPerPage\n })));\n }\n }]);\n return TablePagination;\n}(_react.default.Component);\n\nTablePagination.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The component used for displaying the actions.\n * Either a string to use a DOM element or a component.\n */\n ActionsComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Properties applied to the back arrow `IconButton` component.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n colSpan: _propTypes.default.number,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Useful to customize the displayed rows label.\n */\n labelDisplayedRows: _propTypes.default.func,\n\n /**\n * Useful to customize the rows per page label. Invoked with a `{ from, to, count, page }`\n * object.\n */\n labelRowsPerPage: _propTypes.default.node,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * Callback fired when the number of rows per page is changed.\n *\n * @param {object} event The event source of the callback\n */\n onChangeRowsPerPage: _propTypes.default.func,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * Customizes the options of the rows per page select field. If less than two options are\n * available, no select field will be displayed.\n */\n rowsPerPageOptions: _propTypes.default.array,\n\n /**\n * Properties applied to the rows per page `Select` element.\n */\n SelectProps: _propTypes.default.object\n} : {};\nTablePagination.defaultProps = {\n ActionsComponent: _TablePaginationActions.default,\n component: _TableCell.default,\n labelDisplayedRows: function labelDisplayedRows(_ref) {\n var from = _ref.from,\n to = _ref.to,\n count = _ref.count;\n return \"\".concat(from, \"-\").concat(to, \" of \").concat(count);\n },\n labelRowsPerPage: 'Rows per page:',\n rowsPerPageOptions: [5, 10, 25]\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTablePagination'\n})(TablePagination);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TablePagination.js\n// module id = 958\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Menu.default;\n }\n});\nObject.defineProperty(exports, \"MenuList\", {\n enumerable: true,\n get: function get() {\n return _MenuList.default;\n }\n});\nObject.defineProperty(exports, \"MenuItem\", {\n enumerable: true,\n get: function get() {\n return _MenuItem.default;\n }\n});\n\nvar _Menu = _interopRequireDefault(require(\"./Menu\"));\n\nvar _MenuList = _interopRequireDefault(require(\"./MenuList\"));\n\nvar _MenuItem = _interopRequireDefault(require(\"./MenuItem\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Menu/index.js\n// module id = 959\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Popover.default;\n }\n});\n\nvar _Popover = _interopRequireDefault(require(\"./Popover\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Popover/index.js\n// module id = 960\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _contains = _interopRequireDefault(require(\"dom-helpers/query/contains\"));\n\nvar _ownerDocument = _interopRequireDefault(require(\"dom-helpers/ownerDocument\"));\n\nvar _debounce = _interopRequireDefault(require(\"lodash/debounce\"));\n\nvar _reactEventListener = _interopRequireDefault(require(\"react-event-listener\"));\n\nvar _ownerWindow = _interopRequireDefault(require(\"../utils/ownerWindow\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Modal = _interopRequireDefault(require(\"../Modal\"));\n\nvar _Grow = _interopRequireDefault(require(\"../transitions/Grow\"));\n\nvar _Paper = _interopRequireDefault(require(\"../Paper\"));\n\n// @inheritedComponent Modal\nfunction getOffsetTop(rect, vertical) {\n var offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\n\nfunction getOffsetLeft(rect, horizontal) {\n var offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(function (n) {\n return typeof n === 'number' ? \"\".concat(n, \"px\") : n;\n }).join(' ');\n} // Sum the scrollTop between two elements.\n\n\nfunction getScrollParent(parent, child) {\n var element = child;\n var scrollTop = 0;\n\n while (element && element !== parent) {\n element = element.parentNode;\n scrollTop += element.scrollTop;\n }\n\n return scrollTop;\n}\n\nfunction getAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nvar styles = {\n paper: {\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100vw - 32px)',\n maxHeight: 'calc(100vh - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none'\n }\n};\nexports.styles = styles;\n\nvar Popover =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Popover, _React$Component);\n\n function Popover() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Popover);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Popover.__proto__ || (0, _getPrototypeOf.default)(Popover)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"componentWillUnmount\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.handleResize.cancel();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"setPositioningStyles\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (element && element.style) {\n var positioning = _this.getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getPositioningStyle\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n var _this$props = _this.props,\n anchorEl = _this$props.anchorEl,\n anchorReference = _this$props.anchorReference,\n marginThreshold = _this$props.marginThreshold; // Check if the parent has requested anchoring on an inner content node\n\n var contentAnchorOffset = _this.getContentAnchorOffset(element);\n\n var elemRect = {\n width: element.clientWidth,\n height: element.clientHeight\n }; // Get the transform origin point on the element itself\n\n var transformOrigin = _this.getTransformOrigin(elemRect, contentAnchorOffset);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n } // Get the offset of of the anchoring element\n\n\n var anchorOffset = _this.getAnchorOffset(contentAnchorOffset); // Calculate element positioning\n\n\n var top = anchorOffset.top - transformOrigin.vertical;\n var left = anchorOffset.left - transformOrigin.horizontal;\n var bottom = top + elemRect.height;\n var right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n var containerWindow = (0, _ownerWindow.default)(getAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n var heightThreshold = containerWindow.innerHeight - marginThreshold;\n var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n var diff = top - marginThreshold;\n top -= diff;\n transformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n var _diff = bottom - heightThreshold;\n\n top -= _diff;\n transformOrigin.vertical += _diff;\n }\n\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(elemRect.height < heightThreshold || !elemRect.height || !heightThreshold, ['Material-UI: the popover component is too tall.', \"Some part of it can not be seen on the screen (\".concat(elemRect.height - heightThreshold, \"px).\"), 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n')) : void 0; // Check if the horizontal axis needs shifting\n\n if (left < marginThreshold) {\n var _diff2 = left - marginThreshold;\n\n left -= _diff2;\n transformOrigin.horizontal += _diff2;\n } else if (right > widthThreshold) {\n var _diff3 = right - widthThreshold;\n\n left -= _diff3;\n transformOrigin.horizontal += _diff3;\n }\n\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"transitionEl\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetTop\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetTop\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetLeft\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetLeft\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (_this.props.onEnter) {\n _this.props.onEnter(element);\n }\n\n _this.setPositioningStyles(element);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n var element = _reactDom.default.findDOMNode(_this.transitionEl);\n\n _this.setPositioningStyles(element);\n }, 166)\n }), _temp));\n }\n\n (0, _createClass2.default)(Popover, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.action) {\n this.props.action({\n updatePosition: this.handleResize\n });\n }\n }\n }, {\n key: \"getAnchorOffset\",\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n value: function getAnchorOffset(contentAnchorOffset) {\n var _props = this.props,\n anchorEl = _props.anchorEl,\n anchorOrigin = _props.anchorOrigin,\n anchorReference = _props.anchorReference,\n anchorPosition = _props.anchorPosition;\n\n if (anchorReference === 'anchorPosition') {\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(anchorPosition, 'Material-UI: you need to provide a `anchorPosition` property when using ' + '.') : void 0;\n return anchorPosition;\n } // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n\n var anchorElement = getAnchorEl(anchorEl) || (0, _ownerDocument.default)(_reactDom.default.findDOMNode(this.transitionEl)).body;\n var anchorRect = anchorElement.getBoundingClientRect();\n var anchorVertical = contentAnchorOffset === 0 ? anchorOrigin.vertical : 'center';\n return {\n top: anchorRect.top + this.handleGetOffsetTop(anchorRect, anchorVertical),\n left: anchorRect.left + this.handleGetOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n } // Returns the vertical offset of inner content to anchor the transform on if provided\n\n }, {\n key: \"getContentAnchorOffset\",\n value: function getContentAnchorOffset(element) {\n var _props2 = this.props,\n getContentAnchorEl = _props2.getContentAnchorEl,\n anchorReference = _props2.anchorReference;\n var contentAnchorOffset = 0;\n\n if (getContentAnchorEl && anchorReference === 'anchorEl') {\n var contentAnchorEl = getContentAnchorEl(element);\n\n if (contentAnchorEl && (0, _contains.default)(element, contentAnchorEl)) {\n var scrollTop = getScrollParent(element, contentAnchorEl);\n contentAnchorOffset = contentAnchorEl.offsetTop + contentAnchorEl.clientHeight / 2 - scrollTop || 0;\n } // != the default value\n\n\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(this.props.anchorOrigin.vertical === 'top', ['Material-UI: you can not change the default `anchorOrigin.vertical` value ', 'when also providing the `getContentAnchorEl` property to the popover component.', 'Only use one of the two properties.', 'Set `getContentAnchorEl` to null or left `anchorOrigin.vertical` unchanged.'].join('\\n')) : void 0;\n }\n\n return contentAnchorOffset;\n } // Return the base transform origin using the element\n // and taking the content anchor offset into account if in use\n\n }, {\n key: \"getTransformOrigin\",\n value: function getTransformOrigin(elemRect) {\n var contentAnchorOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var transformOrigin = this.props.transformOrigin;\n return {\n vertical: this.handleGetOffsetTop(elemRect, transformOrigin.vertical) + contentAnchorOffset,\n horizontal: this.handleGetOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }\n }, {\n key: \"render\",\n // Corresponds to 10 frames at 60 Hz.\n value: function render() {\n var _this2 = this;\n\n var _props3 = this.props,\n action = _props3.action,\n anchorEl = _props3.anchorEl,\n anchorOrigin = _props3.anchorOrigin,\n anchorPosition = _props3.anchorPosition,\n anchorReference = _props3.anchorReference,\n children = _props3.children,\n classes = _props3.classes,\n containerProp = _props3.container,\n elevation = _props3.elevation,\n getContentAnchorEl = _props3.getContentAnchorEl,\n marginThreshold = _props3.marginThreshold,\n onEnter = _props3.onEnter,\n onEntered = _props3.onEntered,\n onEntering = _props3.onEntering,\n onExit = _props3.onExit,\n onExited = _props3.onExited,\n onExiting = _props3.onExiting,\n open = _props3.open,\n PaperProps = _props3.PaperProps,\n role = _props3.role,\n transformOrigin = _props3.transformOrigin,\n TransitionComponent = _props3.TransitionComponent,\n transitionDuration = _props3.transitionDuration,\n TransitionProps = _props3.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(_props3, [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"classes\", \"container\", \"elevation\", \"getContentAnchorEl\", \"marginThreshold\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"role\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]); // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n var container = containerProp || (anchorEl ? (0, _ownerDocument.default)(getAnchorEl(anchorEl)).body : undefined);\n return _react.default.createElement(_Modal.default, (0, _extends2.default)({\n container: container,\n open: open,\n BackdropProps: {\n invisible: true\n }\n }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n onEnter: this.handleEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n onExit: onExit,\n onExited: onExited,\n onExiting: onExiting,\n role: role,\n ref: function ref(node) {\n _this2.transitionEl = node;\n }\n }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({\n className: classes.paper,\n elevation: elevation\n }, PaperProps), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), children)));\n }\n }]);\n return Popover;\n}(_react.default.Component);\n\nPopover.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * This is callback property. It's called by the component on mount.\n * This is useful when you want to trigger an action programmatically.\n * It currently only supports updatePosition() action.\n *\n * @param {object} actions This object contains all posible actions\n * that can be triggered programmatically.\n */\n action: _propTypes.default.func,\n\n /**\n * This is the DOM element, or a function that returns the DOM element,\n * that may be used to set the position of the popover.\n */\n anchorEl: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n */\n anchorOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * This is the position that may be used\n * to set the position of the popover.\n * The coordinates are relative to\n * the application's client area.\n */\n anchorPosition: _propTypes.default.shape({\n top: _propTypes.default.number,\n left: _propTypes.default.number\n }),\n\n /*\n * This determines which anchor prop to refer to to set\n * the position of the popover.\n */\n anchorReference: _propTypes.default.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n * By default, it's using the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * The elevation of the popover.\n */\n elevation: _propTypes.default.number,\n\n /**\n * This function is called in order to retrieve the content anchor element.\n * It's the opposite of the `anchorEl` property.\n * The content anchor element should be an element inside the popover.\n * It's used to correctly scroll and set the position of the popover.\n * The positioning strategy tries to make the content anchor element just above the\n * anchor element.\n */\n getContentAnchorEl: _propTypes.default.func,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n */\n marginThreshold: _propTypes.default.number,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the component is entering.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the component has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the component is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired before the component is exiting.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the component has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the component is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * If `true`, the popover is visible.\n */\n open: _propTypes.default.bool.isRequired,\n\n /**\n * Properties applied to the `Paper` element.\n */\n PaperProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n */\n transformOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nPopover.defaultProps = {\n anchorReference: 'anchorEl',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n elevation: 8,\n marginThreshold: 16,\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent: _Grow.default,\n transitionDuration: 'auto'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiPopover'\n})(Popover);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Popover/Popover.js\n// module id = 961\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Transition = _interopRequireDefault(require(\"react-transition-group/Transition\"));\n\nvar _withTheme = _interopRequireDefault(require(\"../styles/withTheme\"));\n\nvar _utils = require(\"./utils\");\n\n// @inheritedComponent Transition\nfunction getScale(value) {\n return \"scale(\".concat(value, \", \").concat(Math.pow(value, 2), \")\");\n}\n\nvar styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: getScale(1)\n }\n};\n/**\n * The Grow transition is used by the [Popover](/utils/popovers) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Grow =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Grow, _React$Component);\n\n function Grow() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Grow);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Grow.__proto__ || (0, _getPrototypeOf.default)(Grow)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"autoTimeout\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"timer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props = _this.props,\n theme = _this$props.theme,\n timeout = _this$props.timeout;\n (0, _utils.reflow)(node); // So the animation always start from the start.\n\n var _getTransitionProps = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration,\n delay = _getTransitionProps.delay;\n\n var duration = 0;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay\n })].join(',');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props2 = _this.props,\n theme = _this$props2.theme,\n timeout = _this$props2.timeout;\n var duration = 0;\n\n var _getTransitionProps2 = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration,\n delay = _getTransitionProps2.delay;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay || duration * 0.333\n })].join(',');\n node.style.opacity = '0';\n node.style.transform = getScale(0.75);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"addEndListener\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(_, next) {\n if (_this.props.timeout === 'auto') {\n _this.timer = setTimeout(next, _this.autoTimeout || 0);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Grow, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timer);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n onEnter = _props.onEnter,\n onExit = _props.onExit,\n styleProp = _props.style,\n theme = _props.theme,\n timeout = _props.timeout,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"onEnter\", \"onExit\", \"style\", \"theme\", \"timeout\"]);\n var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {});\n return _react.default.createElement(_Transition.default, (0, _extends2.default)({\n appear: true,\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n addEndListener: this.addEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n style: (0, _objectSpread2.default)({\n opacity: 0,\n transform: getScale(0.75)\n }, styles[state], style)\n }, childProps));\n });\n }\n }]);\n return Grow;\n}(_react.default.Component);\n\nGrow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A single child content element.\n */\n children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),\n\n /**\n * If `true`, show the component; triggers the enter or exit animation.\n */\n in: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onEnter: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onExit: _propTypes.default.func,\n\n /**\n * @ignore\n */\n style: _propTypes.default.object,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])])\n} : {};\nGrow.defaultProps = {\n timeout: 'auto'\n};\n\nvar _default = (0, _withTheme.default)()(Grow);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/transitions/Grow.js\n// module id = 962\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _List.default;\n }\n});\nObject.defineProperty(exports, \"ListItem\", {\n enumerable: true,\n get: function get() {\n return _ListItem.default;\n }\n});\nObject.defineProperty(exports, \"ListItemAvatar\", {\n enumerable: true,\n get: function get() {\n return _ListItemAvatar.default;\n }\n});\nObject.defineProperty(exports, \"ListItemText\", {\n enumerable: true,\n get: function get() {\n return _ListItemText.default;\n }\n});\nObject.defineProperty(exports, \"ListItemIcon\", {\n enumerable: true,\n get: function get() {\n return _ListItemIcon.default;\n }\n});\nObject.defineProperty(exports, \"ListItemSecondaryAction\", {\n enumerable: true,\n get: function get() {\n return _ListItemSecondaryAction.default;\n }\n});\nObject.defineProperty(exports, \"ListSubheader\", {\n enumerable: true,\n get: function get() {\n return _ListSubheader.default;\n }\n});\n\nvar _List = _interopRequireDefault(require(\"./List\"));\n\nvar _ListItem = _interopRequireDefault(require(\"./ListItem\"));\n\nvar _ListItemAvatar = _interopRequireDefault(require(\"./ListItemAvatar\"));\n\nvar _ListItemText = _interopRequireDefault(require(\"./ListItemText\"));\n\nvar _ListItemIcon = _interopRequireDefault(require(\"./ListItemIcon\"));\n\nvar _ListItemSecondaryAction = _interopRequireDefault(require(\"./ListItemSecondaryAction\"));\n\nvar _ListSubheader = _interopRequireDefault(require(\"./ListSubheader\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/index.js\n// module id = 963\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n },\n padding: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit\n },\n dense: {\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2\n },\n subheader: {\n paddingTop: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar List =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(List, _React$Component);\n\n function List() {\n (0, _classCallCheck2.default)(this, List);\n return (0, _possibleConstructorReturn2.default)(this, (List.__proto__ || (0, _getPrototypeOf.default)(List)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(List, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n dense: this.props.dense\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n Component = _props.component,\n dense = _props.dense,\n disablePadding = _props.disablePadding,\n subheader = _props.subheader,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"classes\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.dense, dense && !disablePadding), (0, _defineProperty2.default)(_classNames, classes.padding, !disablePadding), (0, _defineProperty2.default)(_classNames, classes.subheader, subheader), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), subheader, children);\n }\n }]);\n return List;\n}(_react.default.Component);\n\nList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used for\n * the list and list items. The property is available to descendant components as the\n * `dense` context.\n */\n dense: _propTypes.default.bool,\n\n /**\n * If `true`, vertical padding will be removed from the list.\n */\n disablePadding: _propTypes.default.bool,\n\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: _propTypes.default.node\n} : {};\nList.defaultProps = {\n component: 'ul',\n dense: false,\n disablePadding: false\n};\nList.childContextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiList'\n})(List);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/List.js\n// module id = 964\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n width: 36,\n height: 36,\n fontSize: theme.typography.pxToRem(18),\n marginRight: 4\n },\n icon: {\n width: 20,\n height: 20,\n fontSize: theme.typography.pxToRem(20)\n }\n };\n};\n/**\n * It's a simple wrapper to apply the `dense` mode styles to `Avatar`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemAvatar(props, context) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n\n if (context.dense === undefined) {\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(false, \"Material-UI: is a simple wrapper to apply the dense styles\\n to . You do not need it unless you are controlling the dense property.\") : void 0;\n return props.children;\n }\n\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.root, context.dense), classNameProp, children.props.className),\n childrenClassName: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.icon, context.dense), children.props.childrenClassName)\n }, other));\n}\n\nListItemAvatar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `Avatar`.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemAvatar.contextTypes = {\n dense: _propTypes.default.bool\n};\nListItemAvatar.muiName = 'ListItemAvatar';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemAvatar'\n})(ListItemAvatar);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemAvatar.js\n// module id = 965\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n flex: '1 1 auto',\n minWidth: 0,\n padding: \"0 \".concat(theme.spacing.unit * 2, \"px\"),\n '&:first-child': {\n paddingLeft: 0\n }\n },\n inset: {\n '&:first-child': {\n paddingLeft: theme.spacing.unit * 7\n }\n },\n dense: {\n fontSize: theme.typography.pxToRem(13)\n },\n primary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n secondary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n textDense: {}\n };\n};\n\nexports.styles = styles;\n\nfunction ListItemText(props, context) {\n var _classNames3;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableTypography = props.disableTypography,\n inset = props.inset,\n primaryProp = props.primary,\n secondaryProp = props.secondary,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"secondary\"]);\n var dense = context.dense;\n var primary = primaryProp || children;\n\n if (primary && !disableTypography) {\n primary = _react.default.createElement(_Typography.default, {\n variant: \"subheading\",\n className: (0, _classnames.default)(classes.primary, (0, _defineProperty2.default)({}, classes.textDense, dense))\n }, primary);\n }\n\n var secondary = secondaryProp;\n\n if (secondary && !disableTypography) {\n secondary = _react.default.createElement(_Typography.default, {\n variant: \"body1\",\n className: (0, _classnames.default)(classes.secondary, (0, _defineProperty2.default)({}, classes.textDense, dense)),\n color: \"textSecondary\"\n }, secondary);\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.dense, dense), (0, _defineProperty2.default)(_classNames3, classes.inset, inset), _classNames3), classNameProp)\n }, other), primary, secondary);\n}\n\nListItemText.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Alias for the `primary` property.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the children won't be wrapped by a typography component.\n * For instance, that can be useful to can render an h4 instead of a\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * If `true`, the children will be indented.\n * This should be used if there is no left avatar or left icon.\n */\n inset: _propTypes.default.bool,\n primary: _propTypes.default.node,\n secondary: _propTypes.default.node\n} : {};\nListItemText.defaultProps = {\n disableTypography: false,\n inset: false\n};\nListItemText.contextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemText'\n})(ListItemText);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemText.js\n// module id = 966\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n marginRight: theme.spacing.unit * 2,\n color: theme.palette.action.active,\n flexShrink: 0\n }\n };\n};\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)(classes.root, classNameProp, children.props.className)\n }, other));\n}\n\nListItemIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@material-ui/icons` SVG icon element.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemIcon'\n})(ListItemIcon);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemIcon.js\n// module id = 967\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n position: 'absolute',\n right: 4,\n top: '50%',\n transform: 'translateY(-50%)'\n }\n};\nexports.styles = styles;\n\nfunction ListItemSecondaryAction(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nListItemSecondaryAction.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemSecondaryAction'\n})(ListItemSecondaryAction);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemSecondaryAction.js\n// module id = 968\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar styles = function styles(theme) {\n return {\n root: theme.mixins.gutters({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n }),\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorInherit: {\n color: 'inherit'\n },\n inset: {\n paddingLeft: theme.spacing.unit * 9\n },\n sticky: {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: 'inherit'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction ListSubheader(props) {\n var _classNames;\n\n var classes = props.classes,\n className = props.className,\n color = props.color,\n Component = props.component,\n disableSticky = props.disableSticky,\n inset = props.inset,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"component\", \"disableSticky\", \"inset\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.inset, inset), (0, _defineProperty2.default)(_classNames, classes.sticky, !disableSticky), _classNames), className)\n }, other));\n}\n\nListSubheader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'primary', 'inherit']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n */\n disableSticky: _propTypes.default.bool,\n\n /**\n * If `true`, the List Subheader will be indented.\n */\n inset: _propTypes.default.bool\n} : {};\nListSubheader.defaultProps = {\n color: 'default',\n component: 'li',\n disableSticky: false,\n inset: false\n};\nListSubheader.muiName = 'ListSubheader';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListSubheader'\n})(ListSubheader);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListSubheader.js\n// module id = 969\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ListItem = _interopRequireDefault(require(\"../List/ListItem\"));\n\n// @inheritedComponent ListItem\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.typography.subheading, {\n height: theme.spacing.unit * 3,\n boxSizing: 'content-box',\n width: 'auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n paddingLeft: theme.spacing.unit * 2,\n paddingRight: theme.spacing.unit * 2,\n '&$selected': {\n backgroundColor: theme.palette.action.selected\n }\n }),\n selected: {}\n };\n};\n\nexports.styles = styles;\n\nfunction MenuItem(props) {\n var classes = props.classes,\n className = props.className,\n component = props.component,\n selected = props.selected,\n role = props.role,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"selected\", \"role\"]);\n return _react.default.createElement(_ListItem.default, (0, _extends2.default)({\n button: true,\n role: role,\n tabIndex: -1,\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.selected, selected), className),\n component: component\n }, other));\n}\n\nMenuItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Menu item contents.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * Use to apply selected styling.\n */\n selected: _propTypes.default.bool\n} : {};\nMenuItem.defaultProps = {\n component: 'li',\n role: 'menuitem',\n selected: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiMenuItem'\n})(MenuItem);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Menu/MenuItem.js\n// module id = 970\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Select.default;\n }\n});\n\nvar _Select = _interopRequireDefault(require(\"./Select\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Select/index.js\n// module id = 971\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _SelectInput = _interopRequireDefault(require(\"./SelectInput\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ArrowDropDown = _interopRequireDefault(require(\"../internal/svg-icons/ArrowDropDown\"));\n\nvar _Input = _interopRequireDefault(require(\"../Input\"));\n\n// @inheritedComponent Input\n// Import to enforce the CSS injection order\nvar styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n width: '100%'\n },\n select: {\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n paddingRight: theme.spacing.unit * 4,\n width: \"calc(100% - \".concat(theme.spacing.unit * 4, \"px)\"),\n minWidth: theme.spacing.unit * 2,\n // So it doesn't collapse.\n cursor: 'pointer',\n '&:focus': {\n // Show that it's not an text input\n background: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)',\n borderRadius: 0 // Reset Chrome style\n\n },\n // Remove Firefox focus border\n '&:-moz-focusring': {\n color: 'transparent',\n textShadow: '0 0 0 #000'\n },\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n '&$disabled': {\n cursor: 'default'\n }\n },\n selectMenu: {\n width: 'auto',\n // Fix Safari textOverflow\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n minHeight: '1.1875em' // Reset (19px), match the native input line-height\n\n },\n disabled: {},\n icon: {\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input.\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n // Center vertically\n color: theme.palette.action.active,\n 'pointer-events': 'none' // Don't block pointer events on the select under the icon.\n\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Select(props) {\n var autoWidth = props.autoWidth,\n children = props.children,\n classes = props.classes,\n displayEmpty = props.displayEmpty,\n IconComponent = props.IconComponent,\n input = props.input,\n inputProps = props.inputProps,\n MenuProps = props.MenuProps,\n multiple = props.multiple,\n native = props.native,\n onClose = props.onClose,\n onOpen = props.onOpen,\n open = props.open,\n renderValue = props.renderValue,\n SelectDisplayProps = props.SelectDisplayProps,\n other = (0, _objectWithoutProperties2.default)(props, [\"autoWidth\", \"children\", \"classes\", \"displayEmpty\", \"IconComponent\", \"input\", \"inputProps\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\"]);\n return _react.default.cloneElement(input, (0, _objectSpread2.default)({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent: _SelectInput.default,\n inputProps: (0, _objectSpread2.default)({\n autoWidth: autoWidth,\n children: children,\n classes: classes,\n displayEmpty: displayEmpty,\n IconComponent: IconComponent,\n MenuProps: MenuProps,\n multiple: multiple,\n native: native,\n onClose: onClose,\n onOpen: onOpen,\n open: open,\n renderValue: renderValue,\n SelectDisplayProps: SelectDisplayProps,\n type: undefined\n }, inputProps, input ? input.props.inputProps : {})\n }, other));\n}\n\nSelect.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: _propTypes.default.element,\n\n /**\n * Properties applied to the `input` element.\n * When `native` is `true`, the properties are applied on the `select` element.\n */\n inputProps: _propTypes.default.object,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nSelect.defaultProps = {\n autoWidth: false,\n displayEmpty: false,\n IconComponent: _ArrowDropDown.default,\n input: _react.default.createElement(_Input.default, null),\n multiple: false,\n native: false\n};\nSelect.muiName = 'Select';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSelect'\n})(Select);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Select/Select.js\n// module id = 972\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _keycode = _interopRequireDefault(require(\"keycode\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _Menu = _interopRequireDefault(require(\"../Menu/Menu\"));\n\nvar _Input = require(\"../Input/Input\");\n\n/**\n * @ignore - internal component.\n */\nvar SelectInput =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(SelectInput, _React$Component);\n\n function SelectInput() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, SelectInput);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = SelectInput.__proto__ || (0, _getPrototypeOf.default)(SelectInput)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n open: false\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoreNextBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isOpenControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.open !== undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.value != null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"updateDisplayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n // Perfom the layout computation outside of the render method.\n if (_this.displayNode) {\n _this.displayWidth = _this.displayNode.clientWidth;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"update\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.isOpenControlled ? function (_ref2) {\n var event = _ref2.event,\n open = _ref2.open;\n\n if (open) {\n _this.props.onOpen(event);\n } else {\n _this.props.onClose(event);\n }\n } : function (_ref3) {\n var open = _ref3.open;\n return _this.setState({\n open: open\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // Opening the menu is going to blur the. It will be focused back when closed.\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.update({\n open: false,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleItemClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(child) {\n return function (event) {\n if (!_this.props.multiple) {\n _this.update({\n open: false,\n event: event\n });\n }\n\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n\n if (onChange) {\n var value;\n var target;\n\n if (event.target) {\n target = event.target;\n }\n\n if (_this.props.multiple) {\n value = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];\n var itemIndex = value.indexOf(child.props.value);\n\n if (itemIndex === -1) {\n value.push(child.props.value);\n } else {\n value.splice(itemIndex, 1);\n }\n } else {\n value = child.props.value;\n }\n\n event.persist();\n event.target = (0, _objectSpread2.default)({}, target, {\n value: value,\n name: name\n });\n onChange(event, child);\n }\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.ignoreNextBlur === true) {\n // The parent components are relying on the bubbling of the event.\n event.stopPropagation();\n _this.ignoreNextBlur = false;\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.readOnly) {\n return;\n }\n\n if (['space', 'up', 'down'].indexOf((0, _keycode.default)(event)) !== -1) {\n event.preventDefault(); // Opening the menu is going to blur the. It will be focused back when closed.\n\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDisplayRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.displayNode = node;\n\n _this.updateDisplayWidth();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleSelectRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n if (!_this.props.inputRef) {\n return;\n }\n\n _this.props.inputRef({\n node: node,\n // By pass the native input as we expose a rich object (array).\n value: _this.props.value\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(SelectInput, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.isOpenControlled && this.props.open) {\n // Focus the display node so the focus is restored on this element once\n // the menu is closed.\n this.displayNode.focus(); // Rerender with the resolve `displayNode` reference.\n\n this.forceUpdate();\n }\n\n if (this.props.autoFocus && !this.props.native) {\n this.displayNode.focus();\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n this.updateDisplayWidth();\n return true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n autoWidth = _props.autoWidth,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n disabled = _props.disabled,\n displayEmpty = _props.displayEmpty,\n IconComponent = _props.IconComponent,\n inputRef = _props.inputRef,\n _props$MenuProps = _props.MenuProps,\n MenuProps = _props$MenuProps === void 0 ? {} : _props$MenuProps,\n multiple = _props.multiple,\n name = _props.name,\n native = _props.native,\n onBlur = _props.onBlur,\n onChange = _props.onChange,\n onClose = _props.onClose,\n onFocus = _props.onFocus,\n onOpen = _props.onOpen,\n openProp = _props.open,\n readOnly = _props.readOnly,\n renderValue = _props.renderValue,\n SelectDisplayProps = _props.SelectDisplayProps,\n tabIndexProp = _props.tabIndex,\n _props$type = _props.type,\n type = _props$type === void 0 ? 'hidden' : _props$type,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"autoWidth\", \"children\", \"classes\", \"className\", \"disabled\", \"displayEmpty\", \"IconComponent\", \"inputRef\", \"MenuProps\", \"multiple\", \"name\", \"native\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\"]);\n var open = this.isOpenControlled && this.displayNode ? openProp : this.state.open;\n\n if (native) {\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(multiple === false, 'Material-UI: you can not use the `native={true}` and `multiple={true}` properties ' + 'at the same time on a `Select` component.') : void 0;\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(!renderValue, 'Material-UI: the `renderValue` property is not used by the native implementation.') : void 0;\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(!displayEmpty, 'Material-UI: the `displayEmpty` property is not used by the native implementation.') : void 0;\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"select\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n name: name,\n disabled: disabled,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n value: value,\n readOnly: readOnly,\n ref: inputRef\n }, other), children), _react.default.createElement(IconComponent, {\n className: classes.icon\n }));\n }\n\n if (!this.isControlled) {\n throw new Error('Material-UI: the `value` property is required ' + 'when using the `Select` component with `native=false` (default).');\n }\n\n var display;\n var displaySingle = '';\n var displayMultiple = [];\n var computeDisplay = false; // No need to display any value if the field is empty.\n\n if ((0, _Input.isFilled)(this.props) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n\n var items = _react.default.Children.map(children, function (child) {\n if (!_react.default.isValidElement(child)) {\n return null;\n }\n\n var selected;\n\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error('Material-UI: the `value` property must be an array ' + 'when using the `Select` component with `multiple`.');\n }\n\n selected = value.indexOf(child.props.value) !== -1;\n\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = value === child.props.value;\n\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n\n return _react.default.cloneElement(child, {\n onClick: _this2.handleItemClick(child),\n role: 'option',\n selected: selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n\n });\n });\n\n if (computeDisplay) {\n display = multiple ? displayMultiple.join(', ') : displaySingle;\n }\n\n var MenuMinWidth = this.displayNode && !autoWidth ? this.displayWidth : undefined;\n var tabIndex;\n\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, classes.selectMenu, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n ref: this.handleDisplayRef,\n \"aria-pressed\": open ? 'true' : 'false',\n tabIndex: tabIndex,\n role: \"button\",\n \"aria-owns\": open ? \"menu-\".concat(name || '') : null,\n \"aria-haspopup\": \"true\",\n onKeyDown: this.handleKeyDown,\n onBlur: this.handleBlur,\n onClick: disabled || readOnly ? null : this.handleClick,\n onFocus: onFocus\n }, SelectDisplayProps), display || _react.default.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: '​'\n }\n })), _react.default.createElement(\"input\", (0, _extends2.default)({\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n readOnly: readOnly,\n ref: this.handleSelectRef,\n type: type\n }, other)), _react.default.createElement(IconComponent, {\n className: classes.icon\n }), _react.default.createElement(_Menu.default, (0, _extends2.default)({\n id: \"menu-\".concat(name || ''),\n anchorEl: this.displayNode,\n open: open,\n onClose: this.handleClose\n }, MenuProps, {\n MenuListProps: (0, _objectSpread2.default)({\n role: 'listbox'\n }, MenuProps.MenuListProps),\n PaperProps: (0, _objectSpread2.default)({}, MenuProps.PaperProps, {\n style: (0, _objectSpread2.default)({\n minWidth: MenuMinWidth\n }, MenuProps.PaperProps != null ? MenuProps.PaperProps.style : null)\n })\n }), items));\n }\n }]);\n return SelectInput;\n}(_react.default.Component);\n\nSelectInput.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * @ignore\n */\n autoFocus: _propTypes.default.bool,\n\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * The CSS class name of the select element.\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the select will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Use that property to pass a ref callback to the native select element.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: _propTypes.default.string,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n readOnly: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * @ignore\n */\n type: _propTypes.default.string,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nvar _default = SelectInput;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Select/SelectInput.js\n// module id = 973\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDropDown = function ArrowDropDown(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDropDown = (0, _pure.default)(ArrowDropDown);\nArrowDropDown.muiName = 'SvgIcon';\nvar _default = ArrowDropDown;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/ArrowDropDown.js\n// module id = 974\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _setDisplayName = require('./setDisplayName');\n\nvar _setDisplayName2 = _interopRequireDefault(_setDisplayName);\n\nvar _wrapDisplayName = require('./wrapDisplayName');\n\nvar _wrapDisplayName2 = _interopRequireDefault(_wrapDisplayName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate = function (_Component) {\n (0, _inherits3.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n (0, _classCallCheck3.default)(this, ShouldUpdate);\n return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));\n }\n\n ShouldUpdate.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n ShouldUpdate.prototype.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName2.default)((0, _wrapDisplayName2.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n return ShouldUpdate;\n };\n};\n\nexports.default = shouldUpdate;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_recompose@0.27.1@recompose/shouldUpdate.js\n// module id = 975\n// module chunks = 33","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n return BaseComponent;\n };\n};\n\nexports.default = setStatic;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_recompose@0.27.1@recompose/setStatic.js\n// module id = 976\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _shallowEqual2.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_recompose@0.27.1@recompose/shallowEqual.js\n// module id = 977\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar styles = function styles(theme) {\n return {\n root: {\n userSelect: 'none',\n fontSize: 24,\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n transition: theme.transitions.create('fill', {\n duration: theme.transitions.duration.shorter\n })\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n colorAction: {\n color: theme.palette.action.active\n },\n colorError: {\n color: theme.palette.error.main\n },\n colorDisabled: {\n color: theme.palette.action.disabled\n }\n };\n};\n\nexports.styles = styles;\n\nfunction SvgIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n nativeColor = props.nativeColor,\n titleAccess = props.titleAccess,\n viewBox = props.viewBox,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"nativeColor\", \"titleAccess\", \"viewBox\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), classNameProp);\n return _react.default.createElement(\"svg\", (0, _extends2.default)({\n className: className,\n focusable: \"false\",\n viewBox: viewBox,\n color: nativeColor,\n \"aria-hidden\": titleAccess ? 'false' : 'true'\n }, other), titleAccess ? _react.default.createElement(\"title\", null, titleAccess) : null, children);\n}\n\nSvgIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Node passed into the SVG element.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * You can use the `nativeColor` property to apply a color attribute to the SVG element.\n */\n color: _propTypes.default.oneOf(['inherit', 'primary', 'secondary', 'action', 'error', 'disabled']),\n\n /**\n * Applies a color attribute to the SVG element.\n */\n nativeColor: _propTypes.default.string,\n\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: _propTypes.default.string,\n\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n */\n viewBox: _propTypes.default.string\n} : {};\nSvgIcon.defaultProps = {\n color: 'inherit',\n viewBox: '0 0 24 24'\n};\nSvgIcon.muiName = 'SvgIcon';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSvgIcon'\n})(SvgIcon);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/SvgIcon/SvgIcon.js\n// module id = 978\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Toolbar.default;\n }\n});\n\nvar _Toolbar = _interopRequireDefault(require(\"./Toolbar\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Toolbar/index.js\n// module id = 979\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.mixins.toolbar, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n }),\n gutters: theme.mixins.gutters()\n };\n};\n\nexports.styles = styles;\n\nfunction Toolbar(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableGutters = props.disableGutters,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableGutters\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.gutters, !disableGutters), classNameProp);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: className\n }, other), children);\n}\n\nToolbar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, disables gutter padding.\n */\n disableGutters: _propTypes.default.bool\n} : {};\nToolbar.defaultProps = {\n disableGutters: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiToolbar'\n})(Toolbar);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Toolbar/Toolbar.js\n// module id = 980\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _KeyboardArrowLeft = _interopRequireDefault(require(\"../internal/svg-icons/KeyboardArrowLeft\"));\n\nvar _KeyboardArrowRight = _interopRequireDefault(require(\"../internal/svg-icons/KeyboardArrowRight\"));\n\nvar _withTheme = _interopRequireDefault(require(\"../styles/withTheme\"));\n\nvar _IconButton = _interopRequireDefault(require(\"../IconButton\"));\n\nvar _ref2 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\nvar _ref3 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref4 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref5 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\n/**\n * @ignore - internal component.\n */\nvar TablePaginationActions =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePaginationActions, _React$Component);\n\n function TablePaginationActions() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, TablePaginationActions);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TablePaginationActions.__proto__ || (0, _getPrototypeOf.default)(TablePaginationActions)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBackButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page - 1);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleNextButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page + 1);\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(TablePaginationActions, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n backIconButtonProps = _props.backIconButtonProps,\n count = _props.count,\n nextIconButtonProps = _props.nextIconButtonProps,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage,\n theme = _props.theme,\n other = (0, _objectWithoutProperties2.default)(_props, [\"backIconButtonProps\", \"count\", \"nextIconButtonProps\", \"onChangePage\", \"page\", \"rowsPerPage\", \"theme\"]);\n return _react.default.createElement(\"div\", other, _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleBackButtonClick,\n disabled: page === 0\n }, backIconButtonProps), theme.direction === 'rtl' ? _ref2 : _ref3), _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleNextButtonClick,\n disabled: page >= Math.ceil(count / rowsPerPage) - 1\n }, nextIconButtonProps), theme.direction === 'rtl' ? _ref4 : _ref5));\n }\n }]);\n return TablePaginationActions;\n}(_react.default.Component);\n\nTablePaginationActions.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Properties applied to the back arrow `IconButton` element.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired\n} : {};\n\nvar _default = (0, _withTheme.default)()(TablePaginationActions);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TablePaginationActions.js\n// module id = 981\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowLeft = function KeyboardArrowLeft(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowLeft = (0, _pure.default)(KeyboardArrowLeft);\nKeyboardArrowLeft.muiName = 'SvgIcon';\nvar _default = KeyboardArrowLeft;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/KeyboardArrowLeft.js\n// module id = 982\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowRight = function KeyboardArrowRight(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowRight = (0, _pure.default)(KeyboardArrowRight);\nKeyboardArrowRight.muiName = 'SvgIcon';\nvar _default = KeyboardArrowRight;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/KeyboardArrowRight.js\n// module id = 983\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: 'inherit',\n display: 'table-row',\n height: 48,\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n '&$selected': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.04)' // grey[100]\n : 'rgba(255, 255, 255, 0.08)'\n },\n '&$hover:hover': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.07)' // grey[200]\n : 'rgba(255, 255, 255, 0.14)'\n }\n },\n selected: {},\n hover: {},\n head: {\n height: 56\n },\n footer: {\n height: 56\n }\n };\n};\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\n\n\nexports.styles = styles;\n\nfunction TableRow(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n hover = props.hover,\n selected = props.selected,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"hover\", \"selected\"]);\n var table = context.table;\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.head, table && table.head), (0, _defineProperty2.default)(_classNames, classes.footer, table && table.footer), (0, _defineProperty2.default)(_classNames, classes.hover, table && hover), (0, _defineProperty2.default)(_classNames, classes.selected, table && selected), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nTableRow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Should be valid children such as `TableCell`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the table row will shade on hover.\n */\n hover: _propTypes.default.bool,\n\n /**\n * If `true`, the table row will have the selected shading.\n */\n selected: _propTypes.default.bool\n} : {};\nTableRow.defaultProps = {\n component: 'tr',\n hover: false,\n selected: false\n};\nTableRow.contextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableRow'\n})(TableRow);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableRow.js\n// module id = 984\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ArrowDownward = _interopRequireDefault(require(\"../internal/svg-icons/ArrowDownward\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ButtonBase = _interopRequireDefault(require(\"../ButtonBase\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'inherit',\n alignItems: 'center',\n '&:hover': {\n color: theme.palette.text.primary\n },\n '&:focus': {\n color: theme.palette.text.primary\n }\n },\n active: {\n color: theme.palette.text.primary,\n '& $icon': {\n opacity: 1\n }\n },\n icon: {\n height: 16,\n marginRight: 4,\n marginLeft: 4,\n opacity: 0,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shorter\n }),\n userSelect: 'none',\n width: 16\n },\n iconDirectionDesc: {\n transform: 'rotate(0deg)'\n },\n iconDirectionAsc: {\n transform: 'rotate(180deg)'\n }\n };\n};\n/**\n * A button based label for placing inside `TableCell` for column sorting.\n */\n\n\nexports.styles = styles;\n\nfunction TableSortLabel(props) {\n var active = props.active,\n classes = props.classes,\n className = props.className,\n children = props.children,\n direction = props.direction,\n other = (0, _objectWithoutProperties2.default)(props, [\"active\", \"classes\", \"className\", \"children\", \"direction\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.active, active), className),\n component: \"span\",\n disableRipple: true\n }, other), children, _react.default.createElement(_ArrowDownward.default, {\n className: (0, _classnames.default)(classes.icon, classes[\"iconDirection\".concat((0, _helpers.capitalize)(direction))])\n }));\n}\n\nTableSortLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If `true`, the label will have the active styling (should be true for the sorted column).\n */\n active: _propTypes.default.bool,\n\n /**\n * Label contents, the arrow will be appended automatically.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The current sort direction.\n */\n direction: _propTypes.default.oneOf(['asc', 'desc'])\n} : {};\nTableSortLabel.defaultProps = {\n active: false,\n direction: 'desc'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableSortLabel'\n})(TableSortLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableSortLabel.js\n// module id = 985\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDownward = function ArrowDownward(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDownward = (0, _pure.default)(ArrowDownward);\nArrowDownward.muiName = 'SvgIcon';\nvar _default = ArrowDownward;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/ArrowDownward.js\n// module id = 986\n// module chunks = 33","import React, { Component } from 'react';\r\nimport AnswerList from './AnswerList'\r\n\r\nclass AnswerListContainer extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\trender() {\r\n\r\n\t\treturn \r\n\t}\r\n}\r\n\r\nexport default AnswerListContainer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/main/answer/AnswerListContainer.js","import React, { Component } from 'react';\r\n\r\nimport { Table } from 'antd'\r\nimport 'antd/lib/table/style/index.css'\r\n\r\n/* \r\n使用这个table组件 \r\nhttps://ant.design/components/table-cn/\r\n\r\n*/\r\n\r\nconst data = [{\r\n key: '1',\r\n name: 'John Brown',\r\n age: 32,\r\n address: 'New York No. 1 Lake Park',\r\n}, {\r\n key: '2',\r\n name: 'Jim Green',\r\n age: 42,\r\n address: 'London No. 1 Lake Park',\r\n}, {\r\n key: '3',\r\n name: 'Joe Black',\r\n age: 32,\r\n address: 'Sidney No. 1 Lake Park',\r\n}, {\r\n key: '4',\r\n name: 'Jim Red',\r\n age: 32,\r\n address: 'London No. 2 Lake Park',\r\n}];\r\n\r\nclass AnswerList extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\thandleChange = (pagination, filters, sorter) => {\r\n\t console.log('Various parameters', pagination, filters, sorter);\r\n\t // TODO sorter变化后重新拉数据,服务端做排序\r\n\t this.setState({\r\n\t \tsortedInfo: sorter,\r\n\t });\r\n \t}\r\n\trender() {\r\n\t\tconst columns = [{\r\n\t \ttitle: 'Name',\r\n\t \tdataIndex: 'name',\r\n\t \tkey: 'name'\r\n \t}, {\r\n\t \ttitle: '点赞数',\r\n\t \tdataIndex: 'age',\r\n\t \tkey: 'age',\r\n\t \tsorter: (a, b) => a.age - b.age,\r\n\t \t\r\n\t \t// sortOrder:sortedInfo .columnKey === 'age' && sortedInfo.order,\r\n\t }, {\r\n\t \ttitle: 'Address',\r\n\t \tdataIndex: 'address',\r\n\t \tkey: 'address',\r\n \t}];\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t\r\n \t\t\r\n \t)\r\n\t}\r\n}\r\n\r\nexport default AnswerList;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/main/answer/AnswerList.js","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('fbjs/lib/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_create-react-context@0.2.2@create-react-context/lib/implementation.js\n// module id = 989\n// module chunks = 33","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_gud@1.0.0@gud/index.js\n// module id = 990\n// module chunks = 33","import * as React from 'react';\nimport Empty from '../empty';\nimport { ConfigConsumer } from './';\n\n/* babel-plugin-inline-import './empty.svg' */\nvar emptyImg = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxlbGxpcHNlIGZpbGw9IiNGNUY1RjUiIGN4PSIzMiIgY3k9IjMzIiByeD0iMzIiIHJ5PSI3Ii8+CiAgICA8ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0iI0Q5RDlEOSI+CiAgICAgIDxwYXRoIGQ9Ik01NSAxMi43Nkw0NC44NTQgMS4yNThDNDQuMzY3LjQ3NCA0My42NTYgMCA0Mi45MDcgMEgyMS4wOTNjLS43NDkgMC0xLjQ2LjQ3NC0xLjk0NyAxLjI1N0w5IDEyLjc2MVYyMmg0NnYtOS4yNHoiLz4KICAgICAgPHBhdGggZD0iTTQxLjYxMyAxNS45MzFjMC0xLjYwNS45OTQtMi45MyAyLjIyNy0yLjkzMUg1NXYxOC4xMzdDNTUgMzMuMjYgNTMuNjggMzUgNTIuMDUgMzVoLTQwLjFDMTAuMzIgMzUgOSAzMy4yNTkgOSAzMS4xMzdWMTNoMTEuMTZjMS4yMzMgMCAyLjIyNyAxLjMyMyAyLjIyNyAyLjkyOHYuMDIyYzAgMS42MDUgMS4wMDUgMi45MDEgMi4yMzcgMi45MDFoMTQuNzUyYzEuMjMyIDAgMi4yMzctMS4zMDggMi4yMzctMi45MTN2LS4wMDd6IiBmaWxsPSIjRkFGQUZBIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K\";\n\nvar renderEmpty = function renderEmpty(componentName) {\n return React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var prefix = getPrefixCls('empty');\n\n switch (componentName) {\n case 'Table':\n case 'List':\n return React.createElement(Empty, {\n image: emptyImg,\n className: \"\".concat(prefix, \"-normal\")\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n return React.createElement(Empty, {\n image: emptyImg,\n className: \"\".concat(prefix, \"-small\")\n });\n\n default:\n return React.createElement(Empty, null);\n }\n });\n};\n\nexport default renderEmpty;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/config-provider/renderEmpty.js\n// module id = 991\n// module chunks = 33","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_performance-now@2.1.0@performance-now/lib/performance-now.js\n// module id = 992\n// module chunks = 33","import addEventListener from \"rc-util/es/Dom/addEventListener\"; // ======================== Observer ========================\n\nvar TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\nvar observerEntities = [];\nexport function addObserveTarget(target, affix) {\n if (!target) return;\n var entity = observerEntities.find(function (item) {\n return item.target === target;\n });\n\n if (entity) {\n entity.affixList.push(affix);\n } else {\n entity = {\n target: target,\n affixList: [affix],\n eventHandlers: {}\n };\n observerEntities.push(entity); // Add listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n entity.eventHandlers[eventName] = addEventListener(target, eventName, function (event) {\n entity.affixList.forEach(function (affix) {\n affix.updatePosition(event);\n });\n });\n });\n }\n}\nexport function removeObserveTarget(affix) {\n var observerEntity = observerEntities.find(function (oriObserverEntity) {\n var hasAffix = oriObserverEntity.affixList.some(function (item) {\n return item === affix;\n });\n\n if (hasAffix) {\n oriObserverEntity.affixList = oriObserverEntity.affixList.filter(function (item) {\n return item !== affix;\n });\n }\n\n return hasAffix;\n });\n\n if (observerEntity && observerEntity.affixList.length === 0) {\n observerEntities = observerEntities.filter(function (item) {\n return item !== observerEntity;\n }); // Remove listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n var handler = observerEntity.eventHandlers[eventName];\n\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n }\n}\nexport function getTargetRect(target) {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n bottom: window.innerHeight\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/affix/utils.js\n// module id = 993\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_add-dom-event-listener@1.1.0@add-dom-event-listener/lib/index.js\n// module id = 994\n// module chunks = 33","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_add-dom-event-listener@1.1.0@add-dom-event-listener/lib/EventObject.js\n// module id = 995\n// module chunks = 33","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_add-dom-event-listener@1.1.0@add-dom-event-listener/lib/EventBaseObject.js\n// module id = 996\n// module chunks = 33","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nAnchor.Link = AnchorLink;\nexport default Anchor;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/anchor/index.js\n// module id = 997\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Affix from '../affix';\nimport { ConfigConsumer } from '../config-provider';\nimport getScroll from '../_util/getScroll';\nimport raf from 'raf';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element) {\n return 0;\n }\n\n if (!element.getClientRects().length) {\n return 0;\n }\n\n var rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\nfunction easeInOutCubic(t, b, c, d) {\n var cc = c - b;\n t /= d / 2;\n\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}\n\nvar sharpMatcherRegx = /#([^#]+)$/;\n\nfunction scrollTo(href) {\n var offsetTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var getContainer = arguments.length > 2 ? arguments[2] : undefined;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var container = getContainer();\n var scrollTop = getScroll(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(href);\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n var startTime = Date.now();\n\n var frameFunc = function frameFunc() {\n var timestamp = Date.now();\n var time = timestamp - startTime;\n var nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n\n if (time < 450) {\n raf(frameFunc);\n } else {\n callback();\n }\n };\n\n raf(frameFunc);\n}\n\nvar Anchor =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Anchor, _React$Component);\n\n function Anchor() {\n var _this;\n\n _classCallCheck(this, Anchor);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Anchor).apply(this, arguments));\n _this.state = {\n activeLink: null\n };\n _this.links = [];\n\n _this.handleScroll = function () {\n if (_this.animating) {\n return;\n }\n\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n bounds = _this$props.bounds;\n\n _this.setState({\n activeLink: _this.getCurrentAnchor(offsetTop, bounds)\n });\n };\n\n _this.handleScrollTo = function (link) {\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n getContainer = _this$props2.getContainer;\n _this.animating = true;\n\n _this.setState({\n activeLink: link\n });\n\n scrollTo(link, offsetTop, getContainer, function () {\n _this.animating = false;\n });\n };\n\n _this.updateInk = function () {\n if (typeof document === 'undefined') {\n return;\n }\n\n var prefixCls = _this.prefixCls;\n var anchorNode = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n var linkNode = anchorNode.getElementsByClassName(\"\".concat(prefixCls, \"-link-title-active\"))[0];\n\n if (linkNode) {\n _this.inkNode.style.top = \"\".concat(linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5, \"px\");\n }\n };\n\n _this.saveInkNode = function (node) {\n _this.inkNode = node;\n };\n\n _this.renderAnchor = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,\n style = _this$props3.style,\n offsetTop = _this$props3.offsetTop,\n affix = _this$props3.affix,\n showInkInFixed = _this$props3.showInkInFixed,\n children = _this$props3.children,\n getContainer = _this$props3.getContainer;\n var activeLink = _this.state.activeLink;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls); // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n\n _this.prefixCls = prefixCls;\n var inkClass = classNames(\"\".concat(prefixCls, \"-ink-ball\"), {\n visible: activeLink\n });\n var wrapperClass = classNames(className, \"\".concat(prefixCls, \"-wrapper\"));\n var anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = _extends({\n maxHeight: offsetTop ? \"calc(100vh - \".concat(offsetTop, \"px)\") : '100vh'\n }, style);\n\n var anchorContent = React.createElement(\"div\", {\n className: wrapperClass,\n style: wrapperStyle\n }, React.createElement(\"div\", {\n className: anchorClass\n }, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-ink\")\n }, React.createElement(\"span\", {\n className: inkClass,\n ref: _this.saveInkNode\n })), children));\n return !affix ? anchorContent : React.createElement(Affix, {\n offsetTop: offsetTop,\n target: getContainer\n }, anchorContent);\n };\n\n return _this;\n }\n\n _createClass(Anchor, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _this2 = this;\n\n var antAnchor = {\n registerLink: function registerLink(link) {\n if (!_this2.links.includes(link)) {\n _this2.links.push(link);\n }\n },\n unregisterLink: function unregisterLink(link) {\n var index = _this2.links.indexOf(link);\n\n if (index !== -1) {\n _this2.links.splice(index, 1);\n }\n },\n activeLink: this.state.activeLink,\n scrollTo: this.handleScrollTo,\n onClick: this.props.onClick\n };\n return {\n antAnchor: antAnchor\n };\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var getContainer = this.props.getContainer;\n this.scrollEvent = addEventListener(getContainer(), 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateInk();\n }\n }, {\n key: \"getCurrentAnchor\",\n value: function getCurrentAnchor() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var activeLink = '';\n\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n var linkSections = [];\n var getContainer = this.props.getContainer;\n var container = getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var target = document.getElementById(sharpLinkMatch[1]);\n\n if (target) {\n var top = getOffsetTop(target, container);\n\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n\n return '';\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ConfigConsumer, null, this.renderAnchor);\n }\n }]);\n\n return Anchor;\n}(React.Component);\n\nexport { Anchor as default };\nAnchor.defaultProps = {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer\n};\nAnchor.childContextTypes = {\n antAnchor: PropTypes.object\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/anchor/Anchor.js\n// module id = 998\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { polyfill } from 'react-lifecycles-compat';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar AnchorLink =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AnchorLink, _React$Component);\n\n function AnchorLink() {\n var _this;\n\n _classCallCheck(this, AnchorLink);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AnchorLink).apply(this, arguments));\n\n _this.handleClick = function (e) {\n var _this$context$antAnch = _this.context.antAnchor,\n scrollTo = _this$context$antAnch.scrollTo,\n onClick = _this$context$antAnch.onClick;\n var _this$props = _this.props,\n href = _this$props.href,\n title = _this$props.title;\n\n if (onClick) {\n onClick(e, {\n title: title,\n href: href\n });\n }\n\n scrollTo(href);\n };\n\n _this.renderAnchorLink = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n href = _this$props2.href,\n title = _this$props2.title,\n children = _this$props2.children,\n className = _this$props2.className;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n var active = _this.context.antAnchor.activeLink === href;\n var wrapperClassName = classNames(className, \"\".concat(prefixCls, \"-link\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-active\"), active));\n var titleClassName = classNames(\"\".concat(prefixCls, \"-link-title\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-title-active\"), active));\n return React.createElement(\"div\", {\n className: wrapperClassName\n }, React.createElement(\"a\", {\n className: titleClassName,\n href: href,\n title: typeof title === 'string' ? title : '',\n onClick: _this.handleClick\n }, title), children);\n };\n\n return _this;\n }\n\n _createClass(AnchorLink, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.context.antAnchor.registerLink(this.props.href);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_ref2) {\n var prevHref = _ref2.href;\n var href = this.props.href;\n\n if (prevHref !== href) {\n this.context.antAnchor.unregisterLink(prevHref);\n this.context.antAnchor.registerLink(href);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.antAnchor.unregisterLink(this.props.href);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ConfigConsumer, null, this.renderAnchorLink);\n }\n }]);\n\n return AnchorLink;\n}(React.Component);\n\nAnchorLink.defaultProps = {\n href: '#'\n};\nAnchorLink.contextTypes = {\n antAnchor: PropTypes.object\n};\npolyfill(AnchorLink);\nexport default AnchorLink;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/anchor/AnchorLink.js\n// module id = 999\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport { Option, OptGroup } from 'rc-select';\nimport classNames from 'classnames';\nimport InputElement from './InputElement';\nimport Input from '../input';\nimport Select from '../select';\nimport { ConfigConsumer } from '../config-provider';\n\nfunction isSelectOptionOrSelectOptGroup(child) {\n return child && child.type && (child.type.isSelectOption || child.type.isSelectOptGroup);\n}\n\nvar AutoComplete =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AutoComplete, _React$Component);\n\n function AutoComplete() {\n var _this;\n\n _classCallCheck(this, AutoComplete);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AutoComplete).apply(this, arguments));\n\n _this.getInputElement = function () {\n var children = _this.props.children;\n var element = children && React.isValidElement(children) && children.type !== Option ? React.Children.only(_this.props.children) : React.createElement(Input, null);\n\n var elementProps = _extends({}, element.props); // https://github.com/ant-design/ant-design/pull/7742\n\n\n delete elementProps.children;\n return React.createElement(InputElement, elementProps, element);\n };\n\n _this.saveSelect = function (node) {\n _this.select = node;\n };\n\n _this.renderAutoComplete = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n size = _this$props.size,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n notFoundContent = _this$props.notFoundContent,\n optionLabelProp = _this$props.optionLabelProp,\n dataSource = _this$props.dataSource,\n children = _this$props.children;\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var cls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, className, !!className), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-search\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-auto-complete\"), true), _classNames));\n var options;\n var childArray = React.Children.toArray(children);\n\n if (childArray.length && isSelectOptionOrSelectOptGroup(childArray[0])) {\n options = children;\n } else {\n options = dataSource ? dataSource.map(function (item) {\n if (React.isValidElement(item)) {\n return item;\n }\n\n switch (_typeof(item)) {\n case 'string':\n return React.createElement(Option, {\n key: item\n }, item);\n\n case 'object':\n return React.createElement(Option, {\n key: item.value\n }, item.text);\n\n default:\n throw new Error('AutoComplete[dataSource] only supports type `string[] | Object[]`.');\n }\n }) : [];\n }\n\n return React.createElement(Select, _extends({}, _this.props, {\n className: cls,\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp: optionLabelProp,\n getInputElement: _this.getInputElement,\n notFoundContent: notFoundContent,\n ref: _this.saveSelect\n }), options);\n };\n\n return _this;\n }\n\n _createClass(AutoComplete, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ConfigConsumer, null, this.renderAutoComplete);\n }\n }]);\n\n return AutoComplete;\n}(React.Component);\n\nexport { AutoComplete as default };\nAutoComplete.Option = Option;\nAutoComplete.OptGroup = OptGroup;\nAutoComplete.defaultProps = {\n transitionName: 'slide-up',\n optionLabelProp: 'children',\n choiceTransitionName: 'zoom',\n showSearch: false,\n filterOption: false\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/auto-complete/index.js\n// module id = 1000\n// module chunks = 33","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport { Component } from 'react';\n\nvar OptGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(OptGroup, _Component);\n\n function OptGroup() {\n _classCallCheck(this, OptGroup);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(OptGroup).apply(this, arguments));\n }\n\n return OptGroup;\n}(Component);\n\nexport { OptGroup as default };\nOptGroup.isSelectOptGroup = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/OptGroup.js\n// module id = 1001\n// module chunks = 33","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport Animate from 'rc-animate';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from 'rc-menu';\nimport childrenToArray from \"rc-util/es/Children/toArray\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { polyfill } from 'react-lifecycles-compat';\nimport warning from 'warning';\nimport Option from './Option';\nimport SelectPropTypes from './PropTypes';\nimport SelectTrigger from './SelectTrigger';\nimport { defaultFilterFn, findFirstMenuItem, findIndexInValueBySingleValue, generateUUID, getLabelFromPropsValue, getMapKey, getPropValue, getValuePropValue, includesSeparators, isCombobox, isMultipleOrTags, isMultipleOrTagsOrCombobox, isSingleMode, preventDefaultEvent, saveRef, splitBySeparators, toArray, toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE, validateOptionValue } from './util';\nvar SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nvar noop = function noop() {\n return null;\n};\n\nfunction chaining() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\n\nvar Select =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Select, _React$Component);\n\n function Select(props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Select).call(this, props));\n _this.inputRef = null;\n _this.inputMirrorRef = null;\n _this.topCtrlRef = null;\n _this.selectTriggerRef = null;\n _this.rootRef = null;\n _this.selectionRef = null;\n _this.dropdownContainer = null;\n _this.blurTimer = null;\n _this.focusTimer = null; // tslint:disable-next-line:variable-name\n\n _this._focused = false; // tslint:disable-next-line:variable-name\n\n _this._mouseDown = false; // tslint:disable-next-line:variable-name\n\n _this._options = []; // tslint:disable-next-line:variable-name\n\n _this._empty = false;\n\n _this.onInputChange = function (event) {\n var tokenSeparators = _this.props.tokenSeparators;\n var val = event.target.value;\n\n if (isMultipleOrTags(_this.props) && tokenSeparators.length && includesSeparators(val, tokenSeparators)) {\n var nextValue = _this.getValueByInput(val);\n\n if (nextValue !== undefined) {\n _this.fireChange(nextValue);\n }\n\n _this.setOpenState(false, true);\n\n _this.setInputValue('', false);\n\n return;\n }\n\n _this.setInputValue(val);\n\n _this.setState({\n open: true\n });\n\n if (isCombobox(_this.props)) {\n _this.fireChange([val]);\n }\n };\n\n _this.onDropdownVisibleChange = function (open) {\n if (open && !_this._focused) {\n _this.clearBlurTime();\n\n _this.timeoutFocus();\n\n _this._focused = true;\n\n _this.updateFocusClassName();\n }\n\n _this.setOpenState(open);\n }; // combobox ignore\n\n\n _this.onKeyDown = function (event) {\n var open = _this.state.open;\n var disabled = _this.props.disabled;\n\n if (disabled) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (open && !_this.getInputDOMNode()) {\n _this.onInputKeyDown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n if (!open) {\n _this.setOpenState(true);\n }\n\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n _this.setOpenState(true);\n\n event.preventDefault();\n }\n }\n };\n\n _this.onInputKeyDown = function (event) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n combobox = _this$props.combobox;\n\n if (disabled) {\n return;\n }\n\n var state = _this.state;\n\n var isRealOpen = _this.getRealOpenState(state); // magic code\n\n\n var keyCode = event.keyCode;\n\n if (isMultipleOrTags(_this.props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n var value = state.value;\n\n if (value.length) {\n _this.removeSelected(value[value.length - 1]);\n }\n\n return;\n }\n\n if (keyCode === KeyCode.DOWN) {\n if (!state.open) {\n _this.openIfHasChildren();\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state.open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state.open) {\n _this.setOpenState(false);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n return;\n }\n\n if (isRealOpen && _this.selectTriggerRef) {\n var menu = _this.selectTriggerRef.getInnerMenu();\n\n if (menu && menu.onKeyDown(event, _this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n _this.onMenuSelect = function (_ref) {\n var item = _ref.item;\n\n if (!item) {\n return;\n }\n\n var value = _this.state.value;\n var props = _this.props;\n var selectedValue = getValuePropValue(item);\n var lastValue = value[value.length - 1];\n\n _this.fireSelect(selectedValue);\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n return;\n }\n\n value = value.concat([selectedValue]);\n } else {\n if (!isCombobox(props) && lastValue !== undefined && lastValue === selectedValue && selectedValue !== _this.state.backfillValue) {\n _this.setOpenState(false, true);\n\n return;\n }\n\n value = [selectedValue];\n\n _this.setOpenState(false, true);\n }\n\n _this.fireChange(value);\n\n var inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n _this.setInputValue(inputValue, false);\n }\n };\n\n _this.onMenuDeselect = function (_ref2) {\n var item = _ref2.item,\n domEvent = _ref2.domEvent;\n\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n _this.removeSelected(getValuePropValue(item));\n\n return;\n }\n\n if (domEvent.type === 'click') {\n _this.removeSelected(getValuePropValue(item));\n }\n\n var props = _this.props;\n\n if (props.autoClearSearchValue) {\n _this.setInputValue('', false);\n }\n };\n\n _this.onArrowClick = function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n if (!_this.props.disabled) {\n _this.setOpenState(!_this.state.open, !_this.state.open);\n }\n };\n\n _this.onPlaceholderClick = function () {\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().focus();\n }\n };\n\n _this.onOuterFocus = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.clearBlurTime();\n\n if (!isMultipleOrTagsOrCombobox(_this.props) && e.target === _this.getInputDOMNode()) {\n return;\n }\n\n if (_this._focused) {\n return;\n }\n\n _this._focused = true;\n\n _this.updateFocusClassName(); // only effect multiple or tag mode\n\n\n if (!isMultipleOrTags(_this.props) || !_this._mouseDown) {\n _this.timeoutFocus();\n }\n };\n\n _this.onPopupFocus = function () {\n // fix ie scrollbar, focus element again\n _this.maybeFocus(true, true);\n };\n\n _this.onOuterBlur = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.blurTimer = window.setTimeout(function () {\n _this._focused = false;\n\n _this.updateFocusClassName();\n\n var props = _this.props;\n var value = _this.state.value;\n var inputValue = _this.state.inputValue;\n\n if (isSingleMode(props) && props.showSearch && inputValue && props.defaultActiveFirstOption) {\n var options = _this._options || [];\n\n if (options.length) {\n var firstOption = findFirstMenuItem(options);\n\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n\n _this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (_this._mouseDown) {\n // need update dropmenu when not blur\n _this.setInputValue('');\n } else {\n // why not use setState?\n // https://github.com/ant-design/ant-design/issues/14262\n _this.state.inputValue = '';\n\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().value = '';\n }\n }\n\n var tmpValue = _this.getValueByInput(inputValue);\n\n if (tmpValue !== undefined) {\n value = tmpValue;\n\n _this.fireChange(value);\n }\n } // if click the rest space of Select in multiple mode\n\n\n if (isMultipleOrTags(props) && _this._mouseDown) {\n _this.maybeFocus(true, true);\n\n _this._mouseDown = false;\n return;\n }\n\n _this.setOpenState(false);\n\n if (props.onBlur) {\n props.onBlur(_this.getVLForOnChange(value));\n }\n }, 10);\n };\n\n _this.onClearSelection = function (event) {\n var props = _this.props;\n var state = _this.state;\n\n if (props.disabled) {\n return;\n }\n\n var inputValue = state.inputValue;\n var value = state.value;\n event.stopPropagation();\n\n if (inputValue || value.length) {\n if (value.length) {\n _this.fireChange([]);\n }\n\n _this.setOpenState(false, true);\n\n if (inputValue) {\n _this.setInputValue('');\n }\n }\n };\n\n _this.onChoiceAnimationLeave = function () {\n _this.forcePopupAlign();\n };\n\n _this.getOptionInfoBySingleValue = function (value, optionsInfo) {\n var info;\n optionsInfo = optionsInfo || _this.state.optionsInfo;\n\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n\n if (info) {\n return info;\n }\n\n var defaultLabel = value;\n\n if (_this.props.labelInValue) {\n var label = getLabelFromPropsValue(_this.props.value, value);\n\n if (label !== undefined) {\n defaultLabel = label;\n }\n }\n\n var defaultInfo = {\n option: React.createElement(Option, {\n value: value,\n key: value\n }, value),\n value: value,\n label: defaultLabel\n };\n return defaultInfo;\n };\n\n _this.getOptionBySingleValue = function (value) {\n var _this$getOptionInfoBy = _this.getOptionInfoBySingleValue(value),\n option = _this$getOptionInfoBy.option;\n\n return option;\n };\n\n _this.getOptionsBySingleValue = function (values) {\n return values.map(function (value) {\n return _this.getOptionBySingleValue(value);\n });\n };\n\n _this.getValueByLabel = function (label) {\n if (label === undefined) {\n return null;\n }\n\n var value = null;\n Object.keys(_this.state.optionsInfo).forEach(function (key) {\n var info = _this.state.optionsInfo[key];\n var disabled = info.disabled;\n\n if (disabled) {\n return;\n }\n\n var oldLable = toArray(info.label);\n\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n };\n\n _this.getVLBySingleValue = function (value) {\n if (_this.props.labelInValue) {\n return {\n key: value,\n label: _this.getLabelBySingleValue(value)\n };\n }\n\n return value;\n };\n\n _this.getVLForOnChange = function (vlsS) {\n var vls = vlsS;\n\n if (vls !== undefined) {\n if (!_this.props.labelInValue) {\n vls = vls.map(function (v) {\n return v;\n });\n } else {\n vls = vls.map(function (vl) {\n return {\n key: vl,\n label: _this.getLabelBySingleValue(vl)\n };\n });\n }\n\n return isMultipleOrTags(_this.props) ? vls : vls[0];\n }\n\n return vls;\n };\n\n _this.getLabelBySingleValue = function (value, optionsInfo) {\n var _this$getOptionInfoBy2 = _this.getOptionInfoBySingleValue(value, optionsInfo),\n label = _this$getOptionInfoBy2.label;\n\n return label;\n };\n\n _this.getDropdownContainer = function () {\n if (!_this.dropdownContainer) {\n _this.dropdownContainer = document.createElement('div');\n document.body.appendChild(_this.dropdownContainer);\n }\n\n return _this.dropdownContainer;\n };\n\n _this.getPlaceholderElement = function () {\n var props = _this.props;\n var state = _this.state;\n var hidden = false;\n\n if (state.inputValue) {\n hidden = true;\n }\n\n var value = state.value;\n\n if (value.length) {\n hidden = true;\n }\n\n if (isCombobox(props) && value.length === 1 && state.value && !state.value[0]) {\n hidden = false;\n }\n\n var placeholder = props.placeholder;\n\n if (placeholder) {\n return React.createElement(\"div\", _extends({\n onMouseDown: preventDefaultEvent,\n style: _extends({\n display: hidden ? 'none' : 'block'\n }, UNSELECTABLE_STYLE)\n }, UNSELECTABLE_ATTRIBUTE, {\n onClick: _this.onPlaceholderClick,\n className: \"\".concat(props.prefixCls, \"-selection__placeholder\")\n }), placeholder);\n }\n\n return null;\n };\n\n _this.getInputElement = function () {\n var props = _this.props;\n var defaultInput = React.createElement(\"input\", {\n id: props.id,\n autoComplete: \"off\"\n }); // tslint:disable-next-line:typedef-whitespace\n\n var inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n var inputCls = classnames(inputElement.props.className, _defineProperty({}, \"\".concat(props.prefixCls, \"-search__field\"), true)); // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n\n return React.createElement(\"div\", {\n className: \"\".concat(props.prefixCls, \"-search__field__wrap\")\n }, React.cloneElement(inputElement, {\n ref: _this.saveInputRef,\n onChange: _this.onInputChange,\n onKeyDown: chaining(_this.onInputKeyDown, inputElement.props.onKeyDown, _this.props.onInputKeyDown),\n value: _this.state.inputValue,\n disabled: props.disabled,\n className: inputCls\n }), React.createElement(\"span\", {\n ref: _this.saveInputMirrorRef,\n className: \"\".concat(props.prefixCls, \"-search__field__mirror\")\n }, _this.state.inputValue, \"\\xA0\"));\n };\n\n _this.getInputDOMNode = function () {\n return _this.topCtrlRef ? _this.topCtrlRef.querySelector('input,textarea,div[contentEditable]') : _this.inputRef;\n };\n\n _this.getInputMirrorDOMNode = function () {\n return _this.inputMirrorRef;\n };\n\n _this.getPopupDOMNode = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getPopupDOMNode();\n }\n };\n\n _this.getPopupMenuComponent = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getInnerMenu();\n }\n };\n\n _this.setOpenState = function (open, needFocus) {\n var props = _this.props;\n var state = _this.state;\n\n if (state.open === open) {\n _this.maybeFocus(open, !!needFocus);\n\n return;\n }\n\n if (_this.props.onDropdownVisibleChange) {\n _this.props.onDropdownVisibleChange(open);\n }\n\n var nextState = {\n open: open,\n backfillValue: ''\n }; // clear search input value when open is false in singleMode.\n\n if (!open && isSingleMode(props) && props.showSearch) {\n _this.setInputValue('', false);\n }\n\n if (!open) {\n _this.maybeFocus(open, !!needFocus);\n }\n\n _this.setState(_extends({\n open: open\n }, nextState), function () {\n if (open) {\n _this.maybeFocus(open, !!needFocus);\n }\n });\n };\n\n _this.setInputValue = function (inputValue) {\n var fireSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (inputValue !== _this.state.inputValue) {\n _this.setState({\n inputValue: inputValue\n }, _this.forcePopupAlign);\n\n if (fireSearch && _this.props.onSearch) {\n _this.props.onSearch(inputValue);\n }\n }\n };\n\n _this.getValueByInput = function (str) {\n var _this$props2 = _this.props,\n multiple = _this$props2.multiple,\n tokenSeparators = _this$props2.tokenSeparators;\n var nextValue = _this.state.value;\n var hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(function (label) {\n var selectedValue = [label];\n\n if (multiple) {\n var value = _this.getValueByLabel(label);\n\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n\n _this.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n\n _this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n };\n\n _this.getRealOpenState = function (state) {\n // tslint:disable-next-line:variable-name\n var _open = _this.props.open;\n\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n var open = (state || _this.state).open;\n var options = _this._options || [];\n\n if (isMultipleOrTagsOrCombobox(_this.props) || !_this.props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n\n return open;\n };\n\n _this.markMouseDown = function () {\n _this._mouseDown = true;\n };\n\n _this.markMouseLeave = function () {\n _this._mouseDown = false;\n };\n\n _this.handleBackfill = function (item) {\n if (!_this.props.backfill || !(isSingleMode(_this.props) || isCombobox(_this.props))) {\n return;\n }\n\n var key = getValuePropValue(item);\n\n if (isCombobox(_this.props)) {\n _this.setInputValue(key, false);\n }\n\n _this.setState({\n value: [key],\n backfillValue: key\n });\n };\n\n _this.filterOption = function (input, child) {\n var defaultFilter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultFilterFn;\n var value = _this.state.value;\n var lastValue = value[value.length - 1];\n\n if (!input || lastValue && lastValue === _this.state.backfillValue) {\n return true;\n }\n\n var filterFn = _this.props.filterOption;\n\n if ('filterOption' in _this.props) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n } else {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(_assertThisInitialized(_this), input, child);\n } else if (child.props.disabled) {\n return false;\n }\n\n return true;\n };\n\n _this.timeoutFocus = function () {\n if (_this.focusTimer) {\n _this.clearFocusTime();\n }\n\n _this.focusTimer = window.setTimeout(function () {\n if (_this.props.onFocus) {\n _this.props.onFocus();\n }\n }, 10);\n };\n\n _this.clearFocusTime = function () {\n if (_this.focusTimer) {\n clearTimeout(_this.focusTimer);\n _this.focusTimer = null;\n }\n };\n\n _this.clearBlurTime = function () {\n if (_this.blurTimer) {\n clearTimeout(_this.blurTimer);\n _this.blurTimer = null;\n }\n };\n\n _this.updateFocusClassName = function () {\n var rootRef = _this.rootRef;\n var props = _this.props; // avoid setState and its side effect\n\n if (_this._focused) {\n classes(rootRef).add(\"\".concat(props.prefixCls, \"-focused\"));\n } else {\n classes(rootRef).remove(\"\".concat(props.prefixCls, \"-focused\"));\n }\n };\n\n _this.maybeFocus = function (open, needFocus) {\n if (needFocus || open) {\n var input = _this.getInputDOMNode();\n\n var _document = document,\n activeElement = _document.activeElement;\n\n if (input && (open || isMultipleOrTagsOrCombobox(_this.props))) {\n if (activeElement !== input) {\n input.focus();\n _this._focused = true;\n }\n } else if (activeElement !== _this.selectionRef && _this.selectionRef) {\n _this.selectionRef.focus();\n\n _this._focused = true;\n }\n }\n };\n\n _this.removeSelected = function (selectedKey, e) {\n var props = _this.props;\n\n if (props.disabled || _this.isChildDisabled(selectedKey)) {\n return;\n } // Do not trigger Trigger popup\n\n\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n\n var oldValue = _this.state.value;\n var value = oldValue.filter(function (singleValue) {\n return singleValue !== selectedKey;\n });\n var canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n var event = selectedKey;\n\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: _this.getLabelBySingleValue(selectedKey)\n };\n }\n\n if (props.onDeselect) {\n props.onDeselect(event, _this.getOptionBySingleValue(selectedKey));\n }\n }\n\n _this.fireChange(value);\n };\n\n _this.openIfHasChildren = function () {\n var props = _this.props;\n\n if (React.Children.count(props.children) || isSingleMode(props)) {\n _this.setOpenState(true);\n }\n };\n\n _this.fireSelect = function (value) {\n if (_this.props.onSelect) {\n _this.props.onSelect(_this.getVLBySingleValue(value), _this.getOptionBySingleValue(value));\n }\n };\n\n _this.fireChange = function (value) {\n var props = _this.props;\n\n if (!('value' in props)) {\n _this.setState({\n value: value\n }, _this.forcePopupAlign);\n }\n\n var vls = _this.getVLForOnChange(value);\n\n var options = _this.getOptionsBySingleValue(value);\n\n if (props.onChange) {\n props.onChange(vls, isMultipleOrTags(_this.props) ? options : options[0]);\n }\n };\n\n _this.isChildDisabled = function (key) {\n return childrenToArray(_this.props.children).some(function (child) {\n var childValue = getValuePropValue(child);\n return childValue === key && child.props && child.props.disabled;\n });\n };\n\n _this.forcePopupAlign = function () {\n if (!_this.state.open) {\n return;\n }\n\n if (_this.selectTriggerRef && _this.selectTriggerRef.triggerRef) {\n _this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n };\n\n _this.renderFilterOptions = function () {\n var inputValue = _this.state.inputValue;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n tags = _this$props3.tags,\n notFoundContent = _this$props3.notFoundContent;\n var menuItems = [];\n var childrenKeys = [];\n var empty = false;\n\n var options = _this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n\n if (tags) {\n // tags value must be string\n var value = _this.state.value;\n value = value.filter(function (singleValue) {\n return childrenKeys.indexOf(singleValue) === -1 && (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1);\n }); // sort by length\n\n value.sort(function (val1, val2) {\n return val1.length - val2.length;\n });\n value.forEach(function (singleValue) {\n var key = singleValue;\n var menuItem = React.createElement(MenuItem, {\n style: UNSELECTABLE_STYLE,\n role: \"option\",\n attribute: UNSELECTABLE_ATTRIBUTE,\n value: key,\n key: key\n }, key);\n options.push(menuItem);\n menuItems.push(menuItem);\n }); // ref: https://github.com/ant-design/ant-design/issues/14090\n\n if (inputValue && menuItems.every(function (option) {\n return getValuePropValue(option) !== inputValue;\n })) {\n options.unshift(React.createElement(MenuItem, {\n style: UNSELECTABLE_STYLE,\n role: \"option\",\n attribute: UNSELECTABLE_ATTRIBUTE,\n value: inputValue,\n key: inputValue\n }, inputValue));\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n options = [React.createElement(MenuItem, {\n style: UNSELECTABLE_STYLE,\n attribute: UNSELECTABLE_ATTRIBUTE,\n disabled: true,\n role: \"option\",\n value: \"NOT_FOUND\",\n key: \"NOT_FOUND\"\n }, notFoundContent)];\n }\n\n return {\n empty: empty,\n options: options\n };\n };\n\n _this.renderFilterOptionsFromChildren = function (children, childrenKeys, menuItems) {\n var sel = [];\n var props = _this.props;\n var inputValue = _this.state.inputValue;\n var tags = props.tags;\n React.Children.forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n var label = child.props.label;\n var key = child.key;\n\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n } // Match option group label\n\n\n if (inputValue && _this.filterOption(inputValue, child)) {\n var innerItems = childrenToArray(child.props.children).map(function (subChild) {\n var childValueSub = getValuePropValue(subChild) || subChild.key;\n return React.createElement(MenuItem, _extends({\n key: childValueSub,\n value: childValueSub\n }, subChild.props));\n });\n sel.push(React.createElement(MenuItemGroup, {\n key: key,\n title: label\n }, innerItems)); // Not match\n } else {\n var _innerItems = _this.renderFilterOptionsFromChildren(child.props.children, childrenKeys, menuItems);\n\n if (_innerItems.length) {\n sel.push(React.createElement(MenuItemGroup, {\n key: key,\n title: label\n }, _innerItems));\n }\n }\n\n return;\n }\n\n warning(type.isSelectOption, 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' + \"instead of `\".concat(type.name || type.displayName || child.type, \"`.\"));\n var childValue = getValuePropValue(child);\n validateOptionValue(childValue, _this.props);\n\n if (_this.filterOption(inputValue, child)) {\n var menuItem = React.createElement(MenuItem, _extends({\n style: UNSELECTABLE_STYLE,\n attribute: UNSELECTABLE_ATTRIBUTE,\n value: childValue,\n key: childValue,\n role: \"option\"\n }, child.props));\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n return sel;\n };\n\n _this.renderTopControlNode = function () {\n var _this$state = _this.state,\n open = _this$state.open,\n inputValue = _this$state.inputValue;\n var value = _this.state.value;\n var props = _this.props;\n var choiceTransitionName = props.choiceTransitionName,\n prefixCls = props.prefixCls,\n maxTagTextLength = props.maxTagTextLength,\n maxTagCount = props.maxTagCount,\n showSearch = props.showSearch,\n removeIcon = props.removeIcon;\n var maxTagPlaceholder = props.maxTagPlaceholder;\n var className = \"\".concat(prefixCls, \"-selection__rendered\"); // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n\n var innerNode = null;\n\n if (isSingleMode(props)) {\n var selectedValue = null;\n\n if (value.length) {\n var showSelectedValue = false;\n var opacity = 1;\n\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n\n var singleValue = value[0];\n\n var _this$getOptionInfoBy3 = _this.getOptionInfoBySingleValue(singleValue),\n label = _this$getOptionInfoBy3.label,\n title = _this$getOptionInfoBy3.title;\n\n selectedValue = React.createElement(\"div\", {\n key: \"value\",\n className: \"\".concat(prefixCls, \"-selection-selected-value\"),\n title: toTitle(title || label),\n style: {\n display: showSelectedValue ? 'block' : 'none',\n opacity: opacity\n }\n }, label);\n }\n\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [selectedValue, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"input\",\n style: {\n display: open ? 'block' : 'none'\n }\n }, _this.getInputElement())];\n }\n } else {\n var selectedValueNodes = [];\n var limitedCountValue = value;\n var maxTagPlaceholderEl;\n\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n\n var omittedValues = _this.getVLForOnChange(value.slice(maxTagCount, value.length));\n\n var content = \"+ \".concat(value.length - maxTagCount, \" ...\");\n\n if (maxTagPlaceholder) {\n content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n }\n\n maxTagPlaceholderEl = React.createElement(\"li\", _extends({\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n role: \"presentation\",\n onMouseDown: preventDefaultEvent,\n className: \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\"),\n key: \"maxTagPlaceholder\",\n title: toTitle(content)\n }), React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content));\n }\n\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(function (singleValue) {\n var info = _this.getOptionInfoBySingleValue(singleValue);\n\n var content = info.label;\n var title = info.title || content;\n\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = \"\".concat(content.slice(0, maxTagTextLength), \"...\");\n }\n\n var disabled = _this.isChildDisabled(singleValue);\n\n var choiceClassName = disabled ? \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\") : \"\".concat(prefixCls, \"-selection__choice\");\n return React.createElement(\"li\", _extends({\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n onMouseDown: preventDefaultEvent,\n className: choiceClassName,\n role: \"presentation\",\n key: singleValue || SELECT_EMPTY_VALUE_KEY,\n title: toTitle(title)\n }), React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content), disabled ? null : React.createElement(\"span\", {\n onClick: function onClick(event) {\n _this.removeSelected(singleValue, event);\n },\n className: \"\".concat(prefixCls, \"-selection__choice__remove\")\n }, removeIcon || React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-selection__choice__remove-icon\")\n }, \"\\xD7\")));\n });\n }\n\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n\n selectedValueNodes.push(React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"__input\"\n }, _this.getInputElement()));\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n innerNode = React.createElement(Animate, {\n onLeave: _this.onChoiceAnimationLeave,\n component: \"ul\",\n transitionName: choiceTransitionName\n }, selectedValueNodes);\n } else {\n innerNode = React.createElement(\"ul\", null, selectedValueNodes);\n }\n }\n\n return React.createElement(\"div\", {\n className: className,\n ref: _this.saveTopCtrlRef\n }, _this.getPlaceholderElement(), innerNode);\n };\n\n var optionsInfo = Select.getOptionsInfoFromProps(props);\n\n if (props.tags && typeof props.filterOption !== 'function') {\n var isDisabledExist = Object.keys(optionsInfo).some(function (key) {\n return optionsInfo[key].disabled;\n });\n warning(!isDisabledExist, 'Please avoid setting option to disabled in tags mode since user can always type text as tag.');\n }\n\n _this.state = {\n value: Select.getValueFromProps(props, true),\n inputValue: props.combobox ? Select.getInputValueForCombobox(props, optionsInfo, true) : '',\n open: props.defaultOpen,\n optionsInfo: optionsInfo,\n backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n skipBuildOptionsInfo: true,\n ariaId: ''\n };\n _this.saveInputRef = saveRef(_assertThisInitialized(_this), 'inputRef');\n _this.saveInputMirrorRef = saveRef(_assertThisInitialized(_this), 'inputMirrorRef');\n _this.saveTopCtrlRef = saveRef(_assertThisInitialized(_this), 'topCtrlRef');\n _this.saveSelectTriggerRef = saveRef(_assertThisInitialized(_this), 'selectTriggerRef');\n _this.saveRootRef = saveRef(_assertThisInitialized(_this), 'rootRef');\n _this.saveSelectionRef = saveRef(_assertThisInitialized(_this), 'selectionRef');\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.props.autoFocus || this.state.open) {\n this.focus();\n }\n\n this.setState({\n ariaId: generateUUID()\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (isMultipleOrTags(this.props)) {\n var inputNode = this.getInputDOMNode();\n var mirrorNode = this.getInputMirrorDOMNode();\n\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = \"\".concat(mirrorNode.clientWidth, \"px\");\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n\n this.forcePopupAlign();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearFocusTime();\n this.clearBlurTime();\n\n if (this.dropdownContainer) {\n ReactDOM.unmountComponentAtNode(this.dropdownContainer);\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if (isSingleMode(this.props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n if (isSingleMode(this.props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n }\n }, {\n key: \"renderArrow\",\n value: function renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n var _this$props4 = this.props,\n _this$props4$showArro = _this$props4.showArrow,\n showArrow = _this$props4$showArro === void 0 ? !multiple : _this$props4$showArro,\n loading = _this$props4.loading,\n inputIcon = _this$props4.inputIcon,\n prefixCls = _this$props4.prefixCls;\n\n if (!showArrow && !loading) {\n return null;\n } // if loading have loading icon\n\n\n var defaultIcon = loading ? React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-loading\")\n }) : React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-icon\")\n });\n return React.createElement(\"span\", _extends({\n key: \"arrow\",\n className: \"\".concat(prefixCls, \"-arrow\"),\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n onClick: this.onArrowClick\n }), inputIcon || defaultIcon);\n }\n }, {\n key: \"renderClear\",\n value: function renderClear() {\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n allowClear = _this$props5.allowClear,\n clearIcon = _this$props5.clearIcon;\n var inputValue = this.state.inputValue;\n var value = this.state.value;\n var clear = React.createElement(\"span\", _extends({\n key: \"clear\",\n className: \"\".concat(prefixCls, \"-selection__clear\"),\n onMouseDown: preventDefaultEvent,\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n onClick: this.onClearSelection\n }), clearIcon || React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-selection__clear-icon\")\n }, \"\\xD7\"));\n\n if (!allowClear) {\n return null;\n }\n\n if (isCombobox(this.props)) {\n if (inputValue) {\n return clear;\n }\n\n return null;\n }\n\n if (inputValue || value.length) {\n return clear;\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _rootCls;\n\n var props = this.props;\n var multiple = isMultipleOrTags(props); // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var state = this.state;\n var className = props.className,\n disabled = props.disabled,\n prefixCls = props.prefixCls,\n loading = props.loading;\n var ctrlNode = this.renderTopControlNode();\n var _this$state2 = this.state,\n open = _this$state2.open,\n ariaId = _this$state2.ariaId;\n\n if (open) {\n var filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n\n var realOpen = this.getRealOpenState();\n var empty = this._empty;\n var options = this._options || [];\n var dataOrAriaAttributeProps = {};\n Object.keys(props).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(props, key) && (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')) {\n dataOrAriaAttributeProps[key] = props[key];\n }\n }); // for (const key in props) {\n // if (\n // Object.prototype.hasOwnProperty.call(props, key) &&\n // (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')\n // ) {\n // dataOrAriaAttributeProps[key] = props[key];\n // }\n // }\n\n var extraSelectionProps = _extends({}, dataOrAriaAttributeProps);\n\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps = _extends({}, extraSelectionProps, {\n onKeyDown: this.onKeyDown,\n tabIndex: props.disabled ? -1 : props.tabIndex\n });\n }\n\n var rootCls = (_rootCls = {}, _defineProperty(_rootCls, className, !!className), _defineProperty(_rootCls, prefixCls, 1), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-open\"), open), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-focused\"), open || !!this._focused), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-combobox\"), isCombobox(props)), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-enabled\"), !disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-allow-clear\"), !!props.allowClear), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-no-arrow\"), !showArrow), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-loading\"), !!loading), _rootCls);\n return React.createElement(SelectTrigger, {\n onPopupFocus: this.onPopupFocus,\n onMouseEnter: this.props.onMouseEnter,\n onMouseLeave: this.props.onMouseLeave,\n dropdownAlign: props.dropdownAlign,\n dropdownClassName: props.dropdownClassName,\n dropdownMatchSelectWidth: props.dropdownMatchSelectWidth,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n transitionName: props.transitionName,\n animation: props.animation,\n prefixCls: props.prefixCls,\n dropdownStyle: props.dropdownStyle,\n combobox: props.combobox,\n showSearch: props.showSearch,\n options: options,\n empty: empty,\n multiple: multiple,\n disabled: disabled,\n visible: realOpen,\n inputValue: state.inputValue,\n value: state.value,\n backfillValue: state.backfillValue,\n firstActiveValue: props.firstActiveValue,\n onDropdownVisibleChange: this.onDropdownVisibleChange,\n getPopupContainer: props.getPopupContainer,\n onMenuSelect: this.onMenuSelect,\n onMenuDeselect: this.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n showAction: props.showAction,\n ref: this.saveSelectTriggerRef,\n menuItemSelectedIcon: props.menuItemSelectedIcon,\n dropdownRender: props.dropdownRender,\n ariaId: ariaId\n }, React.createElement(\"div\", {\n id: props.id,\n style: props.style,\n ref: this.saveRootRef,\n onBlur: this.onOuterBlur,\n onFocus: this.onOuterFocus,\n className: classnames(rootCls),\n onMouseDown: this.markMouseDown,\n onMouseUp: this.markMouseLeave,\n onMouseOut: this.markMouseLeave\n }, React.createElement(\"div\", _extends({\n ref: this.saveSelectionRef,\n key: \"selection\",\n className: \"\".concat(prefixCls, \"-selection\\n \").concat(prefixCls, \"-selection--\").concat(multiple ? 'multiple' : 'single'),\n role: \"combobox\",\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"true\",\n \"aria-controls\": ariaId,\n \"aria-expanded\": realOpen\n }, extraSelectionProps), ctrlNode, this.renderClear(), this.renderArrow(!!multiple))));\n }\n }]);\n\n return Select;\n}(React.Component);\n\nSelect.propTypes = SelectPropTypes;\nSelect.defaultProps = {\n prefixCls: 'rc-select',\n defaultOpen: false,\n labelInValue: false,\n defaultActiveFirstOption: true,\n showSearch: true,\n allowClear: false,\n placeholder: '',\n onChange: noop,\n onFocus: noop,\n onBlur: noop,\n onSelect: noop,\n onSearch: noop,\n onDeselect: noop,\n onInputKeyDown: noop,\n dropdownMatchSelectWidth: true,\n dropdownStyle: {},\n dropdownMenuStyle: {},\n optionFilterProp: 'value',\n optionLabelProp: 'value',\n notFoundContent: 'Not Found',\n backfill: false,\n showAction: ['click'],\n tokenSeparators: [],\n autoClearSearchValue: true,\n tabIndex: 0,\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\n\nSelect.getDerivedStateFromProps = function (nextProps, prevState) {\n var optionsInfo = prevState.skipBuildOptionsInfo ? prevState.optionsInfo : Select.getOptionsInfoFromProps(nextProps, prevState);\n var newState = {\n optionsInfo: optionsInfo,\n skipBuildOptionsInfo: false\n };\n\n if ('open' in nextProps) {\n newState.open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n var value = Select.getValueFromProps(nextProps);\n newState.value = value;\n\n if (nextProps.combobox) {\n newState.inputValue = Select.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n\n return newState;\n};\n\nSelect.getOptionsFromChildren = function (children) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n React.Children.forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n Select.getOptionsFromChildren(child.props.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n};\n\nSelect.getInputValueForCombobox = function (props, optionsInfo, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n\n var label = value;\n\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n\n if (label === undefined) {\n label = '';\n }\n\n return label;\n};\n\nSelect.getLabelFromOption = function (props, option) {\n return getPropValue(option, props.optionLabelProp);\n};\n\nSelect.getOptionsInfoFromProps = function (props, preState) {\n var options = Select.getOptionsFromChildren(props.children);\n var optionsInfo = {};\n options.forEach(function (option) {\n var singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option: option,\n value: singleValue,\n label: Select.getLabelFromOption(props, option),\n title: option.props.title,\n disabled: option.props.disabled\n };\n });\n\n if (preState) {\n // keep option info in pre state value.\n var oldOptionsInfo = preState.optionsInfo;\n var value = preState.value;\n\n if (value) {\n value.forEach(function (v) {\n var key = getMapKey(v);\n\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n\n return optionsInfo;\n};\n\nSelect.getValueFromProps = function (props, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n\n if (props.labelInValue) {\n value = value.map(function (v) {\n return v.key;\n });\n }\n\n return value;\n};\n\nSelect.displayName = 'Select';\npolyfill(Select);\nexport default Select;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/Select.js\n// module id = 1002\n// module chunks = 33","import React from 'react';\n\nexport function toArrayChildren(children) {\n var ret = [];\n React.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nexport function findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nexport function isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nexport function mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-animate@2.6.0@rc-animate/es/ChildrenUtils.js\n// module id = 1003\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport cssAnimate, { isCssAnimationSupported } from 'css-animation';\nimport animUtil from './util/animate';\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n _inherits(AnimateChild, _React$Component);\n\n function AnimateChild() {\n _classCallCheck(this, AnimateChild);\n\n return _possibleConstructorReturn(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n _createClass(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (animUtil.isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (animUtil.isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (animUtil.isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = ReactDOM.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = cssAnimate(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(React.Component);\n\nAnimateChild.propTypes = {\n children: PropTypes.any\n};\nexport default AnimateChild;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-animate@2.6.0@rc-animate/es/AnimateChild.js\n// module id = 1004\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Provider, create } from 'mini-store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport { noop } from './util';\n\nvar Menu = function (_React$Component) {\n _inherits(Menu, _React$Component);\n\n function Menu(props) {\n _classCallCheck(this, Menu);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.isRootMenu = true;\n\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n _this.store = create({\n selectedKeys: selectedKeys,\n openKeys: openKeys,\n activeKey: { '0-menu-': getActiveKey(props, props.activeKey) }\n });\n return _this;\n }\n\n Menu.prototype.componentDidMount = function componentDidMount() {\n this.updateMiniStore();\n };\n\n Menu.prototype.componentDidUpdate = function componentDidUpdate() {\n this.updateMiniStore();\n };\n\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n\n\n Menu.prototype.updateMiniStore = function updateMiniStore() {\n if ('selectedKeys' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || []\n });\n }\n if ('openKeys' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || []\n });\n }\n };\n\n Menu.prototype.render = function render() {\n var _this2 = this;\n\n var props = _objectWithoutProperties(this.props, []);\n\n props.className += ' ' + props.prefixCls + '-root';\n props = _extends({}, props, {\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this\n });\n return React.createElement(\n Provider,\n { store: this.store },\n React.createElement(\n SubPopupMenu,\n _extends({}, props, { ref: function ref(c) {\n return _this2.innerMenu = c;\n } }),\n this.props.children\n )\n );\n };\n\n return Menu;\n}(React.Component);\n\nMenu.propTypes = {\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultActiveFirst: PropTypes.bool,\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.string),\n openKeys: PropTypes.arrayOf(PropTypes.string),\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n getPopupContainer: PropTypes.func,\n onClick: PropTypes.func,\n onSelect: PropTypes.func,\n onDeselect: PropTypes.func,\n onDestroy: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n subMenuOpenDelay: PropTypes.number,\n subMenuCloseDelay: PropTypes.number,\n forceSubMenuRender: PropTypes.bool,\n triggerSubMenuAction: PropTypes.string,\n level: PropTypes.number,\n selectable: PropTypes.bool,\n multiple: PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object,\n activeKey: PropTypes.string,\n prefixCls: PropTypes.string,\n builtinPlacements: PropTypes.object,\n itemIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n expandIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n overflowedIndicator: PropTypes.node\n};\nMenu.defaultProps = {\n selectable: true,\n onClick: noop,\n onSelect: noop,\n onOpenChange: noop,\n onDeselect: noop,\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: 'hover',\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n style: {},\n builtinPlacements: {},\n overflowedIndicator: React.createElement(\n 'span',\n null,\n '\\xB7\\xB7\\xB7'\n )\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onSelect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n // root menu\n var selectedKeys = _this3.store.getState().selectedKeys;\n var selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onSelect(_extends({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.onClick = function (e) {\n _this3.props.onClick(e);\n };\n\n this.onKeyDown = function (e, callback) {\n _this3.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n this.onOpenChange = function (event) {\n var props = _this3.props;\n var openKeys = _this3.store.getState().openKeys.concat();\n var changed = false;\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!('openKeys' in _this3.props)) {\n _this3.store.setState({ openKeys: openKeys });\n }\n props.onOpenChange(openKeys);\n }\n };\n\n this.onDeselect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n var selectedKeys = _this3.store.getState().selectedKeys.concat();\n var selectedKey = selectInfo.key;\n var index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onDeselect(_extends({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.getOpenTransitionName = function () {\n var props = _this3.props;\n var transitionName = props.openTransitionName;\n var animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = props.prefixCls + '-open-' + animationName;\n }\n return transitionName;\n };\n};\n\nexport default Menu;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/Menu.js\n// module id = 1005\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _PropTypes = require('./PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n _classCallCheck(this, Provider);\n\n return _possibleConstructorReturn(this, (Provider.__proto__ || Object.getPrototypeOf(Provider)).apply(this, arguments));\n }\n\n _createClass(Provider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n miniStore: this.props.store\n };\n }\n }, {\n key: 'render',\n value: function render() {\n return _react.Children.only(this.props.children);\n }\n }]);\n\n return Provider;\n}(_react.Component);\n\nProvider.propTypes = {\n store: _PropTypes.storeShape.isRequired\n};\nProvider.childContextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n};\nexports.default = Provider;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mini-store@2.0.0@mini-store/lib/Provider.js\n// module id = 1006\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = connect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _reactLifecyclesCompat = require('react-lifecycles-compat');\n\nvar _PropTypes = require('./PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction isStateless(Component) {\n return !Component.prototype.render;\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nfunction connect(mapStateToProps) {\n var shouldSubscribe = !!mapStateToProps;\n var finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n\n return function wrapWithConnect(WrappedComponent) {\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n _createClass(Connect, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finnalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n return { props: props };\n }\n }]);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, (Connect.__proto__ || Object.getPrototypeOf(Connect)).call(this, props, context));\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n var nextState = finnalMapStateToProps(_this.store.getState(), _this.props);\n _this.setState({ subscribed: nextState });\n };\n\n _this.store = context.miniStore;\n _this.state = {\n subscribed: finnalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n _createClass(Connect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.trySubscribe();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.tryUnsubscribe();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state.subscribed, nextState.subscribed);\n }\n }, {\n key: 'trySubscribe',\n value: function trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n }\n }, {\n key: 'tryUnsubscribe',\n value: function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n return this.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props, this.state.subscribed, {\n store: this.store\n });\n\n if (!isStateless(WrappedComponent)) {\n props = _extends({}, props, {\n ref: function ref(c) {\n return _this2.wrappedInstance = c;\n }\n });\n }\n\n return _react2.default.createElement(WrappedComponent, props);\n }\n }]);\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n Connect.contextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n };\n\n\n (0, _reactLifecyclesCompat.polyfill)(Connect);\n\n return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent);\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mini-store@2.0.0@mini-store/lib/connect.js\n// module id = 1007\n// module chunks = 33","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = create;\nfunction create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = _extends({}, state, partial);\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mini-store@2.0.0@mini-store/lib/create.js\n// module id = 1008\n// module chunks = 33","!function(e){var n=/iPhone/i,t=/iPod/i,r=/iPad/i,a=/\\bAndroid(?:.+)Mobile\\b/i,p=/Android/i,l=/\\bAndroid(?:.+)SD4930UR\\b/i,b=/\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i,f=/Windows Phone/i,u=/\\bWindows(?:.+)ARM\\b/i,c=/BlackBerry/i,s=/BB10/i,v=/Opera Mini/i,h=/\\b(CriOS|Chrome)(?:.+)Mobile/i,w=/\\Mobile(?:.+)Firefox\\b/i;function m(e,i){return e.test(i)}function i(e){var i=e||(\"undefined\"!=typeof navigator?navigator.userAgent:\"\"),o=i.split(\"[FBAN\");void 0!==o[1]&&(i=o[0]),void 0!==(o=i.split(\"Twitter\"))[1]&&(i=o[0]);var d={apple:{phone:m(n,i)&&!m(f,i),ipod:m(t,i),tablet:!m(n,i)&&m(r,i)&&!m(f,i),device:(m(n,i)||m(t,i)||m(r,i))&&!m(f,i)},amazon:{phone:m(l,i),tablet:!m(l,i)&&m(b,i),device:m(l,i)||m(b,i)},android:{phone:!m(f,i)&&m(l,i)||!m(f,i)&&m(a,i),tablet:!m(f,i)&&!m(l,i)&&!m(a,i)&&(m(b,i)||m(p,i)),device:!m(f,i)&&(m(l,i)||m(b,i)||m(a,i)||m(p,i))},windows:{phone:m(f,i),tablet:m(u,i),device:m(f,i)||m(u,i)},other:{blackberry:m(c,i),blackberry10:m(s,i),opera:m(v,i),firefox:m(w,i),chrome:m(h,i),device:m(c,i)||m(s,i)||m(v,i)||m(w,i)||m(h,i)}};return d.any=d.apple.device||d.android.device||d.windows.device||d.other.device,d.phone=d.apple.phone||d.android.phone||d.windows.phone,d.tablet=d.apple.tablet||d.android.tablet||d.windows.tablet,d}\"undefined\"!=typeof module&&module.exports&&\"undefined\"==typeof window?module.exports=i:\"undefined\"!=typeof module&&module.exports&&\"undefined\"!=typeof window?module.exports=i():\"function\"==typeof define&&define.amd?define([],e.isMobile=i()):e.isMobile=i()}(this);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_ismobilejs@0.5.1@ismobilejs/dist/isMobile.min.js\n// module id = 1009\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport { getWidth, setStyle, menuAllProps } from './util';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nvar DOMWrap = function (_React$Component) {\n _inherits(DOMWrap, _React$Component);\n\n function DOMWrap() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, DOMWrap);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n lastVisibleIndex: undefined\n }, _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n\n var ul = ReactDOM.findDOMNode(_this);\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(prefixCls + '-overflowed-submenu') < 0;\n });\n }, _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme,\n propStyle = _this$props.style;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n eventKey = _copy$props.eventKey,\n rest = _objectWithoutProperties(_copy$props, ['children', 'title', 'eventKey']);\n\n var style = _extends({}, propStyle);\n var key = keyPrefix + '-overflowed-indicator';\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = _extends({}, style, {\n display: 'none'\n });\n } else if (renderPlaceholder) {\n style = _extends({}, style, {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n });\n key = key + '-placeholder';\n }\n\n var popupClassName = theme ? prefixCls + '-' + theme : '';\n var props = {};\n menuAllProps.forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n\n return React.createElement(\n SubMenu,\n _extends({\n title: overflowedIndicator,\n className: prefixCls + '-overflowed-submenu',\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: keyPrefix + '-overflowed-indicator',\n disabled: false,\n style: style\n }),\n overflowedItems\n );\n }, _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n var ul = ReactDOM.findDOMNode(_this);\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = _this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'inline-block');\n });\n\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return getWidth(c);\n });\n\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'none');\n });\n _this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n _this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n }, _this.resizeObserver = null, _this.mutationObserver = null, _this.originalTotalWidth = 0, _this.overflowedItems = [], _this.menuItemSizes = [], _this.handleResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = ReactDOM.findDOMNode(_this);\n if (!ul) {\n return;\n }\n var width = getWidth(ul);\n\n _this.overflowedItems = [];\n var currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n var lastVisibleIndex = undefined;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex++;\n }\n });\n }\n\n _this.setState({ lastVisibleIndex: lastVisibleIndex });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n DOMWrap.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n var menuUl = ReactDOM.findDOMNode(this);\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(_this2.setChildrenWidthAndResize);\n });\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, { attributes: false, childList: true, subTree: false });\n }\n }\n };\n\n DOMWrap.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.resizeObserver.disconnect();\n }\n };\n\n // get all valid menuItem nodes\n\n\n // memorize rendered menuSize\n\n\n // original scroll size of the list\n\n\n // copy of overflowed items\n\n\n // cache item of the original items (so we can track the size and order)\n\n\n DOMWrap.prototype.renderChildren = function renderChildren(children) {\n var _this3 = this;\n\n // need to take care of overflowed items in horizontal mode\n var lastVisibleIndex = this.state.lastVisibleIndex;\n\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n if (_this3.props.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(_this3.props.prefixCls + '-root') !== -1) {\n if (index > lastVisibleIndex) {\n item = React.cloneElement(childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n eventKey: childNode.props.eventKey + '-hidden',\n className: childNode.className + ' ' + MENUITEM_OVERFLOWED_CLASSNAME\n });\n }\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return React.cloneElement(c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n { key: c.props.eventKey, mode: 'vertical-left' });\n });\n\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(acc, [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n return ret;\n }\n return [].concat(acc, [item]);\n }, []);\n };\n\n DOMWrap.prototype.render = function render() {\n var _props = this.props,\n hiddenClassName = _props.hiddenClassName,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n overflowedIndicator = _props.overflowedIndicator,\n mode = _props.mode,\n level = _props.level,\n Tag = _props.tag,\n children = _props.children,\n theme = _props.theme,\n rest = _objectWithoutProperties(_props, ['hiddenClassName', 'visible', 'prefixCls', 'overflowedIndicator', 'mode', 'level', 'tag', 'children', 'theme']);\n\n if (!visible) {\n rest.className += ' ' + hiddenClassName;\n }\n\n return React.createElement(\n Tag,\n rest,\n this.renderChildren(this.props.children)\n );\n };\n\n return DOMWrap;\n}(React.Component);\n\nDOMWrap.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string,\n style: PropTypes.object\n};\n\nDOMWrap.defaultProps = {\n tag: 'div',\n className: ''\n};\n\nexport default DOMWrap;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/DOMWrap.js\n// module id = 1010\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Align from 'rc-align';\nimport Animate from 'rc-animate';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport { saveRef } from './utils';\n\nvar Popup = function (_Component) {\n _inherits(Popup, _Component);\n\n function Popup(props) {\n _classCallCheck(this, Popup);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n\n _this.savePopupRef = saveRef.bind(_this, 'popupInstance');\n _this.saveAlignRef = saveRef.bind(_this, 'alignInstance');\n return _this;\n }\n\n Popup.prototype.componentDidMount = function componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n };\n\n Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n this.setStretchSize();\n };\n\n // Record size if stretch needed\n\n\n Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n return ReactDOM.findDOMNode(this.popupInstance);\n };\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n\n Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n var props = this.props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n };\n\n Popup.prototype.getPopupElement = function getPopupElement() {\n var _this2 = this;\n\n var savePopupRef = this.savePopupRef;\n var _state = this.state,\n stretchChecked = _state.stretchChecked,\n targetHeight = _state.targetHeight,\n targetWidth = _state.targetWidth;\n var _props = this.props,\n align = _props.align,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n style = _props.style,\n getClassNameFromAlign = _props.getClassNameFromAlign,\n destroyPopupOnHide = _props.destroyPopupOnHide,\n stretch = _props.stretch,\n children = _props.children,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseDown = _props.onMouseDown,\n onTouchStart = _props.onTouchStart;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n var hiddenClassName = prefixCls + '-hidden';\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n sizeStyle.visibility = 'hidden';\n setTimeout(function () {\n if (_this2.alignInstance) {\n _this2.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n\n var newStyle = _extends({}, sizeStyle, style, this.getZIndexStyle());\n\n var popupInnerProps = {\n className: className,\n prefixCls: prefixCls,\n ref: savePopupRef,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\n style: newStyle\n };\n if (destroyPopupOnHide) {\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName()\n },\n visible ? React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n visible: true\n }, popupInnerProps),\n children\n )\n ) : null\n );\n }\n\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName(),\n showProp: 'xVisible'\n },\n React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n xVisible: visible,\n childrenProps: { visible: 'xVisible' },\n disabled: !visible,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n hiddenClassName: hiddenClassName\n }, popupInnerProps),\n children\n )\n )\n );\n };\n\n Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n var style = {};\n var props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n };\n\n Popup.prototype.getMaskElement = function getMaskElement() {\n var props = this.props;\n var maskElement = void 0;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = React.createElement(LazyRenderBox, {\n style: this.getZIndexStyle(),\n key: 'mask',\n className: props.prefixCls + '-mask',\n hiddenClassName: props.prefixCls + '-mask-hidden',\n visible: props.visible\n });\n if (maskTransition) {\n maskElement = React.createElement(\n Animate,\n {\n key: 'mask',\n showProp: 'visible',\n transitionAppear: true,\n component: '',\n transitionName: maskTransition\n },\n maskElement\n );\n }\n }\n return maskElement;\n };\n\n Popup.prototype.render = function render() {\n return React.createElement(\n 'div',\n null,\n this.getMaskElement(),\n this.getPopupElement()\n );\n };\n\n return Popup;\n}(Component);\n\nPopup.propTypes = {\n visible: PropTypes.bool,\n style: PropTypes.object,\n getClassNameFromAlign: PropTypes.func,\n onAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n stretch: PropTypes.string,\n children: PropTypes.node,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onAlign = function (popupDomNode, align) {\n var props = _this3.props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (_this3.currentAlignClassName !== currentAlignClassName) {\n _this3.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = _this3.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n this.setStretchSize = function () {\n var _props2 = _this3.props,\n stretch = _props2.stretch,\n getRootDomNode = _props2.getRootDomNode,\n visible = _props2.visible;\n var _state2 = _this3.state,\n stretchChecked = _state2.stretchChecked,\n targetHeight = _state2.targetHeight,\n targetWidth = _state2.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n _this3.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n _this3.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n };\n\n this.getTargetElement = function () {\n return _this3.props.getRootDomNode();\n };\n\n this.getAlignTarget = function () {\n var point = _this3.props.point;\n\n if (point) {\n return point;\n }\n return _this3.getTargetElement;\n };\n};\n\nexport default Popup;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-trigger@2.6.2@rc-trigger/es/Popup.js\n// module id = 1011\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\n\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function (_Component) {\n _inherits(Align, _Component);\n\n function Align() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Align);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n target = _this$props.target,\n align = _this$props.align,\n onAlign = _this$props.onAlign;\n\n if (!disabled && target) {\n var source = ReactDOM.findDOMNode(_this);\n\n var result = void 0;\n var element = getElement(target);\n var point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var activeElement = document.activeElement;\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n\n restoreFocus(activeElement, source);\n\n if (onAlign) {\n onAlign(source, result);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Align, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n var source = ReactDOM.findDOMNode(this);\n var sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n var lastElement = getElement(prevProps.target);\n var currentElement = getElement(props.target);\n var lastPoint = getPoint(prevProps.target);\n var currentPoint = getPoint(props.target);\n\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (lastElement !== currentElement || // Element change\n lastElement && !currentElement && currentPoint || // Change from element to point\n lastPoint && currentPoint && currentElement || // Change from point to element\n currentPoint && !isSamePoint(lastPoint, currentPoint)) {\n reAlign = true;\n }\n\n // If source element size changed\n var preRect = this.sourceRect || {};\n if (!reAlign && source && (!isSimilarValue(preRect.width, sourceRect.width) || !isSimilarValue(preRect.height, sourceRect.height))) {\n reAlign = true;\n }\n }\n\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopMonitorWindowResize();\n }\n }, {\n key: 'startMonitorWindowResize',\n value: function startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n }\n }, {\n key: 'stopMonitorWindowResize',\n value: function stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = React.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n var propList = Object.keys(childrenProps);\n propList.forEach(function (prop) {\n newProps[prop] = _this2.props[childrenProps[prop]];\n });\n\n return React.cloneElement(child, newProps);\n }\n return child;\n }\n }]);\n\n return Align;\n}(Component);\n\nAlign.propTypes = {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n clientX: PropTypes.number,\n clientY: PropTypes.number,\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })]),\n onAlign: PropTypes.func,\n monitorBufferTime: PropTypes.number,\n monitorWindowResize: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.any\n};\nAlign.defaultProps = {\n target: function target() {\n return window;\n },\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\n\nexport default Align;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-align@2.4.5@rc-align/es/Align.js\n// module id = 1012\n// module chunks = 33","import alignElement from './align/alignElement';\nimport alignPoint from './align/alignPoint';\n\nexport { alignElement, alignPoint };\n\nexport default alignElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/index.js\n// module id = 1013\n// module chunks = 33","import doAlign from './align';\nimport getOffsetParent from '../getOffsetParent';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport getRegion from '../getRegion';\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = getVisibleRectForElement(target);\n var targetRegion = getRegion(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\n\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\nexport default alignElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/align/alignElement.js\n// module id = 1014\n// module chunks = 33","var vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/propertyUtils.js\n// module id = 1015\n// module chunks = 33","import utils from './utils';\n\nexport default function isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/isAncestorFixed.js\n// module id = 1016\n// module chunks = 33","import utils from './utils';\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nexport default adjustForViewport;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/adjustForViewport.js\n// module id = 1017\n// module chunks = 33","import getAlignOffset from './getAlignOffset';\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\nexport default getElFuturePos;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/getElFuturePos.js\n// module id = 1018\n// module chunks = 33","/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nexport default getAlignOffset;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/getAlignOffset.js\n// module id = 1019\n// module chunks = 33","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport utils from '../utils';\nimport doAlign from './align';\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return doAlign(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\nexport default alignPoint;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/align/alignPoint.js\n// module id = 1020\n// module chunks = 33","import contains from 'rc-util/es/Dom/contains';\n\nexport function buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n var int1 = Math.floor(val1);\n var int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-align@2.4.5@rc-align/es/util.js\n// module id = 1021\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport LazyRenderBox from './LazyRenderBox';\n\nvar PopupInner = function (_Component) {\n _inherits(PopupInner, _Component);\n\n function PopupInner() {\n _classCallCheck(this, PopupInner);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n PopupInner.prototype.render = function render() {\n var props = this.props;\n var className = props.className;\n if (!props.visible) {\n className += ' ' + props.hiddenClassName;\n }\n return React.createElement(\n 'div',\n {\n className: className,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n style: props.style\n },\n React.createElement(\n LazyRenderBox,\n { className: props.prefixCls + '-content', visible: props.visible },\n props.children\n )\n );\n };\n\n return PopupInner;\n}(Component);\n\nPopupInner.propTypes = {\n hiddenClassName: PropTypes.string,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n children: PropTypes.any\n};\n\n\nexport default PopupInner;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-trigger@2.6.2@rc-trigger/es/PopupInner.js\n// module id = 1022\n// module chunks = 33","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\n\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\n\nexport default placements;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/placements.js\n// module id = 1023\n// module chunks = 33","// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \nwindow.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new p({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:\"childList\",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:\"characterData\",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,\nq=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n var style = _extends({}, props.style);\n if (props.mode === 'inline') {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n var icon = this.props.itemIcon;\n if (typeof this.props.itemIcon === 'function') {\n icon = React.createElement(this.props.itemIcon, this.props);\n }\n return React.createElement(\n 'li',\n _extends({}, props, attrs, mouseEvent, {\n style: style\n }),\n props.children,\n icon\n );\n };\n\n return MenuItem;\n}(React.Component);\n\nMenuItem.propTypes = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.string,\n active: PropTypes.bool,\n children: PropTypes.any,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.string,\n onItemHover: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func,\n onDeselect: PropTypes.func,\n parentMenu: PropTypes.object,\n onDestroy: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n multiple: PropTypes.bool,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func,\n itemIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node])\n};\nMenuItem.defaultProps = {\n onSelect: noop,\n onMouseEnter: noop,\n onMouseLeave: noop,\n manualRef: noop\n};\nMenuItem.isMenuItem = true;\n\nvar connected = connect(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem);\n\nexport default connected;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/MenuItem.js\n// module id = 1025\n// module chunks = 33","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-scroll-into-view@1.2.1@dom-scroll-into-view/lib/dom-scroll-into-view.js\n// module id = 1026\n// module chunks = 33","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-scroll-into-view@1.2.1@dom-scroll-into-view/lib/util.js\n// module id = 1027\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { menuAllProps } from './util';\n\nvar MenuItemGroup = function (_React$Component) {\n _inherits(MenuItemGroup, _React$Component);\n\n function MenuItemGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MenuItemGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n\n return renderMenuItem(item, index, _this.props.subMenuKey);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MenuItemGroup.prototype.render = function render() {\n var props = _objectWithoutProperties(this.props, []);\n\n var _props$className = props.className,\n className = _props$className === undefined ? '' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n\n var titleClassName = rootPrefixCls + '-item-group-title';\n var listClassName = rootPrefixCls + '-item-group-list';\n var title = props.title,\n children = props.children;\n\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n\n // Set onClick to null, to ignore propagated onClick event\n delete props.onClick;\n\n return React.createElement(\n 'li',\n _extends({}, props, { className: className + ' ' + rootPrefixCls + '-item-group' }),\n React.createElement(\n 'div',\n {\n className: titleClassName,\n title: typeof title === 'string' ? title : undefined\n },\n title\n ),\n React.createElement(\n 'ul',\n { className: listClassName },\n React.Children.map(children, this.renderInnerMenuItem)\n )\n );\n };\n\n return MenuItemGroup;\n}(React.Component);\n\nMenuItemGroup.propTypes = {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string\n};\nMenuItemGroup.defaultProps = {\n disabled: true\n};\n\n\nMenuItemGroup.isMenuItemGroup = true;\n\nexport default MenuItemGroup;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/MenuItemGroup.js\n// module id = 1028\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Divider = function (_React$Component) {\n _inherits(Divider, _React$Component);\n\n function Divider() {\n _classCallCheck(this, Divider);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Divider.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n rootPrefixCls = _props.rootPrefixCls,\n style = _props.style;\n\n return React.createElement('li', {\n className: className + ' ' + rootPrefixCls + '-item-divider',\n style: style\n });\n };\n\n return Divider;\n}(React.Component);\n\nDivider.propTypes = {\n className: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n style: PropTypes.object\n};\nDivider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: '',\n style: {}\n};\nexport default Divider;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/Divider.js\n// module id = 1029\n// module chunks = 33","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport classnames from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport Trigger from 'rc-trigger';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nTrigger.displayName = 'Trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nvar SelectTrigger =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(SelectTrigger, _React$Component);\n\n function SelectTrigger(props) {\n var _this;\n\n _classCallCheck(this, SelectTrigger);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SelectTrigger).call(this, props));\n _this.dropdownMenuRef = null;\n\n _this.setDropdownWidth = function () {\n var dom = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n var width = dom.offsetWidth;\n\n if (width !== _this.state.dropdownWidth) {\n _this.setState({\n dropdownWidth: width\n });\n }\n };\n\n _this.getInnerMenu = function () {\n return _this.dropdownMenuRef && _this.dropdownMenuRef.menuRef;\n };\n\n _this.getPopupDOMNode = function () {\n return _this.triggerRef.getPopupDomNode();\n };\n\n _this.getDropdownElement = function (newProps) {\n var props = _this.props;\n var dropdownRender = props.dropdownRender,\n ariaId = props.ariaId;\n var menuNode = React.createElement(DropdownMenu, _extends({\n ref: _this.saveDropdownMenuRef\n }, newProps, {\n ariaId: ariaId,\n prefixCls: _this.getDropdownPrefixCls(),\n onMenuSelect: props.onMenuSelect,\n onMenuDeselect: props.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n value: props.value,\n backfillValue: props.backfillValue,\n firstActiveValue: props.firstActiveValue,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n menuItemSelectedIcon: props.menuItemSelectedIcon\n }));\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n\n return null;\n };\n\n _this.getDropdownTransitionName = function () {\n var props = _this.props;\n var transitionName = props.transitionName;\n\n if (!transitionName && props.animation) {\n transitionName = \"\".concat(_this.getDropdownPrefixCls(), \"-\").concat(props.animation);\n }\n\n return transitionName;\n };\n\n _this.getDropdownPrefixCls = function () {\n return \"\".concat(_this.props.prefixCls, \"-dropdown\");\n };\n\n _this.saveDropdownMenuRef = saveRef(_assertThisInitialized(_this), 'dropdownMenuRef');\n _this.saveTriggerRef = saveRef(_assertThisInitialized(_this), 'triggerRef');\n _this.state = {\n dropdownWidth: 0\n };\n return _this;\n }\n\n _createClass(SelectTrigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setDropdownWidth();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.setDropdownWidth();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _popupClassName;\n\n var _a = this.props,\n onPopupFocus = _a.onPopupFocus,\n empty = _a.empty,\n props = __rest(_a, [\"onPopupFocus\", \"empty\"]);\n\n var multiple = props.multiple,\n visible = props.visible,\n inputValue = props.inputValue,\n dropdownAlign = props.dropdownAlign,\n disabled = props.disabled,\n showSearch = props.showSearch,\n dropdownClassName = props.dropdownClassName,\n dropdownStyle = props.dropdownStyle,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth;\n var dropdownPrefixCls = this.getDropdownPrefixCls();\n var popupClassName = (_popupClassName = {}, _defineProperty(_popupClassName, dropdownClassName, !!dropdownClassName), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--\").concat(multiple ? 'multiple' : 'single'), 1), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--empty\"), empty), _popupClassName);\n var popupElement = this.getDropdownElement({\n menuItems: props.options,\n onPopupFocus: onPopupFocus,\n multiple: multiple,\n inputValue: inputValue,\n visible: visible\n });\n var hideAction;\n\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode(props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n\n var popupStyle = _extends({}, dropdownStyle);\n\n var widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n\n if (this.state.dropdownWidth) {\n popupStyle[widthProp] = \"\".concat(this.state.dropdownWidth, \"px\");\n }\n\n return React.createElement(Trigger, _extends({}, props, {\n showAction: disabled ? [] : this.props.showAction,\n hideAction: hideAction,\n ref: this.saveTriggerRef,\n popupPlacement: \"bottomLeft\",\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n onPopupVisibleChange: props.onDropdownVisibleChange,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: props.getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle: popupStyle\n }), props.children);\n }\n }]);\n\n return SelectTrigger;\n}(React.Component);\n\nexport { SelectTrigger as default };\nSelectTrigger.defaultProps = {\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\nSelectTrigger.propTypes = {\n onPopupFocus: PropTypes.func,\n onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n menuItemSelectedIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string\n};\nSelectTrigger.displayName = 'SelectTrigger';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/SelectTrigger.js\n// module id = 1030\n// module chunks = 33","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport scrollIntoView from 'dom-scroll-into-view';\nimport * as PropTypes from 'prop-types';\nimport raf from 'raf';\nimport Menu from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { getSelectKeys, preventDefaultEvent, saveRef } from './util';\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _classCallCheck(this, DropdownMenu);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DropdownMenu).call(this, props));\n _this.rafInstance = {\n cancel: function cancel() {\n return null;\n }\n };\n _this.lastVisible = false;\n\n _this.scrollActiveItemToView = function () {\n // scroll into view\n var itemComponent = findDOMNode(_this.firstActiveItem);\n var _this$props = _this.props,\n visible = _this$props.visible,\n firstActiveValue = _this$props.firstActiveValue;\n var value = _this.props.value;\n\n if (!itemComponent || !visible) {\n return;\n }\n\n var scrollIntoViewOpts = {\n onlyScrollIfNeeded: true\n };\n\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n } // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n\n\n _this.rafInstance = raf(function () {\n scrollIntoView(itemComponent, findDOMNode(_this.menuRef), scrollIntoViewOpts);\n });\n };\n\n _this.renderMenu = function () {\n var _this$props2 = _this.props,\n menuItems = _this$props2.menuItems,\n menuItemSelectedIcon = _this$props2.menuItemSelectedIcon,\n defaultActiveFirstOption = _this$props2.defaultActiveFirstOption,\n prefixCls = _this$props2.prefixCls,\n multiple = _this$props2.multiple,\n onMenuSelect = _this$props2.onMenuSelect,\n inputValue = _this$props2.inputValue,\n backfillValue = _this$props2.backfillValue,\n onMenuDeselect = _this$props2.onMenuDeselect,\n visible = _this$props2.visible;\n var firstActiveValue = _this.props.firstActiveValue;\n\n if (menuItems && menuItems.length) {\n var menuProps = {};\n\n if (multiple) {\n menuProps.onDeselect = onMenuDeselect;\n menuProps.onSelect = onMenuSelect;\n } else {\n menuProps.onClick = onMenuSelect;\n }\n\n var value = _this.props.value;\n var selectedKeys = getSelectKeys(menuItems, value);\n var activeKeyProps = {};\n var defaultActiveFirst = defaultActiveFirstOption;\n var clonedMenuItems = menuItems;\n\n if (selectedKeys.length || firstActiveValue) {\n if (visible && !_this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n\n activeKeyProps.activeKey = undefined;\n }\n\n var foundFirst = false; // set firstActiveItem via cloning menus\n // for scroll into view\n\n var clone = function clone(item) {\n var key = item.key;\n\n if (!foundFirst && selectedKeys.indexOf(key) !== -1 || !foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1) {\n foundFirst = true;\n return React.cloneElement(item, {\n ref: function ref(_ref) {\n _this.firstActiveItem = _ref;\n }\n });\n }\n\n return item;\n };\n\n clonedMenuItems = menuItems.map(function (item) {\n if (item.type.isMenuItemGroup) {\n var children = toArray(item.props.children).map(clone);\n return React.cloneElement(item, {}, children);\n }\n\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n _this.firstActiveItem = null;\n } // clear activeKey when inputValue change\n\n\n var lastValue = value && value[value.length - 1];\n\n if (inputValue !== _this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n\n return React.createElement(Menu, _extends({\n ref: _this.saveMenuRef,\n style: _this.props.dropdownMenuStyle,\n defaultActiveFirst: defaultActiveFirst,\n role: \"listbox\",\n itemIcon: multiple ? menuItemSelectedIcon : null\n }, activeKeyProps, {\n multiple: multiple\n }, menuProps, {\n selectedKeys: selectedKeys,\n prefixCls: \"\".concat(prefixCls, \"-menu\")\n }), clonedMenuItems);\n }\n\n return null;\n };\n\n _this.lastInputValue = props.inputValue;\n _this.saveMenuRef = saveRef(_assertThisInitialized(_this), 'menuRef');\n return _this;\n }\n\n _createClass(DropdownMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollActiveItemToView();\n this.lastVisible = this.props.visible;\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (!nextProps.visible) {\n this.lastVisible = false;\n } // freeze when hide\n\n\n return this.props.visible && !nextProps.visible || nextProps.visible || nextProps.inputValue !== this.props.inputValue;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n\n if (!prevProps.visible && props.visible) {\n this.scrollActiveItemToView();\n }\n\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.rafInstance && this.rafInstance.cancel) {\n this.rafInstance.cancel();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderMenu = this.renderMenu();\n return renderMenu ? React.createElement(\"div\", {\n style: {\n overflow: 'auto',\n transform: 'translateZ(0)'\n },\n id: this.props.ariaId,\n onFocus: this.props.onPopupFocus,\n onMouseDown: preventDefaultEvent,\n onScroll: this.props.onPopupScroll\n }, renderMenu) : null;\n }\n }]);\n\n return DropdownMenu;\n}(React.Component);\n\nexport { DropdownMenu as default };\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.propTypes = {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n onPopupFocus: PropTypes.func,\n onPopupScroll: PropTypes.func,\n onMenuDeSelect: PropTypes.func,\n onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node])\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/DropdownMenu.js\n// module id = 1031\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar InputElement =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InputElement, _React$Component);\n\n function InputElement() {\n var _this;\n\n _classCallCheck(this, InputElement);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InputElement).apply(this, arguments));\n\n _this.focus = function () {\n _this.ele.focus ? _this.ele.focus() : ReactDOM.findDOMNode(_this.ele).focus();\n };\n\n _this.blur = function () {\n _this.ele.blur ? _this.ele.blur() : ReactDOM.findDOMNode(_this.ele).blur();\n };\n\n _this.saveRef = function (ele) {\n _this.ele = ele;\n var childRef = _this.props.children.ref;\n\n if (typeof childRef === 'function') {\n childRef(ele);\n }\n };\n\n return _this;\n }\n\n _createClass(InputElement, [{\n key: \"render\",\n value: function render() {\n return React.cloneElement(this.props.children, _extends({}, this.props, {\n ref: this.saveRef\n }), null);\n }\n }]);\n\n return InputElement;\n}(React.Component);\n\nexport { InputElement as default };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/auto-complete/InputElement.js\n// module id = 1032\n// module chunks = 33","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport * as React from 'react';\nimport { generate, getSecondaryColor, isIconDefinition, log, MiniMap, withSuffix } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = function (_React$Component) {\n _inherits(Icon, _React$Component);\n\n function Icon() {\n _classCallCheck(this, Icon);\n\n return _possibleConstructorReturn(this, (Icon.__proto__ || Object.getPrototypeOf(Icon)).apply(this, arguments));\n }\n\n _createClass(Icon, [{\n key: 'render',\n value: function render() {\n var _extends2;\n\n var _props = this.props,\n type = _props.type,\n className = _props.className,\n onClick = _props.onClick,\n style = _props.style,\n primaryColor = _props.primaryColor,\n secondaryColor = _props.secondaryColor,\n rest = _objectWithoutProperties(_props, ['type', 'className', 'onClick', 'style', 'primaryColor', 'secondaryColor']);\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n if (isIconDefinition(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n log('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, 'svg-' + target.name, _extends((_extends2 = {\n className: className,\n onClick: onClick,\n style: style\n }, _defineProperty(_extends2, 'data-icon', target.name), _defineProperty(_extends2, 'width', '1em'), _defineProperty(_extends2, 'height', '1em'), _defineProperty(_extends2, 'fill', 'currentColor'), _defineProperty(_extends2, 'aria-hidden', 'true'), _extends2), rest));\n }\n }], [{\n key: 'add',\n value: function add() {\n var _this2 = this;\n\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n _this2.definitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.definitions.clear();\n }\n }, {\n key: 'get',\n value: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = this.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n }\n }, {\n key: 'setTwoToneColors',\n value: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n }\n }, {\n key: 'getTwoToneColors',\n value: function getTwoToneColors() {\n return _extends({}, twoToneColorPalette);\n }\n }]);\n\n return Icon;\n}(React.Component);\n\nIcon.displayName = 'IconReact';\nIcon.definitions = new MiniMap();\nexport default Icon;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@ant-design_icons-react@1.1.2@@ant-design/icons-react/es/components/Icon.js\n// module id = 1033\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport { generate as generateColor } from 'ant-design-palettes';\nimport * as React from 'react';\nexport function log(message) {\n if (!(process && process.env && process.env.NODE_ENV === 'production')) {\n console.error('[@ant-design/icons-react]: ' + message + '.');\n }\n}\nexport function isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nexport var MiniMap = function () {\n function MiniMap() {\n _classCallCheck(this, MiniMap);\n\n this.collection = {};\n }\n\n _createClass(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return React.createElement(node.tag, _extends({ key: key }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n }\n return React.createElement(node.tag, _extends({\n key: key\n }, normalizeAttrs(node.attrs), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@ant-design_icons-react@1.1.2@@ant-design/icons-react/es/utils.js\n// module id = 1034\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.presetPrimaryColors = exports.presetPalettes = exports.generate = undefined;\n\nvar _generate = require('./generate');\n\nvar _generate2 = _interopRequireDefault(_generate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\n\nvar presetPalettes = {};\n\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = (0, _generate2.default)(presetPrimaryColors[key]);\n});\n\nexports.generate = _generate2.default;\nexports.presetPalettes = presetPalettes;\nexports.presetPrimaryColors = presetPrimaryColors;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_ant-design-palettes@1.1.3@ant-design-palettes/lib/index.js\n// module id = 1035\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = generate;\n\nvar _tinycolor = require('tinycolor2');\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n\nfunction getHue(hsv, i, light) {\n var hue = void 0;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation = void 0;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n } else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\n\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\n\nfunction generate(color) {\n var patterns = [];\n var pColor = (0, _tinycolor2.default)(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = (0, _tinycolor2.default)({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = pColor.toHsv();\n var _colorString = (0, _tinycolor2.default)({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }).toHexString();\n patterns.push(_colorString);\n }\n return patterns;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_ant-design-palettes@1.1.3@ant-design-palettes/lib/generate.js\n// module id = 1036\n// module chunks = 33","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_tinycolor2@1.4.1@tinycolor2/tinycolor.js\n// module id = 1037\n// module chunks = 33","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport Icon from './index';\nimport * as React from 'react';\nvar customCache = new Set();\nexport default function create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var scriptUrl = options.scriptUrl,\n _options$extraCommonP = options.extraCommonProps,\n extraCommonProps = _options$extraCommonP === void 0 ? {} : _options$extraCommonP;\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a \\r\\n\\t\\r\\n \\r\\n \\r\\n
    \\r\\n

    \\u8fd9\\u662f\\u4e00\\u4e2a\\u4e00\\u7ea7\\u6807\\u9898

    \\r\\n

    \\u8fd9\\u662f\\u4e00\\u4e2a\\u6bb5\\u843d

    \\r\\n
    \\r\\n \\r\\n\\r\\n```\\r\\n\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u663e\\u793a\\u6548\\u679c\\u56fe\\uff1a\\r\\n![](/attachments/download/180646)\\r\\n\\r\\n\\u7531\\u4e0a\\u8fb9\\u7684\\u4ee3\\u7801\\u6bb5\\u53ef\\u4ee5\\u770b\\u51fa\\uff0c\\u4e00\\u4e2a\\u57fa\\u672c\\u7684Boostrap\\u7ed3\\u6784\\u4e3b\\u8981\\u7531\\u4e09\\u90e8\\u5206\\u6784\\u6210\\uff1a\\r\\n1. ``\\u4e2d\\u7684\\u6807\\u9898\\r\\n1. ``\\u4e2d\\u7684\\u6587\\u4ef6\\u5f15\\u7528\\r\\n1. `
    `\\u4e2d\\u7684container\\u5bb9\\u5668\\r\\n\\r\\n\\r\\n##### Bootstrap\\u6587\\u4ef6\\u5f15\\u7528\\r\\n\\r\\n\\u6807\\u9898\\u90e8\\u5206\\u4e0d\\u5728\\u6b64\\u8bf4\\u660e\\uff0c\\u4e0eHTML\\u5185\\u5bb9\\u4e00\\u81f4\\u3002`Bootstrap`\\u8bf4\\u767d\\u4e86\\u5c31\\u662f\\u4e00\\u4e2a\\u6837\\u5f0f\\u8868\\u6587\\u4ef6\\uff08`bootstrap.min.css`\\uff09\\u548c\\u4e00\\u4e2a`javascript`\\u6587\\u4ef6\\uff08`bootstrap.min.js`\\uff09\\uff0c\\u5728\\u9875\\u9762\\u91cc\\u628a\\u5b83\\u4eec\\u5f15\\u5165\\u8fdb\\u6765\\u540e\\uff0c\\u5c31\\u53ef\\u4ee5\\u76f4\\u63a5\\u4f7f\\u7528\\u91cc\\u9762\\u7684`CSS`\\u548c\\u5404\\u79cd\\u7ec4\\u4ef6\\u4e86\\u3002\\r\\n\\r\\n- \\u6587\\u4ef6\\u7684\\u5f15\\u5165\\u65b9\\u5f0f\\u4e00\\u822c\\u6709\\u4e24\\u79cd\\u65b9\\u5f0f\\r\\n - \\u8fdc\\u7a0bCDN\\u5f15\\u5165\\uff08\\u672c\\u4f8b\\u91c7\\u7528\\u8fd9\\u79cd\\u65b9\\u6cd5\\u5f15\\u5165\\uff09\\u3002\\u5982\\u4e0b\\u56fe\\uff1a\\r\\n ```html\\r\\n\\r\\n \\r\\n\\t\\r\\n```\\r\\n\\r\\n - \\u672c\\u5730\\u6587\\u4ef6\\u5f15\\u5165\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n ```html\\r\\n\\r\\n\\r\\n\\r\\n```\\r\\n \\u7ec6\\u5fc3\\u5730\\u540c\\u5b66\\u80af\\u5b9a\\u5df2\\u7ecf\\u770b\\u51fa\\u533a\\u522b\\u4e86\\uff0c**\\u5f15\\u7528\\u7684\\u8def\\u5f84\\u4e0d\\u4e00\\u6837**\\u3002\\u8fdc\\u7a0b\\u5f15\\u5165\\u662f\\u4f7f\\u7528CDN\\u6e90\\u4e0a\\u7684\\u8fdc\\u7a0b\\u6587\\u4ef6\\uff0c\\u8fd9\\u6837\\u53ef\\u4ee5\\u8282\\u7ea6\\u672c\\u5730\\u7684\\u5e26\\u5bbd\\u3002\\u800c\\u672c\\u5730\\u65b9\\u5f0f\\u662f\\u628a`Bootstrap`\\u7684\\u6240\\u6709\\u6587\\u4ef6\\u4e0b\\u8f7d\\u5230\\u672c\\u5730\\u540e\\u518d\\u5f15\\u7528\\u5230\\u9875\\u9762\\u4e2d\\u3002\\r\\n \\r\\n \\u6ce8\\u610f\\uff1a\\u5982\\u679c\\u5f15\\u5165\\u7684\\u6587\\u4ef6\\u987a\\u5e8f\\u4e0d\\u5bf9\\uff0c\\u4f1a\\u5bfc\\u81f4\\u9875\\u9762\\u65e0\\u6cd5\\u6b63\\u5e38\\u8fd0\\u884c\\u3002\\u6240\\u4ee5\\u5148\\u5f15\\u5165`bootstrap.min.css`\\uff0c\\u518d\\u5f15\\u5165`jQuery`\\uff0c\\u6700\\u540e\\u5f15\\u5165`bootstrap.min.js`\\u3002\\r\\n\\r\\n\\r\\n##### Bootstrap\\u5c5e\\u6027\\r\\n\\u5728`
    `\\u6807\\u7b7e\\u4e2d\\u6dfb\\u52a0container\\u5c5e\\u6027\\uff0c\\u6dfb\\u52a0\\u4e4b\\u540e\\u5185\\u5bb9\\u4f1a\\u88ab\\u9650\\u5236\\u5728\\u5728\\u4e00\\u4e2a\\u56fa\\u5b9a\\u5bbd\\u5ea6\\u7684\\u6805\\u683c\\u5e03\\u5c40\\u7684\\u8303\\u56f4\\u3002\\r\\n- Bootstrap\\u7684`container` \\u7c7b\\u662f\\u975e\\u5e38\\u6709\\u7528\\u7684\\uff0c\\u5b83\\u548c`HTML`\\u7684\\u533a\\u522b\\u662f\\u5b83\\u80fd\\u5728\\u9875\\u9762\\u4e2d\\u521b\\u5efa\\u4e00\\u4e2a\\u5c45\\u4e2d\\u7684\\u533a\\u57df\\uff0c\\u7136\\u540e\\u6211\\u4eec\\u80fd\\u591f\\u628a\\u5176\\u4ed6\\u4f4d\\u7f6e\\u7684\\u5185\\u5bb9\\u653e\\u5230\\u5b83\\u89c4\\u5b9a\\u7684\\u65b9\\u6846\\u5185\\uff0c\\u800c`HTML`\\u662f\\u6ca1\\u6709\\u8fd9\\u4e2a\\u533a\\u57df\\u7684\\u3002\\r\\n- `container`\\u7c7b\\u7b49\\u4ef7\\u4e8e\\u521b\\u5efa\\u4e86\\u4e00\\u4e2a\\u5177\\u6709\\u9759\\u6001\\u5bbd\\u5ea6\\u7684`div`\\u6846\\u3002\\u968f\\u7740\\u6211\\u4eec\\u5b66\\u4e60\\u7684\\u6df1\\u5165\\uff0c\\u6211\\u4eec\\u6e05\\u695a\\u4e86\\u89e3\\u5b83\\u7684\\u7279\\u70b9\\uff0c\\u57fa\\u672c\\u7684\\u8bed\\u53e5\\u5982\\u4e0b\\uff1a\\r\\n `
    `\\r\\n- \\u5982\\u679c\\u60f3\\u5c06\\u5185\\u5bb9\\u5145\\u6ee1\\u6574\\u4e2a\\u5e03\\u5c40\\uff0c\\u53ea\\u9700\\u5c06container\\u5c5e\\u6027\\u6539\\u6210container-fluid\\u5c5e\\u6027\\u5373\\u53ef\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n`
    `\\r\\n\\r\\n- `Bootstrap`\\u7684`container`\\u7c7b\\u7684\\u4f18\\u70b9\\u5728\\u4e8e\\u5b83\\u662f\\u54cd\\u5e94\\u5f0f\\u7684\\uff0c\\u5b83\\u4f1a\\u4ee5\\u5f53\\u524d\\u5c4f\\u5e55\\u7684\\u5bbd\\u5ea6\\u4e3a\\u57fa\\u7840\\u8ba1\\u7b97\\u51fa\\u6700\\u4f73\\u7684\\u5bbd\\u5ea6\\u4e88\\u4ee5\\u4f7f\\u7528\\uff0c\\u8fd9\\u662f`HTML`\\u6ca1\\u6709\\u7684\\u7279\\u70b9\\u3002\\r\\n\\r\\n\\r\\n#### \\u7f16\\u7a0b\\u8981\\u6c42\\r\\n\\r\\n1. \\u57289\\u884c\\u7684`
    `\\u6807\\u7b7e\\u4e2d\\uff0c\\u8bbe\\u7f6e\\u5c5e\\u6027class=\\\"container\\\"\\u3002\\r\\n1. \\u572811\\u884c\\u7684`

    `\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"Hello World\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u572812\\u884c\\u7684`

    `\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"\\u521b\\u65b0\\u6e90\\u4e8e\\u5b9e\\u8df5\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u586b\\u5199\\u5b8c\\u6bd5\\uff0c\\u70b9\\u51fb\\\"\\u8bc4\\u6d4b\\\"\\u5373\\u53ef\\u3002\\r\\n\\r\\n#### \\u8bc4\\u6d4b\\u8bf4\\u660e\\r\\n\\r\\n\\u5e73\\u53f0\\u5c06\\u81ea\\u52a8\\u7f16\\u8bd1\\u8865\\u5168\\u540e\\u7684\\u4ee3\\u7801\\uff0c\\u5e76\\u6839\\u636e\\u8f93\\u51fa\\u6765\\u5224\\u65ad\\u4ee3\\u7801\\u662f\\u5426\\u6b63\\u786e\\uff01\\r\\n\\r\\n\\r\\n------------------------------------------------------\\r\\n\\u5c06\\u6765\\u7684\\u4f60\\u4e00\\u5b9a\\u4f1a\\u611f\\u8c22\\u73b0\\u5728\\u7684\\u81ea\\u5df1\\uff01\\r\\n\\r\\n![](/attachments/download/176967)\\r\\n\\r\\n\\u606d\\u559c\\u8fc7\\u5173\\uff0c\\u7ee7\\u7eed\\u52a0\\u6cb9\\u5965\\uff01\\r\\n\\r\\n\\r\\n\"},\"game\":{\"id\":152020,\"status\":0,\"myshixun_id\":44997,\"user_id\":12,\"final_score\":0,\"challenge_id\":1135,\"identifier\":\"w8724qbe9mtv\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":2257550,\"star\":0},\"shixun\":{\"id\":386,\"name\":\"Bootstrap\\u5165\\u95e8\",\"gpid\":18892,\"modify_time\":\"2017-11-23T10:13:09+08:00\",\"reset_time\":\"2017-12-08T09:41:30+08:00\",\"language\":\"Html\",\"propaedeutics\":\"\",\"status\":2,\"identifier\":\"mnkfuyvx\"},\"record\":null,\"grade\":9279,\"prev_game\":\"w8724qbe9mtv\",\"next_game\":null,\"username\":\"\\u9ec4\\u4e95\\u6cc9\",\"image_url\":\"avatars/User/0\",\"user_url\":\"/users/Hjqreturn\",\"praise_count\":1,\"user_praise\":true}\n// \t// JavaScript学习手册一:JS简介\n// \t// chooseData = {\"tpm_modified\":false,\"tpm_cases_modified\":false,\"output_sets\":{\"test_sets\":\"{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"-1\\\",\\\"output\\\":\\\"90\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"0\\\",\\\"output\\\":\\\"100\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"2\\\",\\\"output\\\":\\\"120\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"30\\\",\\\"output\\\":\\\"400\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0}\",\"had_test_count\":0,\"test_sets_count\":4,\"had_passed_testsests_error_count\":0},\"latest_output\":null,\"mirror_name\":[\"JavaScript\"],\"has_answer\":true,\"st\":0,\"discusses_count\":2,\"game_count\":3,\"myshixun\":{\"id\":43748,\"shixun_id\":534,\"identifier\":\"q2itywsgz9\",\"gpid\":44848,\"status\":0,\"user_id\":1,\"commit_id\":\"4f61172a0f161173a3fac5e8a71ee4b8fc789bdb\",\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"system_tip\":false},\"challenge\":{\"id\":1765,\"subject\":\"JavaScript\\u53d8\\u91cf\",\"position\":3,\"shixun_id\":534,\"st\":0,\"score\":100,\"path\":\"step3/Variable.js\",\"task_pass\":\"[TOC]\\r\\n\\r\\n---\\r\\n\\r\\n####\\u4efb\\u52a1\\u63cf\\u8ff0\\r\\n[comment]: <> (\\u201c\\u4efb\\u52a1\\u63cf\\u8ff0\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u672c\\u5173\\u8981\\u8ba9\\u5b66\\u751f\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u63cf\\u8ff0\\u8bb2\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u52a0\\u4e00\\u4e2a\\u7b80\\u5355\\u7684\\u4f8b\\u5b50\\u6765\\u8bf4\\u660e,\\u7c7b\\u4f3c\\u4e0b\\u9762\\u8fd9\\u6837)\\r\\n\\r\\n\\u53d8\\u91cf\\u53ef\\u4ee5\\u770b\\u6210\\u8bed\\u8a00\\u4e2d\\u7528\\u6765\\u6807\\u8bb0\\u548c\\u5b58\\u50a8\\u6570\\u636e\\u7684\\u4e00\\u79cd\\u8bb0\\u53f7\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u4efb\\u52a1\\uff1a\\u5b9a\\u4e49\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\uff0c\\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`\\uff0c\\u5e76\\u8d4b\\u503c\\uff0c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\u3002\\u5728\\u51fd\\u6570`variableTest`\\u4e2d\\u589e\\u52a0\\u4ee3\\u7801\\uff0c\\u4f7f\\u51fd\\u6570\\u8f93\\u51fa`100+10*c`\\uff0c\\u5176\\u4e2d`c`\\u4e3a\\u8f93\\u5165\\uff0c\\u51fd\\u6570\\u4f53\\u89c1\\u6d4b\\u8bd5\\u8bf4\\u660e\\u90e8\\u5206\\u3002\\r\\n\\r\\n####\\u76f8\\u5173\\u77e5\\u8bc6\\r\\n[comment]: <> (\\u201c\\u76f8\\u5173\\u77e5\\u8bc6\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u89e3\\u51b3\\u672c\\u5173\\u9700\\u8981\\u7528\\u5230\\u7684\\u77e5\\u8bc6\\u70b9\\u5728\\u8fd9\\u91cc\\u5199\\u6e05\\u695a\\u3001\\u5b8c\\u6574\\u3002\\u6bd4\\u5982\\u8981\\u89e3\\u51b3\\u5b66\\u751f\\u7ee9\\u70b9\\u8ba1\\u7b97\\u7684\\u95ee\\u9898\\uff0c\\u9700\\u8981\\u7528\\u5230if-else\\u63a7\\u5236\\u7ed3\\u6784\\uff0c\\u5b66\\u4e60\\u8005\\u9700\\u8981\\u9996\\u5148\\u77e5\\u9053if-else\\u7684\\u8bed\\u6cd5\\uff0c\\u5c31\\u9700\\u8981\\u5728\\u76f8\\u5173\\u77e5\\u8bc6\\u8fd9\\u91cc\\u628aif-else\\u7684\\u8bed\\u6cd5\\u4ecb\\u7ecd\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u518d\\u5bf9\\u6bcf\\u4e00\\u4e2a\\u77e5\\u8bc6\\u70b9\\u914d\\u4e0a\\u76f8\\u5e94\\u7684\\u4e00\\u4e2a\\u793a\\u4f8b\\u70b9\\u3002\\u8fd9\\u4e00\\u90e8\\u5206\\u7684\\u76ee\\u6807\\u5c31\\u662f\\u5b66\\u751f\\u770b\\u5b8c\\u8fd9\\u4e2a\\u76f8\\u5173\\u77e5\\u8bc6\\u5c31\\u80fd\\u628a\\u672c\\u5173\\u4efb\\u52a1\\u505a\\u51fa\\u6765)\\r\\n\\r\\n\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\r\\n\\u4e0d\\u540c\\u4e8eC\\u6216Java\\uff0cJavaScript\\u662f\\u4e00\\u79cd\\u52a8\\u6001\\u7c7b\\u578b\\u7684\\u8bed\\u8a00,\\u5373\\u7533\\u660e\\u7684\\u65f6\\u5019\\u4e0d\\u6307\\u5b9a\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\uff0c\\u800c\\u5728\\u8fd0\\u884c\\u7684\\u65f6\\u5019\\u6839\\u636e\\u53d8\\u91cf\\u7684\\u5177\\u4f53\\u503c\\u52a8\\u6001\\u7684\\u5224\\u65ad\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\u3002\\r\\nJavaScript\\u7684\\u53d8\\u91cf\\u540d\\u4ee5\\u5b57\\u6bcd\\u6216\\u8005`$`\\u6216\\u8005`_`\\u5f00\\u5934\\uff1b\\u53d8\\u91cf\\u540d\\u53ea\\u80fd\\u542b\\u6709\\u5b57\\u6bcd\\u3001\\u6570\\u5b57\\u3001\\u4e0b\\u5212\\u7ebf\\u548c\\u7f8e\\u5143\\u7b26\\u53f7\\uff1b\\u5927\\u5c0f\\u5199\\u654f\\u611f\\uff1b\\u4e0d\\u80fd\\u4f7f\\u7528\\u4fdd\\u7559\\u7684\\u5173\\u952e\\u5b57\\uff0c\\u5982`html`\\u3001`var`\\u3001`function`\\u7b49\\uff0c\\u8fd9\\u4e00\\u6761\\u4e00\\u5b9a\\u8981\\u8bb0\\u4f4f\\uff0c\\u4f7f\\u7528\\u5173\\u952e\\u5b57\\u9020\\u6210\\u7684\\u9519\\u8bef\\u5f80\\u5f80\\u5f88\\u96be\\u6392\\u9664\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u7533\\u660e\\u3001\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n- \\u53d8\\u91cf\\u7684\\u7533\\u660e\\r\\n\\u5728JavaScript\\u4e2d\\uff0c\\u7533\\u660e\\u53d8\\u91cf\\u4ee5\\u5173\\u952e\\u5b57`var`\\u5f00\\u5934\\uff0c\\u7a7a\\u4e00\\u683c\\u540e\\u518d\\u63a5\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\uff1b\\u5f53\\u7136\\uff0c\\u53ef\\u4ee5\\u4e00\\u6b21\\u7533\\u660e\\u591a\\u4e2a\\u53d8\\u91cf\\uff0c\\u8fd9\\u65f6`var`\\u53ea\\u9700\\u8981\\u51fa\\u73b0\\u4e00\\u6b21\\uff0c\\u591a\\u4e2a\\u53d8\\u91cf\\u540d\\u4e4b\\u95f4\\u7528\\u82f1\\u6587\\u7684\\u9017\\u53f7\\u9694\\u5f00\\u5373\\u53ef\\u3002\\u5982\\uff1a\\r\\n```JavaScript\\r\\nvar myvar1;//\\u7533\\u660e\\u53d8\\u91cf\\\"myvar1\\\"\\r\\nvar myvar2,myvar3,myvar4;//\\u4e00\\u6b21\\u7533\\u660e\\u4e09\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n- \\u53d8\\u91cf\\u7684\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n\\u65e2\\u7136\\u53d8\\u91cf\\u662f\\u7528\\u6765\\u8bb0\\u5f55\\u6570\\u636e\\u7684\\uff0c\\u5982\\u4f55\\u7ed9\\u53d8\\u91cf\\u8d4b\\u503c\\u5462\\uff1f\\u7b80\\u5355\\u6765\\u8bf4\\uff0c\\u548c\\u6570\\u5b66\\u4e2d\\u4e00\\u6837\\uff0c\\u7528\\u4e00\\u4e2a\\u7b49\\u53f7\\u8fde\\u63a5\\u53d8\\u91cf\\u540d\\u548c\\u53d8\\u91cf\\u7684\\u503c\\u5373\\u53ef\\uff0c\\u5bf9\\u4e8e\\u6570\\u5b57\\u7684\\u8d4b\\u503c\\uff0c\\u76f4\\u63a5\\u7528\\u7b49\\u53f7\\u8fde\\u63a5\\u6570\\u5b57\\u548c\\u53d8\\u91cf\\uff0c\\u5bf9\\u4e8e\\u5b57\\u7b26\\u4e32\\u7684\\u8d4b\\u503c\\uff0c\\u9700\\u8981\\u5c06\\u5b57\\u7b26\\u4e32\\u5305\\u542b\\u5728\\u82f1\\u6587\\u53cc\\u5f15\\u53f7\\u4e4b\\u4e2d\\u3002\\r\\n\\u53d8\\u91cf\\u7684\\u7b2c\\u4e00\\u6b21\\u8d4b\\u503c\\u79f0\\u4e4b\\u4e3a\\u521d\\u59cb\\u5316\\u3002\\r\\n\\u4f60\\u53ef\\u80fd\\u5df2\\u7ecf\\u60f3\\u5230\\u4e86\\uff0c\\u7533\\u660e\\u548c\\u521d\\u59cb\\u5316\\u80fd\\u4e00\\u8d77\\u8fdb\\u884c\\u5417\\uff1f\\u7b54\\u6848\\u662f\\u80af\\u5b9a\\u7684\\uff0c\\u4e0b\\u9762\\u6211\\u4eec\\u7ed9\\u51fa\\u5177\\u4f53\\u7684\\u4f8b\\u5b50\\uff1a\\r\\n```JavaScript\\r\\nvar numberVar; //\\u7533\\u660e\\r\\nnumberVar = 1; //\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar stringVar; //\\u7533\\u660e\\r\\nstringVar = \\\"I am a String\\\"; //\\u8d4b\\u503c\\u4e3a\\u5b57\\u7b26\\u4e32\\r\\nvar myNumber = 2; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar myString = \\\"\\u6211\\u662f\\u5b57\\u7b26\\u4e32\\\"; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\r\\nvar number1 = 1,number2 = 2; //\\u4e00\\u6b21\\u7533\\u660e\\u3001\\u8d4b\\u503c\\u591a\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n\\u9700\\u8981\\u6ce8\\u610f\\u7684\\u662f\\uff0c\\u4e00\\u4e2a\\u53d8\\u91cf\\u7ecf\\u8fc7\\u591a\\u6b21\\u8d4b\\u503c\\uff0c\\u5b83\\u7684\\u503c\\u4e3a\\u6700\\u540e\\u4e00\\u6b21\\u8d4b\\u503c\\u7684\\u503c\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u57df\\r\\n\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u8303\\u56f4\\uff0c\\u6216\\u8005\\u8bf4\\u4f5c\\u7528\\u57df\\uff0c\\u662f\\u6307\\u53d8\\u91cf\\u4fdd\\u6301\\u6709\\u6548\\u7684\\u8303\\u56f4\\uff0cJavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u5e7f\\u4e49\\u4e0a\\u6765\\u8bf4\\u5206\\u4e3a\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u3002\\r\\n- \\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\u5728\\u51fd\\u6570\\u5916\\u90e8\\u7533\\u660e\\u7684\\u53d8\\u91cf\\u79f0\\u4e3a\\u5168\\u5c40\\u53d8\\u91cf\\uff0c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u81ea\\u7533\\u660e\\u7684\\u5730\\u65b9\\u8d77\\uff0c\\u5230\\u6574\\u4e2aJavaScript\\u6587\\u4ef6\\u7684\\u672b\\u5c3e\\uff08\\u5305\\u62ec\\u8fd9\\u5176\\u4e2d\\u7684\\u6240\\u6709\\u51fd\\u6570\\u7684\\u5185\\u90e8\\uff09\\u3002\\u4e0b\\u9762\\u662f\\u4e00\\u4e2a\\u4f8b\\u5b50:\\r\\n```\\r\\nvar wholeVar = 12; //\\u7533\\u660e\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction() {\\r\\n\\tvar localVar = 1; //\\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar+localVar); //\\u8f93\\u51fa13\\r\\n}\\r\\nconsole.log(wholeVar); //\\u8f93\\u51fa12\\r\\n```\\r\\n- \\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\u5c40\\u90e8\\u53d8\\u91cf\\u662f\\u6307\\u7533\\u660e\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u7684\\u53d8\\u91cf\\uff0c\\u5176\\u4f5c\\u7528\\u57df\\u4ec5\\u662f\\u672c\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u5728\\u51fd\\u6570\\u5916\\u4e0d\\u53ef\\u7528\\u3002\\r\\n\\u5982\\u679c\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u76f8\\u540c\\uff0c\\u90a3\\u4e48\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u5168\\u5c40\\u53d8\\u91cf\\u4f1a\\u88ab\\u5c40\\u90e8\\u53d8\\u91cf\\u8986\\u76d6\\u3002\\r\\n```JavaScript\\r\\nvar myVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction scope() {\\r\\n\\tvar myVar = 2;//\\u5c40\\u90e8\\u53d8\\u91cf\\uff0c\\u8986\\u76d6\\u4e86\\u4e0a\\u9762\\u7684\\u503c\\r\\n\\tconsole.log(myVar);//\\u8f93\\u51fa2\\r\\n}\\r\\n```\\r\\n- \\u7533\\u660e\\u63d0\\u524d\\r\\nJavaScript\\u5c40\\u90e8\\u53d8\\u91cf\\u6709\\u4e00\\u4e2a\\u5f88\\u91cd\\u8981\\u7684\\u6982\\u5ff5\\uff0c\\u53eb\\u7533\\u660e\\u63d0\\u524d\\uff0c\\u6211\\u4eec\\u5148\\u6765\\u770b\\u4e00\\u4e2a\\u4f8b\\u5b50\\u3002\\r\\n```\\r\\nvar wholeVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction myTest() {\\r\\n\\tconsole.log(wholeVar);\\r\\n\\tvar wholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u5173\\u4e8e\\u7b2c\\u4e09\\u884c\\u7684\\u8f93\\u51fa\\uff0c\\u4f60\\u7684\\u7b2c\\u4e00\\u53cd\\u5e94\\u4e00\\u5b9a\\u662f`1`\\u5427\\uff0c\\u6b63\\u786e\\u7b54\\u6848\\u662f`undefined`\\u3002\\u8fd9\\u662f\\u56e0\\u4e3a\\u5728\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u53d8\\u91cf\\u4e0d\\u8bba\\u5728\\u4f55\\u5904\\u7533\\u660e\\uff0c\\u90fd\\u5e94\\u8be5\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u7533\\u660e\\uff08\\u8d4b\\u503c\\u4e0d\\u4f1a\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u8d4b\\u503c\\uff0c\\u8fd9\\u5c31\\u662f\\u4e0d\\u8f93\\u51fa`2`\\u7684\\u539f\\u56e0\\uff09\\uff0c\\u8fd9\\u5c31\\u662f\\u201c\\u7533\\u660e\\u63d0\\u524d\\u201d\\uff0c\\u6240\\u4ee5\\uff0c\\u4ee5\\u4e0a\\u4ee3\\u7801\\u7b49\\u4ef7\\u4e8e\\uff1a\\r\\n```\\r\\nvar wholeVar = 1;\\r\\nfunction myTest() {\\r\\n\\tvar wholeVar;//\\u7533\\u660e\\u63d0\\u524d\\u4e86\\uff0c\\u8986\\u76d6\\u4e86\\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar);//\\u4e0a\\u9762\\u53ea\\u7533\\u660e\\uff0c\\u6ca1\\u8d4b\\u503c\\r\\n\\twholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u8fd9\\u4e2a\\u5730\\u65b9\\u4e0d\\u592a\\u597d\\u7406\\u89e3\\uff0c\\u6240\\u4ee5\\u6211\\u4eec\\u5728\\u7f16\\u7a0b\\u7684\\u65f6\\u5019\\u5c40\\u90e8\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u6700\\u597d\\u4e0d\\u8981\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u51b2\\u7a81\\u3002\\r\\n\\r\\n\\r\\n\\r\\n####\\u7f16\\u7a0b\\u8981\\u6c42\\r\\n[comment]: <> (\\u201c\\u7f16\\u7a0b\\u8981\\u6c42\\u201d\\u90e8\\u5206\\u8bf4\\u4e00\\u4e0b\\u672c\\u5173\\u8981\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u7684\\u5177\\u4f53\\u8981\\u6c42\\uff0c\\u5e76\\u7ed9\\u51fa\\u76f8\\u5e94\\u4ee3\\u7801\\u7684\\u6846\\u67b6\\uff0c\\u4ee5\\u53ca\\u8981\\u6c42\\u5b66\\u751f\\u586b\\u5199\\u7684\\u90a3\\u4e00\\u5757)\\r\\n\\r\\n\\u672c\\u5173\\u7684\\u7f16\\u7a0b\\u4efb\\u52a1\\u662f\\u8865\\u5168\\u53f3\\u4fa7\\u4ee3\\u7801\\u7247\\u6bb5\\u4e2d`Begin`\\u81f3`End`\\u4e2d\\u95f4\\u7684\\u4ee3\\u7801\\uff0c\\u5177\\u4f53\\u8981\\u6c42\\u5982\\u4e0b\\uff1a\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`,\\u5e76\\u8d4b\\u503c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\uff1b\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\u5e76\\u521d\\u59cb\\u5316\\u4e4b\\uff1b\\r\\n- \\u4e0a\\u9762\\u4e24\\u6b65\\u5fc5\\u987b\\u4f7f\\u5f97\\u51fd\\u6570`variableTest`\\u8fd4\\u56de`100+10*c`\\uff0c`c`\\u4e3a\\u8f93\\u5165\\uff1b\\r\\n- \\u5177\\u4f53\\u8bf7\\u53c2\\u89c1\\u540e\\u7eed\\u6d4b\\u8bd5\\u6837\\u4f8b\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u6d89\\u53ca\\u7684\\u4ee3\\u7801\\u6587\\u4ef6`Variable.js`\\u7684\\u4ee3\\u7801\\u6846\\u67b6\\u5982\\u4e0b\\uff1a\\r\\n\\r\\n```JavaScript\\r\\n/********Begin***************/\\r\\nvar a = 1;\\r\\nfunction variableTest(c) {\\r\\n\\treturn a*c+b;\\r\\n}\\r\\n/**********End****************/\\r\\n```\\r\\n\\r\\n####\\u6d4b\\u8bd5\\u8bf4\\u660e\\r\\n[comment]: <> (\\u201c\\u6d4b\\u8bd5\\u8bf4\\u660e\\u201d\\u90e8\\u5206\\u5982\\u679c\\u5bf9\\u6d4b\\u8bd5\\u8fd0\\u884c\\u6709\\u7279\\u522b\\u9700\\u8981\\u8bf4\\u660e\\u7684\\u53ef\\u4ee5\\u5728\\u6b64\\u5904\\u8bf4\\u660e\\u4e00\\u4e0b\\u3002\\u91cd\\u8981\\u7684\\u662f\\uff0c\\u7ed9\\u51fa\\u51e0\\u7ec4\\u6d4b\\u8bd5\\u6837\\u4f8b)\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8fc7\\u7a0b\\uff1a\\r\\n\\r\\n- \\u5e73\\u53f0\\u5c06\\u8bfb\\u53d6\\u7528\\u6237\\u8865\\u5168\\u540e\\u7684`Variable.js`\\u6587\\u4ef6\\uff1b\\r\\n\\r\\n- \\u8c03\\u7528\\u5176\\u4e2d\\u7684`variableTest()`\\u65b9\\u6cd5\\uff0c\\u5e76\\u8f93\\u5165\\u82e5\\u5e72\\u7ec4\\u6d4b\\u8bd5\\u6570\\u636e\\uff1b\\r\\n\\r\\n- \\u63a5\\u7740\\u6839\\u636e\\u7a0b\\u5e8f\\u7684\\u8f93\\u51fa\\u5224\\u65ad\\u7a0b\\u5e8f\\u662f\\u5426\\u6b63\\u786e\\u3002\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u6d4b\\u8bd5\\u6837\\u4f8b\\uff1a\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`0`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`100`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`1`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`110`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`22`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`330`\\r\\n\\r\\n---\\r\\n\\u6d77\\u5230\\u65e0\\u8fb9\\u5929\\u4f5c\\u5cb8\\uff0c\\u5c71\\u767b\\u7edd\\u9876\\u6211\\u4e3a\\u5cf0\\u3002 \\u2014\\u2014\\u6797\\u5219\\u5f90\\r\\n\\r\\n\\r\\n\\u5982\\u679c\\u4f60\\u89c9\\u5f97\\u8fd9\\u4e00\\u5173\\u7684\\u5185\\u5bb9\\u5bf9\\u4f60\\u6709\\u5e2e\\u52a9\\uff0c\\u8bf7\\u4f60\\u5728\\u4e0b\\u9762\\u70b9\\u8d5e\\u3002\\r\\n\\r\\n\",\"modify_time\":null,\"web_route\":\"\",\"answer\":null},\"game\":{\"id\":146589,\"status\":0,\"myshixun_id\":43748,\"user_id\":1,\"final_score\":0,\"challenge_id\":1765,\"identifier\":\"ts5ojbpz7unk\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":10,\"star\":0,\"modify_time\":null},\"shixun\":{\"id\":534,\"name\":\"JavaScript\\u5b66\\u4e60\\u624b\\u518c\\u4e00\\uff1aJS\\u7b80\\u4ecb\",\"gpid\":42001,\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"language\":\"JavaScript\",\"propaedeutics\":\"####JavaScript\\u7684\\u8d77\\u6e90\\r\\nJavaScript\\u8bde\\u751f\\u4e8e1995\\u5e74\\u3002\\u5728\\u90a3\\u4e2a\\u65f6\\u4ee3\\u7528\\u6237\\u63d0\\u4ea4\\u4e00\\u4e2a\\u8868\\u5355\\u9700\\u8981\\u83b7\\u53d6\\u670d\\u52a1\\u5668\\u7aef\\u7684\\u53cd\\u9988\\uff0c\\u8fd9\\u4e2a\\u65f6\\u95f4\\u5927\\u6982\\u5341\\u51e0\\u79d2\\uff0c\\u5982\\u679c\\u80fd\\u5728\\u5ba2\\u6237\\u7aef\\u5b8c\\u6210\\u4e00\\u4e9b\\u57fa\\u672c\\u7684\\u9a8c\\u8bc1\\u7edd\\u5bf9\\u662f\\u5f88\\u5927\\u7684\\u8fdb\\u6b65\\u3002\\u5f53\\u65f6\\u5982\\u65e5\\u4e2d\\u5929\\u7684Netscape\\u516c\\u53f8\\uff0c\\u51b3\\u5b9a\\u7740\\u624b\\u5f00\\u53d1\\u4e00\\u79cd\\u5ba2\\u6237\\u7aef\\u8bed\\u8a00\\u89e3\\u51b3\\u7b80\\u5355\\u7684\\u8868\\u5355\\u9a8c\\u8bc1\\u3002\\u5c31\\u804c\\u4e8eNetscape\\u516c\\u53f8\\u7684\\u5e03\\u5170\\u767b\\u00b7\\u827e\\u5947\\u5f00\\u59cb\\u7740\\u624b\\u8ba1\\u5212\\u5c061995\\u5e742\\u6708\\u53d1\\u5e03\\u7684LiveScript\\u540c\\u65f6\\u5728\\u6d4f\\u89c8\\u5668\\u548c\\u670d\\u52a1\\u5668\\u4e2d\\u4f7f\\u7528\\u3002Netscape\\u4e0eSun\\u516c\\u53f8\\u6210\\u7acb\\u4e86\\u4e00\\u4e2a\\u5f00\\u53d1\\u8054\\u76df\\u3002Sun\\u516c\\u53f8\\u6b63\\u662fJava\\u7684\\u62e5\\u6709\\u7740\\uff0c\\u800c\\u6b64\\u65f6\\uff0cNetscape\\u4e3a\\u4e86\\u642d\\u4e0a\\u5a92\\u4f53\\u70ed\\u7092Java\\u7684\\u987a\\u98ce\\u8f66\\uff0c\\u4e34\\u65f6\\u628aLiveScript\\u6539\\u540d\\u4e3aJavaScript\\uff0c\\u6240\\u4ee5\\u4ece\\u672c\\u8d28\\u4e0a\\u6765\\u8bf4JavaScript\\u548cJava\\u6ca1\\u4ec0\\u4e48\\u5173\\u7cfb\\u3002\\r\\n\\r\\n1997\\u5e74\\uff0c\\u4ee5JavaScript1.1\\u4e3a\\u84dd\\u672c\\u7684\\u5efa\\u8bae\\u88ab\\u63d0\\u4ea4\\u7ed9\\u4e86\\u6b27\\u6d32\\u8ba1\\u7b97\\u673a\\u5236\\u9020\\u5546\\u534f\\u4f1a\\uff08ECMA\\uff0cEuropean Computer Manufactures Association\\uff09\\uff0c\\u8be5\\u534f\\u4f1a\\u6307\\u5b9a39\\u53f7\\u6280\\u672f\\u59d4\\u5458\\u4f1a\\u8d1f\\u8d23\\u5c06\\u5176\\u8fdb\\u884c\\u6807\\u51c6\\u5316\\uff0cTC39\\u7ecf\\u8fc7\\u6570\\u6708\\u7684\\u52aa\\u529b\\u5b8c\\u6210\\u4e86ECMA-262\\u2014\\u2014\\u5b9a\\u4e49\\u4e86\\u4e00\\u79cd\\u540d\\u4e3aECMAScript\\u7684\\u65b0\\u811a\\u672c\\u8bed\\u8a00\\u7684\\u6807\\u51c6\\u3002\\r\\n \\r\\n\\u73b0\\u5728\\u5f00\\u53d1\\u4eba\\u5458\\u5e38\\u8bf4\\u7684JavaScript\\u5305\\u542b\\u4e09\\u4e2a\\u90e8\\u5206\\uff1aECMAScript\\u3001\\u6d4f\\u89c8\\u5668\\u5bf9\\u8c61\\u6a21\\u578b(BOM) \\u548c\\u6587\\u6863\\u5bf9\\u8c61\\u6a21\\u578b(DOM)\\u3002\\r\\n\\r\\n####JavaScript\\u80fd\\u7528\\u6765\\u5e72\\u4ec0\\u4e48\\r\\nJavaScript\\u4e3b\\u8981\\u7528\\u6765\\u505a\\u7f51\\u9875\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\uff0c\\u5c31\\u662f\\u5927\\u5bb6\\u80fd\\u770b\\u5230\\u7684\\u9875\\u9762\\u7684\\u5f00\\u53d1\\u3002\\u6bd4\\u5982\\u70b9\\u51fb\\u7f51\\u9875\\u4e0a\\u7684Button\\u5b9e\\u73b0\\u7684\\u5f88\\u591a\\u529f\\u80fd\\u3001\\u516c\\u53f8\\u4e3b\\u9875\\u7684\\u8f6e\\u64ad\\u56fe\\u3001\\u6ce8\\u518c\\u65f6\\u4e0a\\u4f20\\u5934\\u50cf\\u65f6\\u7684\\u526a\\u5207\\u7b49\\u7b49\\u4e30\\u5bcc\\u7684\\u9875\\u9762\\u3002\\r\\n\\u9664\\u6b64\\u4e4b\\u5916\\uff0cJavaScript\\u8fd8\\u6709\\u4e00\\u4e9b\\u4e0d\\u5e38\\u7528\\u7684\\u4f7f\\u7528\\u73af\\u5883\\uff0c\\u6bd4\\u5982\\u7528\\u6765\\u5f00\\u53d1\\u5c0f\\u6e38\\u620f\\uff0c\\u505a\\u7f51\\u7ad9\\u540e\\u53f0\\uff0c\\u5f53\\u7136\\u8fd9\\u4e9b\\u5f88\\u5c0f\\u4f17\\uff0c\\u4f5c\\u4e3a\\u4e00\\u4e2a\\u521d\\u5b66\\u8005\\uff0c\\u6211\\u4eec\\u5efa\\u8bae\\u5927\\u5bb6\\u8fd8\\u662f\\u5b66\\u597dJavaSciptt\\u7684\\u57fa\\u7840\\uff0c\\u591a\\u7528\\u5b83\\u6765\\u8fdb\\u884c\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\u3002\",\"status\":2,\"identifier\":\"8arufxzl\",\"test_set_permission\":true,\"webssh\":0,\"user_id\":30144,\"code_hidden\":false,\"task_pass\":false,\"exec_time\":120},\"record\":null,\"grade\":211720,\"prev_game\":\"fshy8ve9gzc6\",\"next_game\":null,\"username\":\"Coder\",\"image_url\":\"avatars/User/1\",\"user_url\":\"/users/innov\",\"praise_count\":0,\"user_praise\":false,\"time_limit\":120,\"tomcat_url\":\"http://117.50.21.112\",\"is_teacher\":true,\"power\":1,\"myshixun_manager\":true}\n// \tthis._handleResponseData(chooseData)\n// \tthis.setState({\n// \t\t...chooseData,\n// \t\tloading: false,\n// \t})\n// \treturn;\n// } \nthis.setState({loading:true,currentGamePassed:false// 切换game时重置passed字段\n});__WEBPACK_IMPORTED_MODULE_1_axios___default.a.get(url,{withCredentials:true}).then(function(response){console.log(response);// {\"status\":1,\"message\":\"Unauthorized. \\u7528\\u6237\\u8ba4\\u8bc1\\u5931\\u8d25.\"}\nif(response.data.status==-1){console.error('获取实训任务信息失败!');_this4.showSnackbar(response.data.message);return;}if(response.data.status==403){window.location.href='/myshixuns/forbidden';return;}if(response.data.status==404){window.location.href='/myshixuns/not_found';return;}_this4._handleResponseData(response.data);}).catch(function(error){console.log(error);});}},{key:'readGameAnswer',value:function readGameAnswer(resData){var game=this.state.game;// game.final_score = resData.final_score;\nthis.setState({game:__WEBPACK_IMPORTED_MODULE_4_immutability_helper___default()(game,{final_score:{$set:resData.final_score}}),grade:resData.grade});}},{key:'closeTaskResultLayer',value:function closeTaskResultLayer(){this.setState({currentGamePassed:false});}},{key:'onRunChooseTestFinish',value:function onRunChooseTestFinish(response){var test_sets=response.test_sets,challenge_chooses_count=response.challenge_chooses_count,choose_correct_num=response.choose_correct_num,grade=response.grade,experience=response.experience,gold=response.gold,had_submmit=response.had_submmit,next_game=response.next_game;var game=this.state.game;var currentGamePassed=false;if(challenge_chooses_count===choose_correct_num){game.status=2;// 2表示评测通过\ngame.next_game=next_game;currentGamePassed=true;this._updateCostTime(true,true);}this.setState({choose_test_cases:response,grade:grade,game:game,next_game:next_game,currentGamePassed:currentGamePassed,currentPassedGameGainGold:gold,currentPassedGameGainExperience:experience});}},{key:'language_display',value:function language_display(data){var _state3=this.state,game=_state3.game,tomcat_url=_state3.tomcat_url;var $=window.$;var challenge=Object.assign({},this.state.challenge);if(challenge.isWeb&&data.port!=-1){// var $result = $(\"#php_display\");\nchallenge.showWebDisplayButton=true;// ActionView处是否出现查看效果按钮\nvar path=challenge.web_route||challenge.path;var webDisplayUrl=tomcat_url+':'+data.port+'/'+path;challenge.webDisplayUrl=webDisplayUrl;challenge.showLanguagePictrue=true;// 评测通过弹出层是否出现查看效果按钮\n}else if(challenge.isAndroid&&data.picture!=0){// https://www.educoder.net/shixuns/qrcode?game_id=218589&_=1525571882782\n$.ajax({url:'/shixuns/qrcode?game_id='+game.id,dataType:'script'});challenge.showLanguagePictrue=true;}else if(data.picture!=0){// 对应服务端erb文件为 _picture_display.html.erb\n$.ajax({url:\"/users/picture_show?game_id=\"+data.picture,cache:false,dataType:'script'});challenge.showLanguagePictrue=true;}this.setState({challenge:challenge});}},{key:'onRunCodeTestFinish',value:function onRunCodeTestFinish(response){console.log('onRunCodeTestFinish',response);var test_sets=response.test_sets,test_sets_count=response.test_sets_count,test_sets_hidden_count=response.test_sets_hidden_count,test_sets_public_count=response.test_sets_public_count,had_test_count=response.had_test_count,had_passed_testsests_error_count=response.had_passed_testsests_error_count,had_passed_testsests_hidden_count=response.had_passed_testsests_hidden_count,had_passed_testsests_public_count=response.had_passed_testsests_public_count,final_score=response.final_score,gold=response.gold,experience=response.experience,latest_output=response.latest_output,status=response.status,had_done=response.had_done,score=response.score,tag_count=response.tag_count,power=response.power,record=response.record,next_game=response.next_game,grade=response.grade,picture=response.picture;var game=this.state.game;var currentGamePassed=this.props.game!==2&&status===2;currentGamePassed&&this.language_display(response);// 评测通过了,立即同步costTime\ncurrentGamePassed&&this._updateCostTime(true,true);if(currentGamePassed){game.status=2;game.next_game=next_game;}var output_sets={\"test_sets\":test_sets,\"had_test_count\":had_test_count,\"test_sets_count\":test_sets_count,\"had_passed_testsests_error_count\":had_passed_testsests_error_count,\"test_sets_hidden_count\":test_sets_hidden_count,\"test_sets_public_count\":test_sets_public_count,\"had_passed_testsests_hidden_count\":had_passed_testsests_hidden_count,\"had_passed_testsests_public_count\":had_passed_testsests_public_count};if(output_sets&&output_sets.test_sets){var test_sets_array=JSON.parse(\"[\"+output_sets.test_sets+\"]\");output_sets.test_sets_array=test_sets_array;}this.setState({testSetsExpandedArray:testSetsExpandedArrayInitVal.slice(0),// 重置测试集展开状态\ncurrentGamePassed:currentGamePassed,currentPassedGameGainGold:gold,currentPassedGameGainExperience:experience,output_sets:output_sets,game:game,next_game:next_game,latest_output:latest_output,record:record,grade:grade,had_done:had_done});}},{key:'testSetUnlock',value:function testSetUnlock(){var _this5=this;var game=this.state.game;var url='/api/v1/games/'+game.identifier+'/check_test_sets';__WEBPACK_IMPORTED_MODULE_1_axios___default.a.get(url,{withCredentials:true}).then(function(response){console.log(response);// TODO status -2 重复操作,直接解锁\nif(response.data.test_sets==-1){console.error('testSetUnlock失败!');_this5.showSnackbar(response.data.message);return;}else{// 被扣除的金币,是负数\nvar deltaScore=response.data.score;// output_sets\nvar output_sets=_this5.state.output_sets;output_sets=Object.assign({},output_sets);var test_sets_array=JSON.parse(\"[\"+response.data.test_sets+\"]\");output_sets.test_sets_array=test_sets_array;_this5.setState({output_sets:output_sets,grade:_this5.state.grade+deltaScore,game:__WEBPACK_IMPORTED_MODULE_4_immutability_helper___default()(game,{test_sets_view:{$set:true}}),testSetsExpandedArray:testSetsExpandedArrayInitVal.slice(0)});_this5.handleGdialogClose();}}).catch(function(error){console.log(error);});}},{key:'handleSnackbarClose',value:function handleSnackbarClose(){this.setState({snackbarOpen:false,snackbarVertical:'',snackbarHorizontal:''});}// 全局的snackbar this.props.showSnackbar调用即可\n},{key:'showSnackbar',value:function showSnackbar(text,vertical,horizontal){this.setState({snackbarOpen:true,snackbarText:text,snackbarVertical:vertical,snackbarHorizontal:horizontal});}/* \r\n TODO 写成HOC组件,更好复用\r\n\t\t全局的Dialog this.props.showDialog调用即可\r\n\t\t@param contentText dialog显示的提示文本 \r\n\t\t@param callback \t确定按钮回调方法\r\n\t\t@param moreButtonsRender 除了“确定”、“取消”按钮外的其他按钮\r\n\t\t@param okButtonText “确定”按钮显示文本,如 继续查看\r\n\t*/},{key:'showDialog',value:function showDialog(params){var contentText=params.contentText,callback=params.callback,moreButtonsRender=params.moreButtonsRender,okButtonText=params.okButtonText;this.dialogOkCallback=callback;this.moreButtonsRender=moreButtonsRender;this.okButtonText=okButtonText;this.setState({gDialogOpen:true,gDialogContentText:contentText});}},{key:'onGdialogOkBtnClick',value:function onGdialogOkBtnClick(){this.dialogOkCallback&&this.dialogOkCallback();// this.setState({\n// \tgDialogOpen: true\n// })\n}},{key:'handleGdialogClose',value:function handleGdialogClose(){this.setState({gDialogOpen:false});}},{key:'render',value:function render(){var _this6=this;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__TPIContext__[\"a\" /* default */].Provider,{value:Object.assign({},this.state,{onRunCodeTestFinish:this.onRunCodeTestFinish,onRunChooseTestFinish:this.onRunChooseTestFinish,testSetUnlock:this.testSetUnlock,onTestSetHeaderClick:this.onTestSetHeaderClick,readGameAnswer:this.readGameAnswer,onShowPrevStage:this.onShowPrevStage,onShowNextStage:this.onShowNextStage,praisePlus:this.praisePlus,onGamePassed:this.onGamePassed,closeTaskResultLayer:function closeTaskResultLayer(){return _this6.closeTaskResultLayer();},onPathChange:this.onPathChange,updateChallengePath:this.updateChallengePath,showSnackbar:this.showSnackbar,showDialog:this.showDialog,handleGdialogClose:function handleGdialogClose(){return _this6.handleGdialogClose();},onShowUpdateDialog:this.onShowUpdateDialog,updateDialogClose:this.updateDialogClose,match:this.props.match})},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog___default.a,{open:this.state.gDialogOpen,onClose:function onClose(){return _this6.handleGdialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},this.state.gDialogContentText)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Button___default.a,{onClick:function onClick(){return _this6.handleGdialogClose();},color:'primary'},'\\u5173\\u95ED'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this6.onGdialogOkBtnClick();},color:'primary',autoFocus:true},this.okButtonText?this.okButtonText:'确定'),this.moreButtonsRender&&this.moreButtonsRender())),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Snackbar___default.a,{className:\"rootSnackbar\",open:this.state.snackbarOpen,autoHideDuration:3000,anchorOrigin:{vertical:this.state.snackbarVertical||'top',horizontal:this.state.snackbarHorizontal||'center'},onClose:function onClose(){return _this6.handleSnackbarClose();},transition:__WEBPACK_IMPORTED_MODULE_3_material_ui_transitions_Fade___default.a,SnackbarContentProps:{'aria-describedby':'message-id'},resumeHideDuration:2000,message:__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'message-id'},this.state.snackbarText)}),this.props.children);}}]);return TPIContextProvider;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (TPIContextProvider);\n\n/***/ }),\n/* 577 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__context_TPIContext__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__context_TPIContextProvider__ = __webpack_require__(576);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Index_js__ = __webpack_require__(391);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = (0, _DOMUtils.supportsHistory)();\n var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + (0, _PathUtils.createPath)(location);\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createBrowserHistory;\n\n/***/ }),\n/* 579 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n/***/ }),\n/* 580 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ECModalHOC;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd__ = __webpack_require__(72);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};return function wrap(WrappedComponent){return function(_Component){_inherits(Wrapper,_Component);function Wrapper(props){_classCallCheck(this,Wrapper);var _this=_possibleConstructorReturn(this,(Wrapper.__proto__||Object.getPrototypeOf(Wrapper)).call(this,props));_this.showModal=function(title,content,okCallback){_this.okCallback=okCallback;_this.setState({titlemessage:title,Modallist:content,Modallisttype:true,singleButton:false});};_this.showSingleButtonModal=function(title,content){_this.setState({titlemessage:title,Modallist:content,Modallisttype:true,singleButton:true});};_this.onCancel=function(){_this.setState({Modallisttype:false});};_this.hidemodeldelete=function(){if(_this.okCallback){_this.okCallback();}_this.onCancel();};_this.state={titlemessage:'',Modallist:false,Modallisttype:false,singleButton:false};return _this;}// 全局的modal this.props.showModal 调用即可\n_createClass(Wrapper,[{key:'render',value:function render(){var _state=this.state,titlemessage=_state.titlemessage,Modallisttype=_state.Modallisttype,Modallist=_state.Modallist,singleButton=_state.singleButton;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd__[\"n\" /* Modal */],{title:titlemessage// visible={modeldelet===true&&listid===list.id?true:false}\n,visible:Modallisttype,className:\"ecmodeldelet\",closable:false,footer:null},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-content'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-text-center font-14'},Modallist)),singleButton?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-submit clearfix',style:{textAlign:'center'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'task-btn task-btn-orange',onClick:this.onCancel},'\\u77E5\\u9053\\u5566')):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'task-popup-submit clearfix'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{onClick:this.onCancel,className:'task-btn fl'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'task-btn task-btn-orange fr',onClick:this.hidemodeldelete},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent,Object.assign({},this.props,{showModal:this.showModal,showSingleButtonModal:this.showSingleButtonModal})));}}]);return Wrapper;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);};}\n\n/***/ }),\n/* 581 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_educoder__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd__ = __webpack_require__(72);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i').attr('href',_url_origin+'/stylesheets/css/common.css?1525440977'));window['EcLoaded']=true;}var id=0;/**\r\n target_id\r\n position \r\n target_weight\r\n target_contents\r\n\r\n subitem_id\r\n index\r\n subitem_contents\r\n\r\n*/var data=[{\"position\":0,\"target_weight\":0.02,\"target_contents\":\"12\",\"standard_grade\":2,\"subitem_id\":\"65\"},{\"position\":3,\"target_id\":\"0\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":60,\"subitem_id\":\"66\"},{\"position\":4,\"target_weight\":1,\"target_contents\":\"22\",\"standard_grade\":33,\"subitem_id\":\"66\"},{\"position\":11,\"target_id\":\"1\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":61,\"subitem_id\":\"65\"}];var _data=[{target_id:0,position:1,target_weight:0.1,target_contents:'理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',standard_grade:60,// biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\n\"subitem_id\":64,\"index\":\"1-1\",\"subitem_contents\":\"能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"},{target_id:1,position:2,target_weight:0.1,target_contents:'理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',standard_grade:61,// biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\n\"subitem_id\":65,\"index\":\"1-2\",\"subitem_contents\":\"222能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"}];var item={};var EditableCourseSupportSetting=function(_Component){_inherits(EditableCourseSupportSetting,_Component);function EditableCourseSupportSetting(props){_classCallCheck(this,EditableCourseSupportSetting);var _this=_possibleConstructorReturn(this,(EditableCourseSupportSetting.__proto__||Object.getPrototypeOf(EditableCourseSupportSetting)).call(this,props));_this.onRemove=function(k){var fValues=_this.props.form.getFieldsValue();if(// fValues.standard_grade[k] && fValues.standard_grade[k] != 75\n// || fValues.subitem_id[k] \n// || \nfValues.target_contents[k]// || fValues.target_weight[k] \n){_this.props.showModal('提示','确定要删除吗?',function(){_this.remove(k);});}else{_this.remove(k);}};_this.remove=function(k){var form=_this.props.form;// can use data-binding to get\nvar keys=form.getFieldValue('keys');// We need at least one passenger\n// if (keys.length === 1) {\n// return;\n// }\nif(keys.length===1){_this.setState({errorMsg:'至少得保留一条数据'});return;}// 清除悬浮tip\nwindow.$('.data-tip-down').hide();console.log('remove :',k,_this.position2Target_idMap[k]);delete _this.position2Target_idMap[k];// can use data-binding to set\nform.setFieldsValue({keys:keys.filter(function(key){return key!==k;})});};_this._reverseMap=function(map){var newMap={};for(var k in map){newMap[map[k]]=k;}return newMap;};_this.addIfNewKeyExist=function(newKey,index_arg){_this.setState({addOrDeleting:true});var form=_this.props.form;var keys=form.getFieldValue('keys');/**\r\n [0,1,2,3]\r\n ['11', '22', '33', '44']\r\n ->\r\n [0,1,2,3,4]\r\n ['11', '22', empty, '33', '44']\r\n\r\n */var target_weight=form.getFieldValue('target_weight');var target_contents=form.getFieldValue('target_contents');var standard_grade=form.getFieldValue('standard_grade');var subitem_id=form.getFieldValue('subitem_id');keys.splice(index_arg,0,newKey);// position2Target_idMap \n// {1:2, 2:3, 3:4, 4:6 } --> {1:2, 2:3, 3:7, 4:4, 5:6 }\n// 更新key/position 映射到target_id的map\n// 两次revers,用这个结构,达到给position加1的效果\nvar reverseMap=_this._reverseMap(_this.position2Target_idMap);for(var i=index_arg;i state.\n * Instead it \"reduces\" actions into URL query parameter state. NOT redux state.\n */\nfunction urlQueryReducer(action, location) {\n var updateType = action && action.meta && action.meta.updateType;\n\n switch (updateType) {\n case _UrlUpdateTypes2.default.replaceIn:\n return (0, _updateUrlQueryFromAction.replaceInUrlQueryFromAction)(action, location);\n case _UrlUpdateTypes2.default.replace:\n return (0, _updateUrlQueryFromAction.replaceUrlQueryFromAction)(action, location);\n case _UrlUpdateTypes2.default.pushIn:\n return (0, _updateUrlQueryFromAction.pushInUrlQueryFromAction)(action, location);\n case _UrlUpdateTypes2.default.push:\n return (0, _updateUrlQueryFromAction.pushUrlQueryFromAction)(action, location);\n default:\n break;\n }\n\n if (false) {\n console.warn('urlQueryReducer encountered unhandled action.meta.updateType ' + updateType + '.', // eslint-disable-line no-console\n 'action =', action);\n }\n\n return undefined;\n}\n\n/***/ }),\n/* 587 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return subscriptionShape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return storeShape; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_prop_types__);\n\n\nvar subscriptionShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({\n trySubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n tryUnsubscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n notifyNestedSubs: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n isSubscribed: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired\n});\n\nvar storeShape = __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.shape({\n subscribe: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n dispatch: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired,\n getState: __WEBPACK_IMPORTED_MODULE_0_prop_types___default.a.func.isRequired\n});\n\n/***/ }),\n/* 588 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = connectAdvanced;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__ = __webpack_require__(109);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__ = __webpack_require__(1644);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__ = __webpack_require__(587);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\n\n\n\n\nvar hotReloadingVersion = 0;\nvar dummyState = {};\nfunction noop() {}\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n\n return selector;\n}\n\nfunction connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory) {\n var _contextTypes, _childContextTypes;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$getDisplayName = _ref.getDisplayName,\n getDisplayName = _ref$getDisplayName === undefined ? function (name) {\n return 'ConnectAdvanced(' + name + ')';\n } : _ref$getDisplayName,\n _ref$methodName = _ref.methodName,\n methodName = _ref$methodName === undefined ? 'connectAdvanced' : _ref$methodName,\n _ref$renderCountProp = _ref.renderCountProp,\n renderCountProp = _ref$renderCountProp === undefined ? undefined : _ref$renderCountProp,\n _ref$shouldHandleStat = _ref.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref$shouldHandleStat === undefined ? true : _ref$shouldHandleStat,\n _ref$storeKey = _ref.storeKey,\n storeKey = _ref$storeKey === undefined ? 'store' : _ref$storeKey,\n _ref$withRef = _ref.withRef,\n withRef = _ref$withRef === undefined ? false : _ref$withRef,\n connectOptions = _objectWithoutProperties(_ref, ['getDisplayName', 'methodName', 'renderCountProp', 'shouldHandleStateChanges', 'storeKey', 'withRef']);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__[\"a\" /* storeShape */], _contextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__[\"b\" /* subscriptionShape */], _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = __WEBPACK_IMPORTED_MODULE_4__utils_PropTypes__[\"b\" /* subscriptionShape */], _childContextTypes);\n\n return function wrapWithConnect(WrappedComponent) {\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(typeof WrappedComponent == 'function', 'You must pass a component to the function returned by ' + (methodName + '. Instead received ' + JSON.stringify(WrappedComponent)));\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(_this.store, 'Could not find \"' + storeKey + '\" in either the context or props of ' + ('\"' + displayName + '\". Either wrap the root component in a , ') + ('or explicitly pass \"' + storeKey + '\" as a prop to \"' + displayName + '\".'));\n\n _this.initSelector();\n _this.initSubscription();\n return _this;\n }\n\n Connect.prototype.getChildContext = function getChildContext() {\n var _ref2;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref2 = {}, _ref2[subscriptionKey] = subscription || this.context[subscriptionKey], _ref2;\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return;\n\n // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(withRef, 'To access the wrapped instance, you need to specify ' + ('{ withRef: true } in the options argument of the ' + methodName + '() call.'));\n return this.wrappedInstance;\n };\n\n Connect.prototype.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n Connect.prototype.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n Connect.prototype.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return;\n\n // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new __WEBPACK_IMPORTED_MODULE_3__utils_Subscription__[\"a\" /* default */](this.store, parentSub, this.onStateChange.bind(this));\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n Connect.prototype.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n Connect.prototype.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n Connect.prototype.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props;\n // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n var withExtras = _extends({}, props);\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n Connect.prototype.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return Object(__WEBPACK_IMPORTED_MODULE_2_react__[\"createElement\"])(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(__WEBPACK_IMPORTED_MODULE_2_react__[\"Component\"]);\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (false) {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector();\n\n // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n this.initSubscription();\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_hoist_non_react_statics___default()(Connect, WrappedComponent);\n };\n}\n\n/***/ }),\n/* 589 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = wrapMapToPropsConstant;\n/* unused harmony export getDependsOnOwnProps */\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = wrapMapToPropsFunc;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_verifyPlainObject__ = __webpack_require__(590);\n\n\nfunction wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n}\n\n// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n}\n\n// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n };\n\n // allow detectFactoryAndVerify to get ownProps\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (false) verifyPlainObject(props, displayName, methodName);\n\n return props;\n };\n\n return proxy;\n };\n}\n\n/***/ }),\n/* 590 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(1648);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__warning__ = __webpack_require__(314);\n\n\n\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!Object(__WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__[\"a\" /* default */])(value)) {\n Object(__WEBPACK_IMPORTED_MODULE_1__warning__[\"a\" /* default */])(methodName + '() in ' + displayName + ' must return a plain object. Instead received ' + value + '.');\n }\n}\n\n/***/ }),\n/* 591 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__root_js__ = __webpack_require__(1650);\n\n\n/** Built-in value references. */\nvar Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__[\"a\" /* default */].Symbol;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Symbol);\n\n\n/***/ }),\n/* 592 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.__RewireAPI__ = exports.__ResetDependency__ = exports.__set__ = exports.__Rewire__ = exports.__GetDependency__ = exports.__get__ = exports.createMatchSelector = exports.getAction = exports.getLocation = exports.routerMiddleware = exports.connectRouter = exports.ConnectedRouter = exports.routerActions = exports.goForward = exports.goBack = exports.go = exports.replace = exports.push = exports.CALL_HISTORY_METHOD = exports.LOCATION_CHANGE = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createAll = __webpack_require__(1664);\n\nvar _createAll2 = _interopRequireDefault(_createAll);\n\nvar _plain = __webpack_require__(1669);\n\nvar _plain2 = _interopRequireDefault(_plain);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _get__2 = _get__('createAll')(_get__('plainStructure'));\n\nvar LOCATION_CHANGE = _get__2.LOCATION_CHANGE,\n CALL_HISTORY_METHOD = _get__2.CALL_HISTORY_METHOD,\n push = _get__2.push,\n replace = _get__2.replace,\n go = _get__2.go,\n goBack = _get__2.goBack,\n goForward = _get__2.goForward,\n routerActions = _get__2.routerActions,\n ConnectedRouter = _get__2.ConnectedRouter,\n connectRouter = _get__2.connectRouter,\n routerMiddleware = _get__2.routerMiddleware,\n getLocation = _get__2.getLocation,\n getAction = _get__2.getAction,\n createMatchSelector = _get__2.createMatchSelector;\nexports.LOCATION_CHANGE = LOCATION_CHANGE;\nexports.CALL_HISTORY_METHOD = CALL_HISTORY_METHOD;\nexports.push = push;\nexports.replace = replace;\nexports.go = go;\nexports.goBack = goBack;\nexports.goForward = goForward;\nexports.routerActions = routerActions;\nexports.ConnectedRouter = ConnectedRouter;\nexports.connectRouter = connectRouter;\nexports.routerMiddleware = routerMiddleware;\nexports.getLocation = getLocation;\nexports.getAction = getAction;\nexports.createMatchSelector = createMatchSelector;\n\nfunction _getGlobalObject() {\n try {\n if (!!global) {\n return global;\n }\n } catch (e) {\n try {\n if (!!window) {\n return window;\n }\n } catch (e) {\n return this;\n }\n }\n}\n\n;\nvar _RewireModuleId__ = null;\n\nfunction _getRewireModuleId__() {\n if (_RewireModuleId__ === null) {\n var globalVariable = _getGlobalObject();\n\n if (!globalVariable.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__) {\n globalVariable.__$$GLOBAL_REWIRE_NEXT_MODULE_ID__ = 0;\n }\n\n _RewireModuleId__ = __$$GLOBAL_REWIRE_NEXT_MODULE_ID__++;\n }\n\n return _RewireModuleId__;\n}\n\nfunction _getRewireRegistry__() {\n var theGlobalVariable = _getGlobalObject();\n\n if (!theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__) {\n theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__ = Object.create(null);\n }\n\n return __$$GLOBAL_REWIRE_REGISTRY__;\n}\n\nfunction _getRewiredData__() {\n var moduleId = _getRewireModuleId__();\n\n var registry = _getRewireRegistry__();\n\n var rewireData = registry[moduleId];\n\n if (!rewireData) {\n registry[moduleId] = Object.create(null);\n rewireData = registry[moduleId];\n }\n\n return rewireData;\n}\n\n(function registerResetAll() {\n var theGlobalVariable = _getGlobalObject();\n\n if (!theGlobalVariable['__rewire_reset_all__']) {\n theGlobalVariable['__rewire_reset_all__'] = function () {\n theGlobalVariable.__$$GLOBAL_REWIRE_REGISTRY__ = Object.create(null);\n };\n }\n})();\n\nvar INTENTIONAL_UNDEFINED = '__INTENTIONAL_UNDEFINED__';\nvar _RewireAPI__ = {};\n\n(function () {\n function addPropertyToAPIObject(name, value) {\n Object.defineProperty(_RewireAPI__, name, {\n value: value,\n enumerable: false,\n configurable: true\n });\n }\n\n addPropertyToAPIObject('__get__', _get__);\n addPropertyToAPIObject('__GetDependency__', _get__);\n addPropertyToAPIObject('__Rewire__', _set__);\n addPropertyToAPIObject('__set__', _set__);\n addPropertyToAPIObject('__reset__', _reset__);\n addPropertyToAPIObject('__ResetDependency__', _reset__);\n addPropertyToAPIObject('__with__', _with__);\n})();\n\nfunction _get__(variableName) {\n var rewireData = _getRewiredData__();\n\n if (rewireData[variableName] === undefined) {\n return _get_original__(variableName);\n } else {\n var value = rewireData[variableName];\n\n if (value === INTENTIONAL_UNDEFINED) {\n return undefined;\n } else {\n return value;\n }\n }\n}\n\nfunction _get_original__(variableName) {\n switch (variableName) {\n case 'createAll':\n return _createAll2.default;\n\n case 'plainStructure':\n return _plain2.default;\n }\n\n return undefined;\n}\n\nfunction _assign__(variableName, value) {\n var rewireData = _getRewiredData__();\n\n if (rewireData[variableName] === undefined) {\n return _set_original__(variableName, value);\n } else {\n return rewireData[variableName] = value;\n }\n}\n\nfunction _set_original__(variableName, _value) {\n switch (variableName) {}\n\n return undefined;\n}\n\nfunction _update_operation__(operation, variableName, prefix) {\n var oldValue = _get__(variableName);\n\n var newValue = operation === '++' ? oldValue + 1 : oldValue - 1;\n\n _assign__(variableName, newValue);\n\n return prefix ? newValue : oldValue;\n}\n\nfunction _set__(variableName, value) {\n var rewireData = _getRewiredData__();\n\n if ((typeof variableName === 'undefined' ? 'undefined' : _typeof(variableName)) === 'object') {\n Object.keys(variableName).forEach(function (name) {\n rewireData[name] = variableName[name];\n });\n } else {\n if (value === undefined) {\n rewireData[variableName] = INTENTIONAL_UNDEFINED;\n } else {\n rewireData[variableName] = value;\n }\n\n return function () {\n _reset__(variableName);\n };\n }\n}\n\nfunction _reset__(variableName) {\n var rewireData = _getRewiredData__();\n\n delete rewireData[variableName];\n\n if (Object.keys(rewireData).length == 0) {\n delete _getRewireRegistry__()[_getRewireModuleId__];\n }\n\n ;\n}\n\nfunction _with__(object) {\n var rewireData = _getRewiredData__();\n\n var rewiredVariableNames = Object.keys(object);\n var previousValues = {};\n\n function reset() {\n rewiredVariableNames.forEach(function (variableName) {\n rewireData[variableName] = previousValues[variableName];\n });\n }\n\n return function (callback) {\n rewiredVariableNames.forEach(function (variableName) {\n previousValues[variableName] = rewireData[variableName];\n rewireData[variableName] = object[variableName];\n });\n var result = callback();\n\n if (!!result && typeof result.then == 'function') {\n result.then(reset).catch(reset);\n } else {\n reset();\n }\n\n return result;\n };\n}\n\nexports.__get__ = _get__;\nexports.__GetDependency__ = _get__;\nexports.__Rewire__ = _set__;\nexports.__set__ = _set__;\nexports.__ResetDependency__ = _reset__;\nexports.__RewireAPI__ = _RewireAPI__;\nexports.default = _RewireAPI__;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 593 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 594 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(81);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i -> style={{ margin:\"0px\" }}>\r\n\tmargin-top -> marginTop\r\n\tonclick -> onClick 驼峰\r\n\t\r\n\t-------------------------- 模板语法相关\r\n\t页面都在前端组装、渲染\r\n\t\trails模板的 if等逻辑改成js实现\r\n\t\t客户端需要能判断 User.current.manager_of_shixun?(comment.dis_id)\r\n\t\r\n\t-------------------------- 现有ui控件的使用方式\r\n\t方案1: 换成对应的react组件,然后再调用(控件简单时推荐)\r\n\t方案2: 在react环境中使用若干jquery插件(控件复杂,又无react环境下的替代方案时考虑使用)\r\n\t\r\n\t-------------------------- \r\n\t需要服务端提供对应的rest api\r\n\t\r\n\r\n*/var _origin=window.location.origin;/*\r\n\t用到的props: \r\n\t\tuser user_url image_url\r\n\t\t\r\n\t\tloadingComments--\r\n\t\tcomment_count_without_reply\t\r\n\t\tcurrentPage\r\n\t\tcomments\r\n\t\t\r\n\t\t接口\r\n\t\tdeleteComment\t\t\t删除\r\n\t\tonPaginationChange 翻页变化\r\n\t\tcommentPraise\t\t\t点赞\r\n\t\thiddenComment\t\t\t隐藏\r\n\t\trewardCode\t\t\t\t奖励\r\n\r\n*/var Comments=function(_Component){_inherits(Comments,_Component);function Comments(props){_classCallCheck(this,Comments);var _this=_possibleConstructorReturn(this,(Comments.__proto__||Object.getPrototypeOf(Comments)).call(this,props));_this.parseCommentContent=function(oldContent){// startsWith IE11报错 edu_application.js有pollify\nif(oldContent&&oldContent.startsWith('<')&&oldContent.endsWith('>')){// 如果是html\n// if (oldContent && /<[a-z][\\s\\S]*>/i.test(oldContent)) {\t// 如果是html\n}else if(window.$('#md_div').length){// 有这个临时处理md内容的dom\nwindow.$('#md_div').html('');// markdown to html\nvar markdwonParser=window.editormd.markdownToHTML(\"md_div\",{markdown:oldContent,emoji:true,htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,tex:true,// 默认不解析\nflowChart:true,// 默认不解析\nsequenceDiagram:true// 默认不解析\n});oldContent=window.$('#md_div').html();}return oldContent;};_this.handleDialogClose=_this.handleDialogClose.bind(_this);_this.handleGoldRewardDialogClose=_this.handleGoldRewardDialogClose.bind(_this);_this.state={dialogOpen:false,goldRewardDialogOpen:false,goldRewardInput:'',showReplyEditorFlag:false,// false->true or true->false时切换editor显示或隐藏\ncurrentReplyComment:null};return _this;}_createClass(Comments,[{key:'componentWillUnmount',value:function componentWillUnmount(){var $=window.$;$(document).off(\"onReply\");}},{key:'componentDidMount',value:function componentDidMount(){var _this2=this;setTimeout(function(){var $=window.$;// 绑定后会自动off? 加timeout试试\n$(document).on(\"onReply\",function(e,args){var commentContent=args.commentContent,id=args.id,editor=args.editor;_this2.props.replyComment(commentContent,id,editor);});},1000);}},{key:'initReply',value:function initReply(comment){// 如果配置的使用kindEditor\nif(window.__useKindEditor===true){var user=this.props.user;console.log('initReply ',comment);var $=window.$;var id=comment.id;var reply_message_el='#reply_message_'+id;var reply_iconup_el='#reply_iconup_'+id;if($(reply_message_el).html()==\"\"){$(\".reply_to_message\").html(\"\");$(reply_message_el).html('
    \\n
    \"0?1442652658\"
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\u53D1\\u9001\\n
    \\n

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n');//\" ide语法识别\n$(reply_iconup_el).show();$(function(){window.sd_create_editor_from_data(id,null,\"100%\",\"Discuss\");});}else{if($(reply_message_el).is(':visible')){$(reply_message_el).hide();}else{$(reply_message_el).show();}// $(reply_message_el).html(\"\");\n// $(reply_iconup_el).hide();\n}}else{// MD\nthis.setState({currentReplyComment:comment,showReplyEditorFlag:!this.state.showReplyEditorFlag});}}},{key:'renderChildenComments',value:function renderChildenComments(comment){var _this3=this;if(!comment.children||comment.children.length===0){return'';}var user=this.props.user;var childCommentsElement=comment.children.map(function(item,index){var _content=_this3.parseCommentContent(item.content);return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{key:index,className:'childComment'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Info clearfix mt3'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'t_info fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:_origin+'/users/'+item.user_login,className:'content-username hide fl'},item.username),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'t_area fl'},item.time),item.reward?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:'\\u5DF2\\u5956\\u52B1\\u91D1\\u5E01'+item.reward,disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',style:{marginLeft:'20px',cursor:'default'},className:'rewarded color-grey-8 font-12 fl '+(item.admin===true?'':'normalUser')},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-gift mr5 color-orange fl',style:{display:'inline'}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},item.reward))):''),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'fr mr10 orig_reply lineh-20'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'hidden_discuss_btn_952'}),comment.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this3.showGoldRewardDialog(comment,item);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"给TA奖励金币\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-jiangli fl'}))):\"\",comment.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:item.hidden?\"取消隐藏\":\"隐藏评论\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this3.onCommentBtnClick(comment,item,item.hidden?'hiddenCancel':'hidden');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{style:{display:'inline'},className:(item.hidden?'iconfont icon-yincangbiyan':'fa fa-eye')+' mr5'}))):\"\",comment.admin===true||item.can_delete||item.user_id===user.user_id?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"删除\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',id:'delete_reply_118_952',onClick:function onClick(){return _this3.onCommentBtnClick(comment,item,'delete');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-shanchu mr5'}))):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_content clearfix',id:'reply_content_'+item.id},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'color-grey-3 break_word_comments',id:'reply_content_'+item.id},item.hidden&&comment.admin===false&&comment.manager===false?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange font-16'},'\\u8FDD\\u89C4\\u8BC4\\u8BBA\\u5DF2\\u88AB\\u5C4F\\u853D\\uFF01'):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{dangerouslySetInnerHTML:{__html:_content}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}))));});return childCommentsElement;}},{key:'renderComments',value:function renderComments(){var _this4=this;var _props=this.props,comments=_props.comments,currentUser=_props.currentUser,deleteComment=_props.deleteComment,commentPraise=_props.commentPraise,hiddenComment=_props.hiddenComment,user=_props.user;var _state=this.state,showReplyEditorFlag=_state.showReplyEditorFlag,currentReplyComment=_state.currentReplyComment;if(!comments||comments.length===0){return;}// \"https://www.educoder.net/users/m02945638\"\nvar commentsElement=comments.map(function(item,index){var _content=_this4.parseCommentContent(item.content);return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_item_cont df clearfix',key:index},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Face fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:_origin+'/users/'+item.user_login,target:'_blank'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('img',{alt:'\\u7528\\u6237\\u5934\\u50CF',height:'50',src:_origin+'/images/'+item.image_url,width:'50'}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'t_content fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Reply'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_orig_content',style:{margin:\"0px\"}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'J_Comment_Info clearfix mt3'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'t_info fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:_origin+'/users/'+item.user_login,className:'content-username hide fl'},item.username),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'t_area fl'},item.time),item.position&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl color-light-green font-14 ml15'},'[\\u7B2C',item.position,'\\u5173]'),item.reward?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:'\\u5DF2\\u5956\\u52B1\\u91D1\\u5E01'+item.reward,disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',style:{marginLeft:'20px',cursor:'default'},className:'rewarded color-grey-8 font-12 fl '+(item.admin===true?'':'normalUser')},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-gift mr5 color-orange fl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},item.reward))):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'comment_content clearfix',id:'reply_content_'+item.id},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'color-grey-3 break_word_comments',id:'reply_content_'+item.id},item.hidden&&item.admin===false&&item.manager===false?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange font-16'},'\\u8FDD\\u89C4\\u8BC4\\u8BBA\\u5DF2\\u88AB\\u5C4F\\u853D\\uFF01'):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{dangerouslySetInnerHTML:{__html:_content}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'childrenCommentsView'},item&&item.children&&item.children.length?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'trangle'}):'',_this4.renderChildenComments(item)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'fr orig_reply'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'hidden_discuss_btn_952'}),item.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this4.showGoldRewardDialog(item);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"给TA奖励金币\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-jiangli mr5 fl'}))):\"\",item.admin===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:item.hidden?\"取消隐藏\":\"隐藏评论\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8 fl mt2',onClick:function onClick(){return _this4.onCommentBtnClick(item,'',item.hidden?'hiddenCancel':'hidden');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:' '+(item.hidden?'iconfont icon-yincangbiyan':'fa fa-eye')+' mr5'}))):\"\",item.admin&&(!item.children||item.children.length===0)?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"删除\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'color-grey-8',onClick:function onClick(){return _this4.onCommentBtnClick(item,'','delete');}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-shanchu mr5'}))):'',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:\"回复\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'color-grey-8',onClick:function onClick(){return _this4.initReply(item);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-huifu1 mr5'}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'reply_praise_count_952'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Tooltip___default.a,{title:item.user_praise?\"取消点赞\":\"点赞\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'fr mr5 '+(item.user_praise?'color-orange03':'color-grey-8'),onClick:function onClick(){return commentPraise(item.id);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:item.user_praise?\"iconfont icon-dianzan mr5\":\"iconfont icon-dianzan-xian mr5\"}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fr font-14'},item.praise_count?item.praise_count:''))))),window.__useKindEditor?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__CommentItemKEEditor__[\"a\" /* default */],{showReplyEditorFlag:showReplyEditorFlag,currentReplyComment:currentReplyComment,item:item,user:user}):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9__CommentItemMDEditor__[\"a\" /* default */],{showReplyEditorFlag:showReplyEditorFlag,currentReplyComment:currentReplyComment,item:item,user:user})))));});/*\r\n\t\t\t/users/reply_to?reply_id=${item.id}&type=Challenge&user_activity_id=118\r\n\t\t*//*\t\r\n\t\t\tonclick=\"delete_confirm_box_2('<%= discuss_path(comment, :challenge_id => @game_challenge) %>', '确定要删除该条回复吗?')\"\r\n\t\t\tdelete按钮\r\n\t\t\tid=`delete_reply_<%=@game_challenge.id %>_<%=comment.id %>`\r\n\r\n\t\t*/return commentsElement;}},{key:'onCommentBtnClick',value:function onCommentBtnClick(comment,childComment,dialogType){this.comment=comment;this.childComment=childComment;this.setState({dialogOpen:true,dialogType:dialogType});}},{key:'handleDialogClose',value:function handleDialogClose(){this.setState({dialogOpen:false});}},{key:'onDialogOkBtnClick',value:function onDialogOkBtnClick(){var _props2=this.props,deleteComment=_props2.deleteComment,hiddenComment=_props2.hiddenComment;var dialogType=this.state.dialogType;if(dialogType==='delete'){deleteComment(this.comment,this.childComment?this.childComment.id:'');}else if(dialogType==='hidden'||dialogType==='hiddenCancel'){hiddenComment(this.comment,this.childComment?this.childComment.id:'');}this.setState({dialogOpen:false});}},{key:'showGoldRewardDialog',value:function showGoldRewardDialog(comment,childComment){if(comment.admin===true){this.comment=comment;this.childComment=childComment;this.setState({goldRewardDialogOpen:true});}}},{key:'handleGoldRewardDialogClose',value:function handleGoldRewardDialogClose(){this.setState({goldRewardDialogOpen:false});}},{key:'onGoldRewardDialogOkBtnClick',value:function onGoldRewardDialogOkBtnClick(){console.log('onGoldRewardDialogOkBtnClick');var goldRewardInput=this.state.goldRewardInput;if(!goldRewardInput||goldRewardInput==='0'||goldRewardInput.indexOf('-')!==-1){this.setState({goldRewardInputError:true});return;}else{this.setState({goldRewardDialogOpen:false});this.props.rewardCode(this.comment,this.childComment,goldRewardInput);}}},{key:'onGoldRewardInputChange',value:function onGoldRewardInputChange(event){this.setState({goldRewardInput:event.target.value,goldRewardInputError:false});}},{key:'render',value:function render(){var _this5=this;var _props3=this.props,deleteComment=_props3.deleteComment,onPaginationChange=_props3.onPaginationChange,comment_count_without_reply=_props3.comment_count_without_reply,currentPage=_props3.currentPage,comments=_props3.comments;var _state2=this.state,dialogOpen=_state2.dialogOpen,goldRewardDialogOpen=_state2.goldRewardDialogOpen,dialogType=_state2.dialogType,goldRewardInputError=_state2.goldRewardInputError;var goldRewardInputErrorObj=goldRewardInputError?{'error':'error'}:{};return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog___default.a,{open:dialogOpen,onClose:this.handleDialogClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},dialogType==='delete'?'确定要删除该条回复吗?':dialogType==='hidden'?'确定要隐藏该条回复吗?':dialogType==='hiddenCancel'?'确定要取消隐藏该条回复吗?':'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{onClick:this.handleDialogClose,color:'primary'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this5.onDialogOkBtnClick();},color:'primary',autoFocus:true},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog___default.a,{open:goldRewardDialogOpen,onClose:this.handleGoldRewardDialogClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"奖励设置\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Form__[\"FormControl\"],Object.assign({},goldRewardInputErrorObj,{'aria-describedby':'name-error-text'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Input__[\"InputLabel\"],{htmlFor:'goldReward'},'\\u8BF7\\u8F93\\u5165\\u5956\\u52B1\\u7684\\u91D1\\u5E01\\u6570\\u91CF'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_Input___default.a,{id:'goldReward',type:'number',value:this.state.goldRewardInput,onChange:function onChange(e){return _this5.onGoldRewardInputChange(e);}}),goldRewardInputError?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Form__[\"FormHelperText\"],{id:'name-error-text'},'\\u5956\\u52B1\\u91D1\\u5E01\\u4E0D\\u80FD\\u4E3A\\u7A7A\\u6216\\u8D1F\\u6570'):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{onClick:this.handleGoldRewardDialogClose,color:'primary'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this5.onGoldRewardDialogOkBtnClick();},color:'primary',autoFocus:true},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'panel-comment_item'},this.renderComments()),comment_count_without_reply>10?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'paginationSection'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_rc_pagination__[\"a\" /* default */],{onChange:onPaginationChange,current:currentPage,total:comment_count_without_reply})):'',comment_count_without_reply==0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'noCommentTitle'},'\\u6682\\u65F6\\u8FD8\\u6CA1\\u6709\\u8BC4\\u8BBA\\uFF0C\\u5FEB\\u6765show\\u51FA\\u4F60\\u7684idea\\u5427\\uFF01'):''));}}]);return Comments;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (Comments);\n\n/***/ }),\n/* 598 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 599 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__LoginDialog_css__ = __webpack_require__(779);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__LoginDialog_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__LoginDialog_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_educoder__ = __webpack_require__(42);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i去注册\").show();}else{$(\"#pass_name_input\").next().find(\"p\").html(\"该邮箱尚未绑定,你可以登录后去绑定\").show();}}else{$(\"#pass_name_input\").next().find(\"p\").hide();if(type==6){$(\"#send_code_notice\").html(data.msg).show();}else{var uurl=window.gotoEmail(data.link);$(\"#send_code_notice\").html(\"验证码已经发送到您的邮箱,去查收\").show();}time(btn);}});}else{$(\"#passlogin_error_notice\").show();}}}}var LoginDialog=function(_Component){_inherits(LoginDialog,_Component);function LoginDialog(props){_classCallCheck(this,LoginDialog);var _this=_possibleConstructorReturn(this,(LoginDialog.__proto__||Object.getPrototypeOf(LoginDialog)).call(this,props));_this.enter=function(num){_this.setState({login:num,speedy:1,dialogBox:'dialogBox'});};_this.register=function(num){_this.setState({login:1,speedy:num,dialogBox:'dialogBox2'});};_this.loginChange=function(){var reg=/^(\\w-*\\.*)+@(\\w-?)+(\\.\\w{2,})+$/;var reg1=/^1\\d{10}$/;var reg2=/^[a-zA-z]\\w{3,14}$/;var value=_this.refs.loginPassText.value;var valuenum=value.length;if(valuenum>0){if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){_this.setState({regular:1});return;}else{_this.setState({loginValue:value});_this.setState({regular:0});}}else{_this.setState({loginValue:value});}};_this.passwordChange=function(){var value=_this.refs.passwordText.value;var valuenum=value.length;_this.setState({disabled:false});_this.setState({bottonclass:'log-botton mt5 edu-back-blue'});if(valuenum==0){_this.setState({bottonclass:'log-botton mt5'});_this.setState({disabled:true});}_this.setState({passValue:value});};_this.handleInputChange=function(event){var target=event.target;var value=target.type==='checkbox'?target.checked:target.value;var name=target.name;_this.setState(_defineProperty({},name,value));if(value==true){_this.setState({isGoingValue:1});}else{_this.setState({isGoingValue:0});}};_this.shortcutIdChange=function(){var reg=/^(\\w-*\\.*)+@(\\w-?)+(\\.\\w{2,})+$/;var reg1=/^1\\d{10}$/;var reg2=/^[a-zA-z]\\w{3,14}$/;var value=_this.refs.shortcutText.value;var valuenum=value.length;if(valuenum>0){if(!reg.test(value)&&!reg1.test(value)&&!reg2.test(value)){_this.setState({shortcutnum:0});_this.setState({disabledType:true});_this.setState({gaincode:'gain-code'});return;}else{_this.setState({gaincode:'gain-code edu-back-blue'});_this.setState({shortcutValue:value});_this.setState({shortcutnum:1});_this.setState({disabledType:false});}}else{_this.setState({shortcutValue:value});}};_this.authCodeChange=function(){var value=_this.refs.authCodeText.value;var valuenum=value.length;if(valuenum>3){_this.setState({authCodeType:false});_this.setState({authCodeclass:'log-botton mt5 edu-back-blue'});}else if(valuenum==0){_this.setState({authCodeType:true});_this.setState({authCodeclass:'log-botton mt5'});}};_this.get_login_verification_code=function(){get_login_verification_code($('#get_verification_code')[0]);};_this.dragWrapper=function(){var $=window.$;$.fn.drag=function(options){var x,drag=this,isMove=false,defaults={};var options=$.extend(defaults,options);var handler=drag.find('.handler');var drag_bg=drag.find('.drag_bg');var text=drag.find('.drag_text');var maxWidth=100;//鼠标按下时候的x轴的位置\nhandler.mousedown(function(e){isMove=true;x=e.pageX-parseInt(handler.css('left'),10);maxWidth=drag.width()-handler.width()-2;//能滑动的最大间距\n});$(document).mousemove(function(e){var _x=e.pageX-x;// _x = e.pageX - (e.pageX - parseInt(handler.css('left'), 10)) = x\nif(isMove){if(_x>0&&_x<=maxWidth){handler.css({'left':_x});drag_bg.css({'width':_x});}else if(_x>maxWidth){//鼠标指针移动距离达到最大时清空事件\ndragOk();}}}).mouseup(function(e){isMove=false;var _x=e.pageX-x;if(_x').attr('href',_url_origin+'/stylesheets/educoder/edu-main.css'));$('head').append($('').attr('href',_url_origin+'/stylesheets/educoder/edu-all.css'));}}},{key:'render',value:function render(){var _this3=this;var _state=this.state,open=_state.open,login=_state.login,speedy=_state.speedy,loginValue=_state.loginValue,regular=_state.regular,isGoing=_state.isGoing,isGoingValue=_state.isGoingValue,disabled=_state.disabled,bottonclass=_state.bottonclass,dialogBox=_state.dialogBox,shortcutnum=_state.shortcutnum,disabledType=_state.disabledType,gaincode=_state.gaincode,authCodeType=_state.authCodeType,authCodeclass=_state.authCodeclass,isRender=_state.isRender;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:true,id:'DialogID',style:{display:isRender==false?'none':''},onClose:function onClose(){return _this3.handleDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:dialogBox},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'closeIcon',onClick:function onClick(){_this3.handleDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{'class':'iconfont icon-shanchudiao'})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'log_reg_content'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('ul',{className:'log_nav clearfix'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{className:login==0?'active':'',onClick:function onClick(){_this3.enter(0);}},'\\u767B\\u5F55'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{className:speedy==0?'active':'',onClick:function onClick(){_this3.register(0);}},'\\u5FEB\\u6377\\u767B\\u5F55')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'login-panel',id:'login-panel-1',style:{display:login==0?'block':'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('form',{acceptCharset:'UTF-8',action:'/login',id:'main_login_form',method:'post'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{\"display\":\"inline\",\"padding\":\"0\",\"margin\":\"0\"}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'utf8',type:'hidden',value:'\\u2713'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'authenticity_token',type:'hidden',value:'NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM='})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'back_url',type:'hidden',value:this.back_url}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'text',className:'input-100-45 mt20',id:'name_loggin_input',ref:'loginPassText',onInput:this.loginChange,name:'username',placeholder:'\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7/\\u7528\\u6237\\u540D'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'username_error_notice',style:{display:regular==0?'none':'block'}},'\\u8BF7\\u8F93\\u5165\\u6709\\u6548\\u7684\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7/\\u7528\\u6237\\u540D')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'password',id:'password_loggin_input',name:'password',ref:'passwordText',onInput:this.passwordChange,className:'input-100-45 mt5',placeholder:'\\u5BC6\\u7801'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'password_error_notice'},'\\u8BF7\\u8F93\\u5165\\u5BC6\\u7801'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{className:bottonclass,href:'javascript:void(0);',id:'psd_login_btn',disabled:disabled},'\\u767B\\u5F55'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mt10'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'checkbox',className:'mr5 magic-checkbox',checked:isGoing,onChange:this.handleInputChange,value:isGoingValue,name:'isGoing',id:'p_autolog'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',{htmlFor:'p_autolog',style:{top:'0px'}},'\\u4E0B\\u6B21\\u81EA\\u52A8\\u767B\\u5F55')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fr'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/account/lost_password',className:'mr3 color-grey-9'},'\\u5FD8\\u8BB0\\u5BC6\\u7801'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('em',{className:'vertical-line'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/user_join',target:'_blank',className:'color-grey-9'},'\\u6CE8\\u518C'))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'login-panel none',id:'login-panel-2',style:{display:speedy==0?'block':'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('form',{acceptCharset:'UTF-8',action:'/login',id:'code_login_form',method:'post'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{\"display\":\"inline\",\"padding\":\"0\",\"margin\":\"0\"}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'utf8',type:'hidden',value:'\\u2713'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'authenticity_token',type:'hidden',value:'NVLiIlHZfhVBQtO9djnWncJqqdikNQIIxEmOvzK9vNM='})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{name:'back_url',type:'hidden',value:this.back_url}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'text',id:'pass_name_input',name:'username',ref:'shortcutText',onInput:this.shortcutIdChange,className:'input-100-45 mt20',placeholder:'\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'pass_name_error_notice',style:{display:shortcutnum==0?'block':'none'}},'\\u8BF7\\u8F93\\u5165\\u6709\\u6548\\u7684\\u624B\\u673A\\u53F7/\\u90AE\\u7BB1\\u53F7')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'wrapper'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'quick-drag',className:'drag_slider'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'drag_bg'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'drag_text slidetounlock'},'\\u8BF7\\u6309\\u4F4F\\u6ED1\\u5757\\uFF0C\\u62D6\\u52A8\\u5230\\u6700\\u53F3\\u8FB9'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'handler handler_bg'})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'new-login-error',style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{id:'passlogin_error_notice',className:'color-orange edu-txt-left none'},'\\u8BF7\\u5148\\u62D6\\u52A8\\u6ED1\\u5757\\u5B8C\\u6210\\u9A8C\\u8BC1'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mt5'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'text',name:'code',id:'login_verification_code',className:'input-48-45 edu-txt-center fl',ref:'authCodeText',onInput:this.authCodeChange,placeholder:'\\u8BF7\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{className:gaincode,disabled:disabledType,onClick:function onClick(){_this3.get_login_verification_code();},id:'get_verification_code'},'\\u83B7\\u53D6\\u9A8C\\u8BC1\\u7801')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{height:'25px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'color-orange edu-txt-left none',id:'send_code_notice'},'\\u8BF7\\u8F93\\u5165\\u9A8C\\u8BC1\\u7801')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('button',{href:'javascript:void(0);',className:authCodeclass,disabled:authCodeType,id:'code_login_btn'},'\\u767B\\u5F55'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mt10'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input',{type:'checkbox',className:'mr5 magic-checkbox',id:'autolog',checked:isGoing,onChange:this.handleInputChange,value:isGoingValue,name:'isGoing'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('label',{htmlFor:'autolog',style:{\"top\":\"0px\"}},'\\u4E0B\\u6B21\\u81EA\\u52A8\\u767B\\u5F55')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fr'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/account/lost_password',className:'mr3 color-grey-9'},'\\u5FD8\\u8BB0\\u5BC6\\u7801'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('em',{className:'vertical-line'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/user_join',target:'_blank',className:'color-grey-9'},'\\u6CE8\\u518C'))))))));}}]);return LoginDialog;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (LoginDialog);// onkeypress=\"user_login_keypress(event);\"\n// onkeypress=\"user_login_keypress(event);\"\n{/*
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    */}{/*第三方账号登录*/}{/*
    \r\n

    第三方账号登录

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    */}\n\n/***/ }),\n/* 600 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Comments__ = __webpack_require__(597);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__CommentInput__ = __webpack_require__(398);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i (GFM Style)',\n type: 'boolean'\n },\n requireSpaceBeforeHeadingText: {\n defaultValue: false,\n description: 'Makes adding a space between `#` and the header text mandatory (GFM Style)',\n type: 'boolean'\n },\n ghMentions: {\n defaultValue: false,\n description: 'Enables github @mentions',\n type: 'boolean'\n },\n ghMentionsLink: {\n defaultValue: 'https://github.com/{u}',\n description: 'Changes the link generated by @mentions. Only applies if ghMentions option is enabled.',\n type: 'string'\n },\n encodeEmails: {\n defaultValue: true,\n description: 'Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities',\n type: 'boolean'\n },\n openLinksInNewWindow: {\n defaultValue: false,\n description: 'Open all links in new windows',\n type: 'boolean'\n },\n backslashEscapesHTMLTags: {\n defaultValue: false,\n description: 'Support for HTML Tag escaping. ex: \\
    foo\\
    ',\n type: 'boolean'\n },\n emoji: {\n defaultValue: false,\n description: 'Enable emoji support. Ex: `this is a :smile: emoji`',\n type: 'boolean'\n },\n underline: {\n defaultValue: false,\n description: 'Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``',\n type: 'boolean'\n },\n completeHTMLDocument: {\n defaultValue: false,\n description: 'Outputs a complete html document, including ``, `` and `` tags',\n type: 'boolean'\n },\n metadata: {\n defaultValue: false,\n description: 'Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).',\n type: 'boolean'\n },\n splitAdjacentBlockquotes: {\n defaultValue: false,\n description: 'Split adjacent blockquote blocks',\n type: 'boolean'\n }\n };\n if (simple === false) {\n return JSON.parse(JSON.stringify(defaultOptions));\n }\n var ret = {};\n for (var opt in defaultOptions) {\n if (defaultOptions.hasOwnProperty(opt)) {\n ret[opt] = defaultOptions[opt].defaultValue;\n }\n }\n return ret;\n}\n\nfunction allOptionsOn () {\n 'use strict';\n var options = getDefaultOpts(true),\n ret = {};\n for (var opt in options) {\n if (options.hasOwnProperty(opt)) {\n ret[opt] = true;\n }\n }\n return ret;\n}\n\r\n/**\n * Created by Tivie on 06-01-2015.\n */\n\n// Private properties\nvar showdown = {},\n parsers = {},\n extensions = {},\n globalOptions = getDefaultOpts(true),\n setFlavor = 'vanilla',\n flavor = {\n github: {\n omitExtraWLInCodeBlocks: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n disableForced4SpacesIndentedSublists: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghCompatibleHeaderId: true,\n ghMentions: true,\n backslashEscapesHTMLTags: true,\n emoji: true,\n splitAdjacentBlockquotes: true\n },\n original: {\n noHeaderId: true,\n ghCodeBlocks: false\n },\n ghost: {\n omitExtraWLInCodeBlocks: true,\n parseImgDimensions: true,\n simplifiedAutoLink: true,\n excludeTrailingPunctuationFromURLs: true,\n literalMidWordUnderscores: true,\n strikethrough: true,\n tables: true,\n tablesHeaderId: true,\n ghCodeBlocks: true,\n tasklists: true,\n smoothLivePreview: true,\n simpleLineBreaks: true,\n requireSpaceBeforeHeadingText: true,\n ghMentions: false,\n encodeEmails: true\n },\n vanilla: getDefaultOpts(true),\n allOn: allOptionsOn()\n };\n\n/**\n * helper namespace\n * @type {{}}\n */\nshowdown.helper = {};\n\n/**\n * TODO LEGACY SUPPORT CODE\n * @type {{}}\n */\nshowdown.extensions = {};\n\n/**\n * Set a global option\n * @static\n * @param {string} key\n * @param {*} value\n * @returns {showdown}\n */\nshowdown.setOption = function (key, value) {\n 'use strict';\n globalOptions[key] = value;\n return this;\n};\n\n/**\n * Get a global option\n * @static\n * @param {string} key\n * @returns {*}\n */\nshowdown.getOption = function (key) {\n 'use strict';\n return globalOptions[key];\n};\n\n/**\n * Get the global options\n * @static\n * @returns {{}}\n */\nshowdown.getOptions = function () {\n 'use strict';\n return globalOptions;\n};\n\n/**\n * Reset global options to the default values\n * @static\n */\nshowdown.resetOptions = function () {\n 'use strict';\n globalOptions = getDefaultOpts(true);\n};\n\n/**\n * Set the flavor showdown should use as default\n * @param {string} name\n */\nshowdown.setFlavor = function (name) {\n 'use strict';\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n showdown.resetOptions();\n var preset = flavor[name];\n setFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n globalOptions[option] = preset[option];\n }\n }\n};\n\n/**\n * Get the currently set flavor\n * @returns {string}\n */\nshowdown.getFlavor = function () {\n 'use strict';\n return setFlavor;\n};\n\n/**\n * Get the options of a specified flavor. Returns undefined if the flavor was not found\n * @param {string} name Name of the flavor\n * @returns {{}|undefined}\n */\nshowdown.getFlavorOptions = function (name) {\n 'use strict';\n if (flavor.hasOwnProperty(name)) {\n return flavor[name];\n }\n};\n\n/**\n * Get the default options\n * @static\n * @param {boolean} [simple=true]\n * @returns {{}}\n */\nshowdown.getDefaultOptions = function (simple) {\n 'use strict';\n return getDefaultOpts(simple);\n};\n\n/**\n * Get or set a subParser\n *\n * subParser(name) - Get a registered subParser\n * subParser(name, func) - Register a subParser\n * @static\n * @param {string} name\n * @param {function} [func]\n * @returns {*}\n */\nshowdown.subParser = function (name, func) {\n 'use strict';\n if (showdown.helper.isString(name)) {\n if (typeof func !== 'undefined') {\n parsers[name] = func;\n } else {\n if (parsers.hasOwnProperty(name)) {\n return parsers[name];\n } else {\n throw Error('SubParser named ' + name + ' not registered!');\n }\n }\n }\n};\n\n/**\n * Gets or registers an extension\n * @static\n * @param {string} name\n * @param {object|function=} ext\n * @returns {*}\n */\nshowdown.extension = function (name, ext) {\n 'use strict';\n\n if (!showdown.helper.isString(name)) {\n throw Error('Extension \\'name\\' must be a string');\n }\n\n name = showdown.helper.stdExtName(name);\n\n // Getter\n if (showdown.helper.isUndefined(ext)) {\n if (!extensions.hasOwnProperty(name)) {\n throw Error('Extension named ' + name + ' is not registered!');\n }\n return extensions[name];\n\n // Setter\n } else {\n // Expand extension if it's wrapped in a function\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n // Ensure extension is an array\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExtension = validate(ext, name);\n\n if (validExtension.valid) {\n extensions[name] = ext;\n } else {\n throw Error(validExtension.error);\n }\n }\n};\n\n/**\n * Gets all extensions registered\n * @returns {{}}\n */\nshowdown.getAllExtensions = function () {\n 'use strict';\n return extensions;\n};\n\n/**\n * Remove an extension\n * @param {string} name\n */\nshowdown.removeExtension = function (name) {\n 'use strict';\n delete extensions[name];\n};\n\n/**\n * Removes all extensions\n */\nshowdown.resetExtensions = function () {\n 'use strict';\n extensions = {};\n};\n\n/**\n * Validate extension\n * @param {array} extension\n * @param {string} name\n * @returns {{valid: boolean, error: string}}\n */\nfunction validate (extension, name) {\n 'use strict';\n\n var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension',\n ret = {\n valid: true,\n error: ''\n };\n\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n\n for (var i = 0; i < extension.length; ++i) {\n var baseMsg = errMsg + ' sub-extension ' + i + ': ',\n ext = extension[i];\n if (typeof ext !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given';\n return ret;\n }\n\n if (!showdown.helper.isString(ext.type)) {\n ret.valid = false;\n ret.error = baseMsg + 'property \"type\" must be a string, but ' + typeof ext.type + ' given';\n return ret;\n }\n\n var type = ext.type = ext.type.toLowerCase();\n\n // normalize extension type\n if (type === 'language') {\n type = ext.type = 'lang';\n }\n\n if (type === 'html') {\n type = ext.type = 'output';\n }\n\n if (type !== 'lang' && type !== 'output' && type !== 'listener') {\n ret.valid = false;\n ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: \"lang/language\", \"output/html\" or \"listener\"';\n return ret;\n }\n\n if (type === 'listener') {\n if (showdown.helper.isUndefined(ext.listeners)) {\n ret.valid = false;\n ret.error = baseMsg + '. Extensions of type \"listener\" must have a property called \"listeners\"';\n return ret;\n }\n } else {\n if (showdown.helper.isUndefined(ext.filter) && showdown.helper.isUndefined(ext.regex)) {\n ret.valid = false;\n ret.error = baseMsg + type + ' extensions must define either a \"regex\" property or a \"filter\" method';\n return ret;\n }\n }\n\n if (ext.listeners) {\n if (typeof ext.listeners !== 'object') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an object but ' + typeof ext.listeners + ' given';\n return ret;\n }\n for (var ln in ext.listeners) {\n if (ext.listeners.hasOwnProperty(ln)) {\n if (typeof ext.listeners[ln] !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"listeners\" property must be an hash of [event name]: [callback]. listeners.' + ln +\n ' must be a function but ' + typeof ext.listeners[ln] + ' given';\n return ret;\n }\n }\n }\n }\n\n if (ext.filter) {\n if (typeof ext.filter !== 'function') {\n ret.valid = false;\n ret.error = baseMsg + '\"filter\" must be a function, but ' + typeof ext.filter + ' given';\n return ret;\n }\n } else if (ext.regex) {\n if (showdown.helper.isString(ext.regex)) {\n ext.regex = new RegExp(ext.regex, 'g');\n }\n if (!(ext.regex instanceof RegExp)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" property must either be a string or a RegExp object, but ' + typeof ext.regex + ' given';\n return ret;\n }\n if (showdown.helper.isUndefined(ext.replace)) {\n ret.valid = false;\n ret.error = baseMsg + '\"regex\" extensions must implement a replace string or function';\n return ret;\n }\n }\n }\n return ret;\n}\n\n/**\n * Validate extension\n * @param {object} ext\n * @returns {boolean}\n */\nshowdown.validateExtension = function (ext) {\n 'use strict';\n\n var validateExtension = validate(ext, null);\n if (!validateExtension.valid) {\n console.warn(validateExtension.error);\n return false;\n }\n return true;\n};\n\r\n/**\n * showdownjs helper functions\n */\n\nif (!showdown.hasOwnProperty('helper')) {\n showdown.helper = {};\n}\n\n/**\n * Check if var is string\n * @static\n * @param {string} a\n * @returns {boolean}\n */\nshowdown.helper.isString = function (a) {\n 'use strict';\n return (typeof a === 'string' || a instanceof String);\n};\n\n/**\n * Check if var is a function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isFunction = function (a) {\n 'use strict';\n var getType = {};\n return a && getType.toString.call(a) === '[object Function]';\n};\n\n/**\n * isArray helper function\n * @static\n * @param {*} a\n * @returns {boolean}\n */\nshowdown.helper.isArray = function (a) {\n 'use strict';\n return Array.isArray(a);\n};\n\n/**\n * Check if value is undefined\n * @static\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n */\nshowdown.helper.isUndefined = function (value) {\n 'use strict';\n return typeof value === 'undefined';\n};\n\n/**\n * ForEach helper function\n * Iterates over Arrays and Objects (own properties only)\n * @static\n * @param {*} obj\n * @param {function} callback Accepts 3 params: 1. value, 2. key, 3. the original array/object\n */\nshowdown.helper.forEach = function (obj, callback) {\n 'use strict';\n // check if obj is defined\n if (showdown.helper.isUndefined(obj)) {\n throw new Error('obj param is required');\n }\n\n if (showdown.helper.isUndefined(callback)) {\n throw new Error('callback param is required');\n }\n\n if (!showdown.helper.isFunction(callback)) {\n throw new Error('callback param must be a function/closure');\n }\n\n if (typeof obj.forEach === 'function') {\n obj.forEach(callback);\n } else if (showdown.helper.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n callback(obj[i], i, obj);\n }\n } else if (typeof (obj) === 'object') {\n for (var prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n callback(obj[prop], prop, obj);\n }\n }\n } else {\n throw new Error('obj does not seem to be an array or an iterable object');\n }\n};\n\n/**\n * Standardidize extension name\n * @static\n * @param {string} s extension name\n * @returns {string}\n */\nshowdown.helper.stdExtName = function (s) {\n 'use strict';\n return s.replace(/[_?*+\\/\\\\.^-]/g, '').replace(/\\s/g, '').toLowerCase();\n};\n\nfunction escapeCharactersCallback (wholeMatch, m1) {\n 'use strict';\n var charCodeToEscape = m1.charCodeAt(0);\n return '¨E' + charCodeToEscape + 'E';\n}\n\n/**\n * Callback used to escape characters when passing through String.replace\n * @static\n * @param {string} wholeMatch\n * @param {string} m1\n * @returns {string}\n */\nshowdown.helper.escapeCharactersCallback = escapeCharactersCallback;\n\n/**\n * Escape characters in a string\n * @static\n * @param {string} text\n * @param {string} charsToEscape\n * @param {boolean} afterBackslash\n * @returns {XML|string|void|*}\n */\nshowdown.helper.escapeCharacters = function (text, charsToEscape, afterBackslash) {\n 'use strict';\n // First we have to escape the escape characters so that\n // we can build a character class out of them\n var regexString = '([' + charsToEscape.replace(/([\\[\\]\\\\])/g, '\\\\$1') + '])';\n\n if (afterBackslash) {\n regexString = '\\\\\\\\' + regexString;\n }\n\n var regex = new RegExp(regexString, 'g');\n text = text.replace(regex, escapeCharactersCallback);\n\n return text;\n};\n\n/**\n * Unescape HTML entities\n * @param txt\n * @returns {string}\n */\nshowdown.helper.unescapeHTMLEntities = function (txt) {\n 'use strict';\n\n return txt\n .replace(/"/g, '\"')\n .replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/&/g, '&');\n};\n\nvar rgxFindMatchPos = function (str, left, right, flags) {\n 'use strict';\n var f = flags || '',\n g = f.indexOf('g') > -1,\n x = new RegExp(left + '|' + right, 'g' + f.replace(/g/g, '')),\n l = new RegExp(left, f.replace(/g/g, '')),\n pos = [],\n t, s, m, start, end;\n\n do {\n t = 0;\n while ((m = x.exec(str))) {\n if (l.test(m[0])) {\n if (!(t++)) {\n s = x.lastIndex;\n start = s - m[0].length;\n }\n } else if (t) {\n if (!--t) {\n end = m.index + m[0].length;\n var obj = {\n left: {start: start, end: s},\n match: {start: s, end: m.index},\n right: {start: m.index, end: end},\n wholeMatch: {start: start, end: end}\n };\n pos.push(obj);\n if (!g) {\n return pos;\n }\n }\n }\n }\n } while (t && (x.lastIndex = s));\n\n return pos;\n};\n\n/**\n * matchRecursiveRegExp\n *\n * (c) 2007 Steven Levithan \n * MIT License\n *\n * Accepts a string to search, a left and right format delimiter\n * as regex patterns, and optional regex flags. Returns an array\n * of matches, allowing nested instances of left/right delimiters.\n * Use the \"g\" flag to return all matches, otherwise only the\n * first is returned. Be careful to ensure that the left and\n * right format delimiters produce mutually exclusive matches.\n * Backreferences are not supported within the right delimiter\n * due to how it is internally combined with the left delimiter.\n * When matching strings whose format delimiters are unbalanced\n * to the left or right, the output is intentionally as a\n * conventional regex library with recursion support would\n * produce, e.g. \"<\" and \">\" both produce [\"x\"] when using\n * \"<\" and \">\" as the delimiters (both strings contain a single,\n * balanced instance of \"\").\n *\n * examples:\n * matchRecursiveRegExp(\"test\", \"\\\\(\", \"\\\\)\")\n * returns: []\n * matchRecursiveRegExp(\">>t<>\", \"<\", \">\", \"g\")\n * returns: [\"t<>\", \"\"]\n * matchRecursiveRegExp(\"
    test
    \", \"]*>\", \"
    \", \"gi\")\n * returns: [\"test\"]\n */\nshowdown.helper.matchRecursiveRegExp = function (str, left, right, flags) {\n 'use strict';\n\n var matchPos = rgxFindMatchPos (str, left, right, flags),\n results = [];\n\n for (var i = 0; i < matchPos.length; ++i) {\n results.push([\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n ]);\n }\n return results;\n};\n\n/**\n *\n * @param {string} str\n * @param {string|function} replacement\n * @param {string} left\n * @param {string} right\n * @param {string} flags\n * @returns {string}\n */\nshowdown.helper.replaceRecursiveRegExp = function (str, replacement, left, right, flags) {\n 'use strict';\n\n if (!showdown.helper.isFunction(replacement)) {\n var repStr = replacement;\n replacement = function () {\n return repStr;\n };\n }\n\n var matchPos = rgxFindMatchPos(str, left, right, flags),\n finalStr = str,\n lng = matchPos.length;\n\n if (lng > 0) {\n var bits = [];\n if (matchPos[0].wholeMatch.start !== 0) {\n bits.push(str.slice(0, matchPos[0].wholeMatch.start));\n }\n for (var i = 0; i < lng; ++i) {\n bits.push(\n replacement(\n str.slice(matchPos[i].wholeMatch.start, matchPos[i].wholeMatch.end),\n str.slice(matchPos[i].match.start, matchPos[i].match.end),\n str.slice(matchPos[i].left.start, matchPos[i].left.end),\n str.slice(matchPos[i].right.start, matchPos[i].right.end)\n )\n );\n if (i < lng - 1) {\n bits.push(str.slice(matchPos[i].wholeMatch.end, matchPos[i + 1].wholeMatch.start));\n }\n }\n if (matchPos[lng - 1].wholeMatch.end < str.length) {\n bits.push(str.slice(matchPos[lng - 1].wholeMatch.end));\n }\n finalStr = bits.join('');\n }\n return finalStr;\n};\n\n/**\n * Returns the index within the passed String object of the first occurrence of the specified regex,\n * starting the search at fromIndex. Returns -1 if the value is not found.\n *\n * @param {string} str string to search\n * @param {RegExp} regex Regular expression to search\n * @param {int} [fromIndex = 0] Index to start the search\n * @returns {Number}\n * @throws InvalidArgumentError\n */\nshowdown.helper.regexIndexOf = function (str, regex, fromIndex) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n if (regex instanceof RegExp === false) {\n throw 'InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp';\n }\n var indexOf = str.substring(fromIndex || 0).search(regex);\n return (indexOf >= 0) ? (indexOf + (fromIndex || 0)) : indexOf;\n};\n\n/**\n * Splits the passed string object at the defined index, and returns an array composed of the two substrings\n * @param {string} str string to split\n * @param {int} index index to split string at\n * @returns {[string,string]}\n * @throws InvalidArgumentError\n */\nshowdown.helper.splitAtIndex = function (str, index) {\n 'use strict';\n if (!showdown.helper.isString(str)) {\n throw 'InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string';\n }\n return [str.substring(0, index), str.substring(index)];\n};\n\n/**\n * Obfuscate an e-mail address through the use of Character Entities,\n * transforming ASCII characters into their equivalent decimal or hex entities.\n *\n * Since it has a random component, subsequent calls to this function produce different results\n *\n * @param {string} mail\n * @returns {string}\n */\nshowdown.helper.encodeEmailAddress = function (mail) {\n 'use strict';\n var encode = [\n function (ch) {\n return '&#' + ch.charCodeAt(0) + ';';\n },\n function (ch) {\n return '&#x' + ch.charCodeAt(0).toString(16) + ';';\n },\n function (ch) {\n return ch;\n }\n ];\n\n mail = mail.replace(/./g, function (ch) {\n if (ch === '@') {\n // this *must* be encoded. I insist.\n ch = encode[Math.floor(Math.random() * 2)](ch);\n } else {\n var r = Math.random();\n // roughly 10% raw, 45% hex, 45% dec\n ch = (\n r > 0.9 ? encode[2](ch) : r > 0.45 ? encode[1](ch) : encode[0](ch)\n );\n }\n return ch;\n });\n\n return mail;\n};\n\n/**\n *\n * @param str\n * @param targetLength\n * @param padString\n * @returns {string}\n */\nshowdown.helper.padEnd = function padEnd (str, targetLength, padString) {\n 'use strict';\n /*jshint bitwise: false*/\n // eslint-disable-next-line space-infix-ops\n targetLength = targetLength>>0; //floor if number or convert non-number to 0;\n /*jshint bitwise: true*/\n padString = String(padString || ' ');\n if (str.length > targetLength) {\n return String(str);\n } else {\n targetLength = targetLength - str.length;\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length); //append to original to ensure we are longer than needed\n }\n return String(str) + padString.slice(0,targetLength);\n }\n};\n\n/**\n * POLYFILLS\n */\n// use this instead of builtin is undefined for IE8 compatibility\nif (typeof(console) === 'undefined') {\n console = {\n warn: function (msg) {\n 'use strict';\n alert(msg);\n },\n log: function (msg) {\n 'use strict';\n alert(msg);\n },\n error: function (msg) {\n 'use strict';\n throw msg;\n }\n };\n}\n\n/**\n * Common regexes.\n * We declare some common regexes to improve performance\n */\nshowdown.helper.regexes = {\n asteriskDashAndColon: /([*_:~])/g\n};\n\n/**\n * EMOJIS LIST\n */\nshowdown.helper.emojis = {\n '+1':'\\ud83d\\udc4d',\n '-1':'\\ud83d\\udc4e',\n '100':'\\ud83d\\udcaf',\n '1234':'\\ud83d\\udd22',\n '1st_place_medal':'\\ud83e\\udd47',\n '2nd_place_medal':'\\ud83e\\udd48',\n '3rd_place_medal':'\\ud83e\\udd49',\n '8ball':'\\ud83c\\udfb1',\n 'a':'\\ud83c\\udd70\\ufe0f',\n 'ab':'\\ud83c\\udd8e',\n 'abc':'\\ud83d\\udd24',\n 'abcd':'\\ud83d\\udd21',\n 'accept':'\\ud83c\\ude51',\n 'aerial_tramway':'\\ud83d\\udea1',\n 'airplane':'\\u2708\\ufe0f',\n 'alarm_clock':'\\u23f0',\n 'alembic':'\\u2697\\ufe0f',\n 'alien':'\\ud83d\\udc7d',\n 'ambulance':'\\ud83d\\ude91',\n 'amphora':'\\ud83c\\udffa',\n 'anchor':'\\u2693\\ufe0f',\n 'angel':'\\ud83d\\udc7c',\n 'anger':'\\ud83d\\udca2',\n 'angry':'\\ud83d\\ude20',\n 'anguished':'\\ud83d\\ude27',\n 'ant':'\\ud83d\\udc1c',\n 'apple':'\\ud83c\\udf4e',\n 'aquarius':'\\u2652\\ufe0f',\n 'aries':'\\u2648\\ufe0f',\n 'arrow_backward':'\\u25c0\\ufe0f',\n 'arrow_double_down':'\\u23ec',\n 'arrow_double_up':'\\u23eb',\n 'arrow_down':'\\u2b07\\ufe0f',\n 'arrow_down_small':'\\ud83d\\udd3d',\n 'arrow_forward':'\\u25b6\\ufe0f',\n 'arrow_heading_down':'\\u2935\\ufe0f',\n 'arrow_heading_up':'\\u2934\\ufe0f',\n 'arrow_left':'\\u2b05\\ufe0f',\n 'arrow_lower_left':'\\u2199\\ufe0f',\n 'arrow_lower_right':'\\u2198\\ufe0f',\n 'arrow_right':'\\u27a1\\ufe0f',\n 'arrow_right_hook':'\\u21aa\\ufe0f',\n 'arrow_up':'\\u2b06\\ufe0f',\n 'arrow_up_down':'\\u2195\\ufe0f',\n 'arrow_up_small':'\\ud83d\\udd3c',\n 'arrow_upper_left':'\\u2196\\ufe0f',\n 'arrow_upper_right':'\\u2197\\ufe0f',\n 'arrows_clockwise':'\\ud83d\\udd03',\n 'arrows_counterclockwise':'\\ud83d\\udd04',\n 'art':'\\ud83c\\udfa8',\n 'articulated_lorry':'\\ud83d\\ude9b',\n 'artificial_satellite':'\\ud83d\\udef0',\n 'astonished':'\\ud83d\\ude32',\n 'athletic_shoe':'\\ud83d\\udc5f',\n 'atm':'\\ud83c\\udfe7',\n 'atom_symbol':'\\u269b\\ufe0f',\n 'avocado':'\\ud83e\\udd51',\n 'b':'\\ud83c\\udd71\\ufe0f',\n 'baby':'\\ud83d\\udc76',\n 'baby_bottle':'\\ud83c\\udf7c',\n 'baby_chick':'\\ud83d\\udc24',\n 'baby_symbol':'\\ud83d\\udebc',\n 'back':'\\ud83d\\udd19',\n 'bacon':'\\ud83e\\udd53',\n 'badminton':'\\ud83c\\udff8',\n 'baggage_claim':'\\ud83d\\udec4',\n 'baguette_bread':'\\ud83e\\udd56',\n 'balance_scale':'\\u2696\\ufe0f',\n 'balloon':'\\ud83c\\udf88',\n 'ballot_box':'\\ud83d\\uddf3',\n 'ballot_box_with_check':'\\u2611\\ufe0f',\n 'bamboo':'\\ud83c\\udf8d',\n 'banana':'\\ud83c\\udf4c',\n 'bangbang':'\\u203c\\ufe0f',\n 'bank':'\\ud83c\\udfe6',\n 'bar_chart':'\\ud83d\\udcca',\n 'barber':'\\ud83d\\udc88',\n 'baseball':'\\u26be\\ufe0f',\n 'basketball':'\\ud83c\\udfc0',\n 'basketball_man':'\\u26f9\\ufe0f',\n 'basketball_woman':'\\u26f9\\ufe0f‍\\u2640\\ufe0f',\n 'bat':'\\ud83e\\udd87',\n 'bath':'\\ud83d\\udec0',\n 'bathtub':'\\ud83d\\udec1',\n 'battery':'\\ud83d\\udd0b',\n 'beach_umbrella':'\\ud83c\\udfd6',\n 'bear':'\\ud83d\\udc3b',\n 'bed':'\\ud83d\\udecf',\n 'bee':'\\ud83d\\udc1d',\n 'beer':'\\ud83c\\udf7a',\n 'beers':'\\ud83c\\udf7b',\n 'beetle':'\\ud83d\\udc1e',\n 'beginner':'\\ud83d\\udd30',\n 'bell':'\\ud83d\\udd14',\n 'bellhop_bell':'\\ud83d\\udece',\n 'bento':'\\ud83c\\udf71',\n 'biking_man':'\\ud83d\\udeb4',\n 'bike':'\\ud83d\\udeb2',\n 'biking_woman':'\\ud83d\\udeb4‍\\u2640\\ufe0f',\n 'bikini':'\\ud83d\\udc59',\n 'biohazard':'\\u2623\\ufe0f',\n 'bird':'\\ud83d\\udc26',\n 'birthday':'\\ud83c\\udf82',\n 'black_circle':'\\u26ab\\ufe0f',\n 'black_flag':'\\ud83c\\udff4',\n 'black_heart':'\\ud83d\\udda4',\n 'black_joker':'\\ud83c\\udccf',\n 'black_large_square':'\\u2b1b\\ufe0f',\n 'black_medium_small_square':'\\u25fe\\ufe0f',\n 'black_medium_square':'\\u25fc\\ufe0f',\n 'black_nib':'\\u2712\\ufe0f',\n 'black_small_square':'\\u25aa\\ufe0f',\n 'black_square_button':'\\ud83d\\udd32',\n 'blonde_man':'\\ud83d\\udc71',\n 'blonde_woman':'\\ud83d\\udc71‍\\u2640\\ufe0f',\n 'blossom':'\\ud83c\\udf3c',\n 'blowfish':'\\ud83d\\udc21',\n 'blue_book':'\\ud83d\\udcd8',\n 'blue_car':'\\ud83d\\ude99',\n 'blue_heart':'\\ud83d\\udc99',\n 'blush':'\\ud83d\\ude0a',\n 'boar':'\\ud83d\\udc17',\n 'boat':'\\u26f5\\ufe0f',\n 'bomb':'\\ud83d\\udca3',\n 'book':'\\ud83d\\udcd6',\n 'bookmark':'\\ud83d\\udd16',\n 'bookmark_tabs':'\\ud83d\\udcd1',\n 'books':'\\ud83d\\udcda',\n 'boom':'\\ud83d\\udca5',\n 'boot':'\\ud83d\\udc62',\n 'bouquet':'\\ud83d\\udc90',\n 'bowing_man':'\\ud83d\\ude47',\n 'bow_and_arrow':'\\ud83c\\udff9',\n 'bowing_woman':'\\ud83d\\ude47‍\\u2640\\ufe0f',\n 'bowling':'\\ud83c\\udfb3',\n 'boxing_glove':'\\ud83e\\udd4a',\n 'boy':'\\ud83d\\udc66',\n 'bread':'\\ud83c\\udf5e',\n 'bride_with_veil':'\\ud83d\\udc70',\n 'bridge_at_night':'\\ud83c\\udf09',\n 'briefcase':'\\ud83d\\udcbc',\n 'broken_heart':'\\ud83d\\udc94',\n 'bug':'\\ud83d\\udc1b',\n 'building_construction':'\\ud83c\\udfd7',\n 'bulb':'\\ud83d\\udca1',\n 'bullettrain_front':'\\ud83d\\ude85',\n 'bullettrain_side':'\\ud83d\\ude84',\n 'burrito':'\\ud83c\\udf2f',\n 'bus':'\\ud83d\\ude8c',\n 'business_suit_levitating':'\\ud83d\\udd74',\n 'busstop':'\\ud83d\\ude8f',\n 'bust_in_silhouette':'\\ud83d\\udc64',\n 'busts_in_silhouette':'\\ud83d\\udc65',\n 'butterfly':'\\ud83e\\udd8b',\n 'cactus':'\\ud83c\\udf35',\n 'cake':'\\ud83c\\udf70',\n 'calendar':'\\ud83d\\udcc6',\n 'call_me_hand':'\\ud83e\\udd19',\n 'calling':'\\ud83d\\udcf2',\n 'camel':'\\ud83d\\udc2b',\n 'camera':'\\ud83d\\udcf7',\n 'camera_flash':'\\ud83d\\udcf8',\n 'camping':'\\ud83c\\udfd5',\n 'cancer':'\\u264b\\ufe0f',\n 'candle':'\\ud83d\\udd6f',\n 'candy':'\\ud83c\\udf6c',\n 'canoe':'\\ud83d\\udef6',\n 'capital_abcd':'\\ud83d\\udd20',\n 'capricorn':'\\u2651\\ufe0f',\n 'car':'\\ud83d\\ude97',\n 'card_file_box':'\\ud83d\\uddc3',\n 'card_index':'\\ud83d\\udcc7',\n 'card_index_dividers':'\\ud83d\\uddc2',\n 'carousel_horse':'\\ud83c\\udfa0',\n 'carrot':'\\ud83e\\udd55',\n 'cat':'\\ud83d\\udc31',\n 'cat2':'\\ud83d\\udc08',\n 'cd':'\\ud83d\\udcbf',\n 'chains':'\\u26d3',\n 'champagne':'\\ud83c\\udf7e',\n 'chart':'\\ud83d\\udcb9',\n 'chart_with_downwards_trend':'\\ud83d\\udcc9',\n 'chart_with_upwards_trend':'\\ud83d\\udcc8',\n 'checkered_flag':'\\ud83c\\udfc1',\n 'cheese':'\\ud83e\\uddc0',\n 'cherries':'\\ud83c\\udf52',\n 'cherry_blossom':'\\ud83c\\udf38',\n 'chestnut':'\\ud83c\\udf30',\n 'chicken':'\\ud83d\\udc14',\n 'children_crossing':'\\ud83d\\udeb8',\n 'chipmunk':'\\ud83d\\udc3f',\n 'chocolate_bar':'\\ud83c\\udf6b',\n 'christmas_tree':'\\ud83c\\udf84',\n 'church':'\\u26ea\\ufe0f',\n 'cinema':'\\ud83c\\udfa6',\n 'circus_tent':'\\ud83c\\udfaa',\n 'city_sunrise':'\\ud83c\\udf07',\n 'city_sunset':'\\ud83c\\udf06',\n 'cityscape':'\\ud83c\\udfd9',\n 'cl':'\\ud83c\\udd91',\n 'clamp':'\\ud83d\\udddc',\n 'clap':'\\ud83d\\udc4f',\n 'clapper':'\\ud83c\\udfac',\n 'classical_building':'\\ud83c\\udfdb',\n 'clinking_glasses':'\\ud83e\\udd42',\n 'clipboard':'\\ud83d\\udccb',\n 'clock1':'\\ud83d\\udd50',\n 'clock10':'\\ud83d\\udd59',\n 'clock1030':'\\ud83d\\udd65',\n 'clock11':'\\ud83d\\udd5a',\n 'clock1130':'\\ud83d\\udd66',\n 'clock12':'\\ud83d\\udd5b',\n 'clock1230':'\\ud83d\\udd67',\n 'clock130':'\\ud83d\\udd5c',\n 'clock2':'\\ud83d\\udd51',\n 'clock230':'\\ud83d\\udd5d',\n 'clock3':'\\ud83d\\udd52',\n 'clock330':'\\ud83d\\udd5e',\n 'clock4':'\\ud83d\\udd53',\n 'clock430':'\\ud83d\\udd5f',\n 'clock5':'\\ud83d\\udd54',\n 'clock530':'\\ud83d\\udd60',\n 'clock6':'\\ud83d\\udd55',\n 'clock630':'\\ud83d\\udd61',\n 'clock7':'\\ud83d\\udd56',\n 'clock730':'\\ud83d\\udd62',\n 'clock8':'\\ud83d\\udd57',\n 'clock830':'\\ud83d\\udd63',\n 'clock9':'\\ud83d\\udd58',\n 'clock930':'\\ud83d\\udd64',\n 'closed_book':'\\ud83d\\udcd5',\n 'closed_lock_with_key':'\\ud83d\\udd10',\n 'closed_umbrella':'\\ud83c\\udf02',\n 'cloud':'\\u2601\\ufe0f',\n 'cloud_with_lightning':'\\ud83c\\udf29',\n 'cloud_with_lightning_and_rain':'\\u26c8',\n 'cloud_with_rain':'\\ud83c\\udf27',\n 'cloud_with_snow':'\\ud83c\\udf28',\n 'clown_face':'\\ud83e\\udd21',\n 'clubs':'\\u2663\\ufe0f',\n 'cocktail':'\\ud83c\\udf78',\n 'coffee':'\\u2615\\ufe0f',\n 'coffin':'\\u26b0\\ufe0f',\n 'cold_sweat':'\\ud83d\\ude30',\n 'comet':'\\u2604\\ufe0f',\n 'computer':'\\ud83d\\udcbb',\n 'computer_mouse':'\\ud83d\\uddb1',\n 'confetti_ball':'\\ud83c\\udf8a',\n 'confounded':'\\ud83d\\ude16',\n 'confused':'\\ud83d\\ude15',\n 'congratulations':'\\u3297\\ufe0f',\n 'construction':'\\ud83d\\udea7',\n 'construction_worker_man':'\\ud83d\\udc77',\n 'construction_worker_woman':'\\ud83d\\udc77‍\\u2640\\ufe0f',\n 'control_knobs':'\\ud83c\\udf9b',\n 'convenience_store':'\\ud83c\\udfea',\n 'cookie':'\\ud83c\\udf6a',\n 'cool':'\\ud83c\\udd92',\n 'policeman':'\\ud83d\\udc6e',\n 'copyright':'\\u00a9\\ufe0f',\n 'corn':'\\ud83c\\udf3d',\n 'couch_and_lamp':'\\ud83d\\udecb',\n 'couple':'\\ud83d\\udc6b',\n 'couple_with_heart_woman_man':'\\ud83d\\udc91',\n 'couple_with_heart_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc68',\n 'couple_with_heart_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc69',\n 'couplekiss_man_man':'\\ud83d\\udc68‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc68',\n 'couplekiss_man_woman':'\\ud83d\\udc8f',\n 'couplekiss_woman_woman':'\\ud83d\\udc69‍\\u2764\\ufe0f‍\\ud83d\\udc8b‍\\ud83d\\udc69',\n 'cow':'\\ud83d\\udc2e',\n 'cow2':'\\ud83d\\udc04',\n 'cowboy_hat_face':'\\ud83e\\udd20',\n 'crab':'\\ud83e\\udd80',\n 'crayon':'\\ud83d\\udd8d',\n 'credit_card':'\\ud83d\\udcb3',\n 'crescent_moon':'\\ud83c\\udf19',\n 'cricket':'\\ud83c\\udfcf',\n 'crocodile':'\\ud83d\\udc0a',\n 'croissant':'\\ud83e\\udd50',\n 'crossed_fingers':'\\ud83e\\udd1e',\n 'crossed_flags':'\\ud83c\\udf8c',\n 'crossed_swords':'\\u2694\\ufe0f',\n 'crown':'\\ud83d\\udc51',\n 'cry':'\\ud83d\\ude22',\n 'crying_cat_face':'\\ud83d\\ude3f',\n 'crystal_ball':'\\ud83d\\udd2e',\n 'cucumber':'\\ud83e\\udd52',\n 'cupid':'\\ud83d\\udc98',\n 'curly_loop':'\\u27b0',\n 'currency_exchange':'\\ud83d\\udcb1',\n 'curry':'\\ud83c\\udf5b',\n 'custard':'\\ud83c\\udf6e',\n 'customs':'\\ud83d\\udec3',\n 'cyclone':'\\ud83c\\udf00',\n 'dagger':'\\ud83d\\udde1',\n 'dancer':'\\ud83d\\udc83',\n 'dancing_women':'\\ud83d\\udc6f',\n 'dancing_men':'\\ud83d\\udc6f‍\\u2642\\ufe0f',\n 'dango':'\\ud83c\\udf61',\n 'dark_sunglasses':'\\ud83d\\udd76',\n 'dart':'\\ud83c\\udfaf',\n 'dash':'\\ud83d\\udca8',\n 'date':'\\ud83d\\udcc5',\n 'deciduous_tree':'\\ud83c\\udf33',\n 'deer':'\\ud83e\\udd8c',\n 'department_store':'\\ud83c\\udfec',\n 'derelict_house':'\\ud83c\\udfda',\n 'desert':'\\ud83c\\udfdc',\n 'desert_island':'\\ud83c\\udfdd',\n 'desktop_computer':'\\ud83d\\udda5',\n 'male_detective':'\\ud83d\\udd75\\ufe0f',\n 'diamond_shape_with_a_dot_inside':'\\ud83d\\udca0',\n 'diamonds':'\\u2666\\ufe0f',\n 'disappointed':'\\ud83d\\ude1e',\n 'disappointed_relieved':'\\ud83d\\ude25',\n 'dizzy':'\\ud83d\\udcab',\n 'dizzy_face':'\\ud83d\\ude35',\n 'do_not_litter':'\\ud83d\\udeaf',\n 'dog':'\\ud83d\\udc36',\n 'dog2':'\\ud83d\\udc15',\n 'dollar':'\\ud83d\\udcb5',\n 'dolls':'\\ud83c\\udf8e',\n 'dolphin':'\\ud83d\\udc2c',\n 'door':'\\ud83d\\udeaa',\n 'doughnut':'\\ud83c\\udf69',\n 'dove':'\\ud83d\\udd4a',\n 'dragon':'\\ud83d\\udc09',\n 'dragon_face':'\\ud83d\\udc32',\n 'dress':'\\ud83d\\udc57',\n 'dromedary_camel':'\\ud83d\\udc2a',\n 'drooling_face':'\\ud83e\\udd24',\n 'droplet':'\\ud83d\\udca7',\n 'drum':'\\ud83e\\udd41',\n 'duck':'\\ud83e\\udd86',\n 'dvd':'\\ud83d\\udcc0',\n 'e-mail':'\\ud83d\\udce7',\n 'eagle':'\\ud83e\\udd85',\n 'ear':'\\ud83d\\udc42',\n 'ear_of_rice':'\\ud83c\\udf3e',\n 'earth_africa':'\\ud83c\\udf0d',\n 'earth_americas':'\\ud83c\\udf0e',\n 'earth_asia':'\\ud83c\\udf0f',\n 'egg':'\\ud83e\\udd5a',\n 'eggplant':'\\ud83c\\udf46',\n 'eight_pointed_black_star':'\\u2734\\ufe0f',\n 'eight_spoked_asterisk':'\\u2733\\ufe0f',\n 'electric_plug':'\\ud83d\\udd0c',\n 'elephant':'\\ud83d\\udc18',\n 'email':'\\u2709\\ufe0f',\n 'end':'\\ud83d\\udd1a',\n 'envelope_with_arrow':'\\ud83d\\udce9',\n 'euro':'\\ud83d\\udcb6',\n 'european_castle':'\\ud83c\\udff0',\n 'european_post_office':'\\ud83c\\udfe4',\n 'evergreen_tree':'\\ud83c\\udf32',\n 'exclamation':'\\u2757\\ufe0f',\n 'expressionless':'\\ud83d\\ude11',\n 'eye':'\\ud83d\\udc41',\n 'eye_speech_bubble':'\\ud83d\\udc41‍\\ud83d\\udde8',\n 'eyeglasses':'\\ud83d\\udc53',\n 'eyes':'\\ud83d\\udc40',\n 'face_with_head_bandage':'\\ud83e\\udd15',\n 'face_with_thermometer':'\\ud83e\\udd12',\n 'fist_oncoming':'\\ud83d\\udc4a',\n 'factory':'\\ud83c\\udfed',\n 'fallen_leaf':'\\ud83c\\udf42',\n 'family_man_woman_boy':'\\ud83d\\udc6a',\n 'family_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_man_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66',\n 'family_man_man_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_man_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67',\n 'family_man_man_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_man_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc68‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_man_woman_boy_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_man_woman_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_man_woman_girl_boy':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_man_woman_girl_girl':'\\ud83d\\udc68‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'family_woman_woman_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66',\n 'family_woman_woman_boy_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc66‍\\ud83d\\udc66',\n 'family_woman_woman_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67',\n 'family_woman_woman_girl_boy':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc66',\n 'family_woman_woman_girl_girl':'\\ud83d\\udc69‍\\ud83d\\udc69‍\\ud83d\\udc67‍\\ud83d\\udc67',\n 'fast_forward':'\\u23e9',\n 'fax':'\\ud83d\\udce0',\n 'fearful':'\\ud83d\\ude28',\n 'feet':'\\ud83d\\udc3e',\n 'female_detective':'\\ud83d\\udd75\\ufe0f‍\\u2640\\ufe0f',\n 'ferris_wheel':'\\ud83c\\udfa1',\n 'ferry':'\\u26f4',\n 'field_hockey':'\\ud83c\\udfd1',\n 'file_cabinet':'\\ud83d\\uddc4',\n 'file_folder':'\\ud83d\\udcc1',\n 'film_projector':'\\ud83d\\udcfd',\n 'film_strip':'\\ud83c\\udf9e',\n 'fire':'\\ud83d\\udd25',\n 'fire_engine':'\\ud83d\\ude92',\n 'fireworks':'\\ud83c\\udf86',\n 'first_quarter_moon':'\\ud83c\\udf13',\n 'first_quarter_moon_with_face':'\\ud83c\\udf1b',\n 'fish':'\\ud83d\\udc1f',\n 'fish_cake':'\\ud83c\\udf65',\n 'fishing_pole_and_fish':'\\ud83c\\udfa3',\n 'fist_raised':'\\u270a',\n 'fist_left':'\\ud83e\\udd1b',\n 'fist_right':'\\ud83e\\udd1c',\n 'flags':'\\ud83c\\udf8f',\n 'flashlight':'\\ud83d\\udd26',\n 'fleur_de_lis':'\\u269c\\ufe0f',\n 'flight_arrival':'\\ud83d\\udeec',\n 'flight_departure':'\\ud83d\\udeeb',\n 'floppy_disk':'\\ud83d\\udcbe',\n 'flower_playing_cards':'\\ud83c\\udfb4',\n 'flushed':'\\ud83d\\ude33',\n 'fog':'\\ud83c\\udf2b',\n 'foggy':'\\ud83c\\udf01',\n 'football':'\\ud83c\\udfc8',\n 'footprints':'\\ud83d\\udc63',\n 'fork_and_knife':'\\ud83c\\udf74',\n 'fountain':'\\u26f2\\ufe0f',\n 'fountain_pen':'\\ud83d\\udd8b',\n 'four_leaf_clover':'\\ud83c\\udf40',\n 'fox_face':'\\ud83e\\udd8a',\n 'framed_picture':'\\ud83d\\uddbc',\n 'free':'\\ud83c\\udd93',\n 'fried_egg':'\\ud83c\\udf73',\n 'fried_shrimp':'\\ud83c\\udf64',\n 'fries':'\\ud83c\\udf5f',\n 'frog':'\\ud83d\\udc38',\n 'frowning':'\\ud83d\\ude26',\n 'frowning_face':'\\u2639\\ufe0f',\n 'frowning_man':'\\ud83d\\ude4d‍\\u2642\\ufe0f',\n 'frowning_woman':'\\ud83d\\ude4d',\n 'middle_finger':'\\ud83d\\udd95',\n 'fuelpump':'\\u26fd\\ufe0f',\n 'full_moon':'\\ud83c\\udf15',\n 'full_moon_with_face':'\\ud83c\\udf1d',\n 'funeral_urn':'\\u26b1\\ufe0f',\n 'game_die':'\\ud83c\\udfb2',\n 'gear':'\\u2699\\ufe0f',\n 'gem':'\\ud83d\\udc8e',\n 'gemini':'\\u264a\\ufe0f',\n 'ghost':'\\ud83d\\udc7b',\n 'gift':'\\ud83c\\udf81',\n 'gift_heart':'\\ud83d\\udc9d',\n 'girl':'\\ud83d\\udc67',\n 'globe_with_meridians':'\\ud83c\\udf10',\n 'goal_net':'\\ud83e\\udd45',\n 'goat':'\\ud83d\\udc10',\n 'golf':'\\u26f3\\ufe0f',\n 'golfing_man':'\\ud83c\\udfcc\\ufe0f',\n 'golfing_woman':'\\ud83c\\udfcc\\ufe0f‍\\u2640\\ufe0f',\n 'gorilla':'\\ud83e\\udd8d',\n 'grapes':'\\ud83c\\udf47',\n 'green_apple':'\\ud83c\\udf4f',\n 'green_book':'\\ud83d\\udcd7',\n 'green_heart':'\\ud83d\\udc9a',\n 'green_salad':'\\ud83e\\udd57',\n 'grey_exclamation':'\\u2755',\n 'grey_question':'\\u2754',\n 'grimacing':'\\ud83d\\ude2c',\n 'grin':'\\ud83d\\ude01',\n 'grinning':'\\ud83d\\ude00',\n 'guardsman':'\\ud83d\\udc82',\n 'guardswoman':'\\ud83d\\udc82‍\\u2640\\ufe0f',\n 'guitar':'\\ud83c\\udfb8',\n 'gun':'\\ud83d\\udd2b',\n 'haircut_woman':'\\ud83d\\udc87',\n 'haircut_man':'\\ud83d\\udc87‍\\u2642\\ufe0f',\n 'hamburger':'\\ud83c\\udf54',\n 'hammer':'\\ud83d\\udd28',\n 'hammer_and_pick':'\\u2692',\n 'hammer_and_wrench':'\\ud83d\\udee0',\n 'hamster':'\\ud83d\\udc39',\n 'hand':'\\u270b',\n 'handbag':'\\ud83d\\udc5c',\n 'handshake':'\\ud83e\\udd1d',\n 'hankey':'\\ud83d\\udca9',\n 'hatched_chick':'\\ud83d\\udc25',\n 'hatching_chick':'\\ud83d\\udc23',\n 'headphones':'\\ud83c\\udfa7',\n 'hear_no_evil':'\\ud83d\\ude49',\n 'heart':'\\u2764\\ufe0f',\n 'heart_decoration':'\\ud83d\\udc9f',\n 'heart_eyes':'\\ud83d\\ude0d',\n 'heart_eyes_cat':'\\ud83d\\ude3b',\n 'heartbeat':'\\ud83d\\udc93',\n 'heartpulse':'\\ud83d\\udc97',\n 'hearts':'\\u2665\\ufe0f',\n 'heavy_check_mark':'\\u2714\\ufe0f',\n 'heavy_division_sign':'\\u2797',\n 'heavy_dollar_sign':'\\ud83d\\udcb2',\n 'heavy_heart_exclamation':'\\u2763\\ufe0f',\n 'heavy_minus_sign':'\\u2796',\n 'heavy_multiplication_x':'\\u2716\\ufe0f',\n 'heavy_plus_sign':'\\u2795',\n 'helicopter':'\\ud83d\\ude81',\n 'herb':'\\ud83c\\udf3f',\n 'hibiscus':'\\ud83c\\udf3a',\n 'high_brightness':'\\ud83d\\udd06',\n 'high_heel':'\\ud83d\\udc60',\n 'hocho':'\\ud83d\\udd2a',\n 'hole':'\\ud83d\\udd73',\n 'honey_pot':'\\ud83c\\udf6f',\n 'horse':'\\ud83d\\udc34',\n 'horse_racing':'\\ud83c\\udfc7',\n 'hospital':'\\ud83c\\udfe5',\n 'hot_pepper':'\\ud83c\\udf36',\n 'hotdog':'\\ud83c\\udf2d',\n 'hotel':'\\ud83c\\udfe8',\n 'hotsprings':'\\u2668\\ufe0f',\n 'hourglass':'\\u231b\\ufe0f',\n 'hourglass_flowing_sand':'\\u23f3',\n 'house':'\\ud83c\\udfe0',\n 'house_with_garden':'\\ud83c\\udfe1',\n 'houses':'\\ud83c\\udfd8',\n 'hugs':'\\ud83e\\udd17',\n 'hushed':'\\ud83d\\ude2f',\n 'ice_cream':'\\ud83c\\udf68',\n 'ice_hockey':'\\ud83c\\udfd2',\n 'ice_skate':'\\u26f8',\n 'icecream':'\\ud83c\\udf66',\n 'id':'\\ud83c\\udd94',\n 'ideograph_advantage':'\\ud83c\\ude50',\n 'imp':'\\ud83d\\udc7f',\n 'inbox_tray':'\\ud83d\\udce5',\n 'incoming_envelope':'\\ud83d\\udce8',\n 'tipping_hand_woman':'\\ud83d\\udc81',\n 'information_source':'\\u2139\\ufe0f',\n 'innocent':'\\ud83d\\ude07',\n 'interrobang':'\\u2049\\ufe0f',\n 'iphone':'\\ud83d\\udcf1',\n 'izakaya_lantern':'\\ud83c\\udfee',\n 'jack_o_lantern':'\\ud83c\\udf83',\n 'japan':'\\ud83d\\uddfe',\n 'japanese_castle':'\\ud83c\\udfef',\n 'japanese_goblin':'\\ud83d\\udc7a',\n 'japanese_ogre':'\\ud83d\\udc79',\n 'jeans':'\\ud83d\\udc56',\n 'joy':'\\ud83d\\ude02',\n 'joy_cat':'\\ud83d\\ude39',\n 'joystick':'\\ud83d\\udd79',\n 'kaaba':'\\ud83d\\udd4b',\n 'key':'\\ud83d\\udd11',\n 'keyboard':'\\u2328\\ufe0f',\n 'keycap_ten':'\\ud83d\\udd1f',\n 'kick_scooter':'\\ud83d\\udef4',\n 'kimono':'\\ud83d\\udc58',\n 'kiss':'\\ud83d\\udc8b',\n 'kissing':'\\ud83d\\ude17',\n 'kissing_cat':'\\ud83d\\ude3d',\n 'kissing_closed_eyes':'\\ud83d\\ude1a',\n 'kissing_heart':'\\ud83d\\ude18',\n 'kissing_smiling_eyes':'\\ud83d\\ude19',\n 'kiwi_fruit':'\\ud83e\\udd5d',\n 'koala':'\\ud83d\\udc28',\n 'koko':'\\ud83c\\ude01',\n 'label':'\\ud83c\\udff7',\n 'large_blue_circle':'\\ud83d\\udd35',\n 'large_blue_diamond':'\\ud83d\\udd37',\n 'large_orange_diamond':'\\ud83d\\udd36',\n 'last_quarter_moon':'\\ud83c\\udf17',\n 'last_quarter_moon_with_face':'\\ud83c\\udf1c',\n 'latin_cross':'\\u271d\\ufe0f',\n 'laughing':'\\ud83d\\ude06',\n 'leaves':'\\ud83c\\udf43',\n 'ledger':'\\ud83d\\udcd2',\n 'left_luggage':'\\ud83d\\udec5',\n 'left_right_arrow':'\\u2194\\ufe0f',\n 'leftwards_arrow_with_hook':'\\u21a9\\ufe0f',\n 'lemon':'\\ud83c\\udf4b',\n 'leo':'\\u264c\\ufe0f',\n 'leopard':'\\ud83d\\udc06',\n 'level_slider':'\\ud83c\\udf9a',\n 'libra':'\\u264e\\ufe0f',\n 'light_rail':'\\ud83d\\ude88',\n 'link':'\\ud83d\\udd17',\n 'lion':'\\ud83e\\udd81',\n 'lips':'\\ud83d\\udc44',\n 'lipstick':'\\ud83d\\udc84',\n 'lizard':'\\ud83e\\udd8e',\n 'lock':'\\ud83d\\udd12',\n 'lock_with_ink_pen':'\\ud83d\\udd0f',\n 'lollipop':'\\ud83c\\udf6d',\n 'loop':'\\u27bf',\n 'loud_sound':'\\ud83d\\udd0a',\n 'loudspeaker':'\\ud83d\\udce2',\n 'love_hotel':'\\ud83c\\udfe9',\n 'love_letter':'\\ud83d\\udc8c',\n 'low_brightness':'\\ud83d\\udd05',\n 'lying_face':'\\ud83e\\udd25',\n 'm':'\\u24c2\\ufe0f',\n 'mag':'\\ud83d\\udd0d',\n 'mag_right':'\\ud83d\\udd0e',\n 'mahjong':'\\ud83c\\udc04\\ufe0f',\n 'mailbox':'\\ud83d\\udceb',\n 'mailbox_closed':'\\ud83d\\udcea',\n 'mailbox_with_mail':'\\ud83d\\udcec',\n 'mailbox_with_no_mail':'\\ud83d\\udced',\n 'man':'\\ud83d\\udc68',\n 'man_artist':'\\ud83d\\udc68‍\\ud83c\\udfa8',\n 'man_astronaut':'\\ud83d\\udc68‍\\ud83d\\ude80',\n 'man_cartwheeling':'\\ud83e\\udd38‍\\u2642\\ufe0f',\n 'man_cook':'\\ud83d\\udc68‍\\ud83c\\udf73',\n 'man_dancing':'\\ud83d\\udd7a',\n 'man_facepalming':'\\ud83e\\udd26‍\\u2642\\ufe0f',\n 'man_factory_worker':'\\ud83d\\udc68‍\\ud83c\\udfed',\n 'man_farmer':'\\ud83d\\udc68‍\\ud83c\\udf3e',\n 'man_firefighter':'\\ud83d\\udc68‍\\ud83d\\ude92',\n 'man_health_worker':'\\ud83d\\udc68‍\\u2695\\ufe0f',\n 'man_in_tuxedo':'\\ud83e\\udd35',\n 'man_judge':'\\ud83d\\udc68‍\\u2696\\ufe0f',\n 'man_juggling':'\\ud83e\\udd39‍\\u2642\\ufe0f',\n 'man_mechanic':'\\ud83d\\udc68‍\\ud83d\\udd27',\n 'man_office_worker':'\\ud83d\\udc68‍\\ud83d\\udcbc',\n 'man_pilot':'\\ud83d\\udc68‍\\u2708\\ufe0f',\n 'man_playing_handball':'\\ud83e\\udd3e‍\\u2642\\ufe0f',\n 'man_playing_water_polo':'\\ud83e\\udd3d‍\\u2642\\ufe0f',\n 'man_scientist':'\\ud83d\\udc68‍\\ud83d\\udd2c',\n 'man_shrugging':'\\ud83e\\udd37‍\\u2642\\ufe0f',\n 'man_singer':'\\ud83d\\udc68‍\\ud83c\\udfa4',\n 'man_student':'\\ud83d\\udc68‍\\ud83c\\udf93',\n 'man_teacher':'\\ud83d\\udc68‍\\ud83c\\udfeb',\n 'man_technologist':'\\ud83d\\udc68‍\\ud83d\\udcbb',\n 'man_with_gua_pi_mao':'\\ud83d\\udc72',\n 'man_with_turban':'\\ud83d\\udc73',\n 'tangerine':'\\ud83c\\udf4a',\n 'mans_shoe':'\\ud83d\\udc5e',\n 'mantelpiece_clock':'\\ud83d\\udd70',\n 'maple_leaf':'\\ud83c\\udf41',\n 'martial_arts_uniform':'\\ud83e\\udd4b',\n 'mask':'\\ud83d\\ude37',\n 'massage_woman':'\\ud83d\\udc86',\n 'massage_man':'\\ud83d\\udc86‍\\u2642\\ufe0f',\n 'meat_on_bone':'\\ud83c\\udf56',\n 'medal_military':'\\ud83c\\udf96',\n 'medal_sports':'\\ud83c\\udfc5',\n 'mega':'\\ud83d\\udce3',\n 'melon':'\\ud83c\\udf48',\n 'memo':'\\ud83d\\udcdd',\n 'men_wrestling':'\\ud83e\\udd3c‍\\u2642\\ufe0f',\n 'menorah':'\\ud83d\\udd4e',\n 'mens':'\\ud83d\\udeb9',\n 'metal':'\\ud83e\\udd18',\n 'metro':'\\ud83d\\ude87',\n 'microphone':'\\ud83c\\udfa4',\n 'microscope':'\\ud83d\\udd2c',\n 'milk_glass':'\\ud83e\\udd5b',\n 'milky_way':'\\ud83c\\udf0c',\n 'minibus':'\\ud83d\\ude90',\n 'minidisc':'\\ud83d\\udcbd',\n 'mobile_phone_off':'\\ud83d\\udcf4',\n 'money_mouth_face':'\\ud83e\\udd11',\n 'money_with_wings':'\\ud83d\\udcb8',\n 'moneybag':'\\ud83d\\udcb0',\n 'monkey':'\\ud83d\\udc12',\n 'monkey_face':'\\ud83d\\udc35',\n 'monorail':'\\ud83d\\ude9d',\n 'moon':'\\ud83c\\udf14',\n 'mortar_board':'\\ud83c\\udf93',\n 'mosque':'\\ud83d\\udd4c',\n 'motor_boat':'\\ud83d\\udee5',\n 'motor_scooter':'\\ud83d\\udef5',\n 'motorcycle':'\\ud83c\\udfcd',\n 'motorway':'\\ud83d\\udee3',\n 'mount_fuji':'\\ud83d\\uddfb',\n 'mountain':'\\u26f0',\n 'mountain_biking_man':'\\ud83d\\udeb5',\n 'mountain_biking_woman':'\\ud83d\\udeb5‍\\u2640\\ufe0f',\n 'mountain_cableway':'\\ud83d\\udea0',\n 'mountain_railway':'\\ud83d\\ude9e',\n 'mountain_snow':'\\ud83c\\udfd4',\n 'mouse':'\\ud83d\\udc2d',\n 'mouse2':'\\ud83d\\udc01',\n 'movie_camera':'\\ud83c\\udfa5',\n 'moyai':'\\ud83d\\uddff',\n 'mrs_claus':'\\ud83e\\udd36',\n 'muscle':'\\ud83d\\udcaa',\n 'mushroom':'\\ud83c\\udf44',\n 'musical_keyboard':'\\ud83c\\udfb9',\n 'musical_note':'\\ud83c\\udfb5',\n 'musical_score':'\\ud83c\\udfbc',\n 'mute':'\\ud83d\\udd07',\n 'nail_care':'\\ud83d\\udc85',\n 'name_badge':'\\ud83d\\udcdb',\n 'national_park':'\\ud83c\\udfde',\n 'nauseated_face':'\\ud83e\\udd22',\n 'necktie':'\\ud83d\\udc54',\n 'negative_squared_cross_mark':'\\u274e',\n 'nerd_face':'\\ud83e\\udd13',\n 'neutral_face':'\\ud83d\\ude10',\n 'new':'\\ud83c\\udd95',\n 'new_moon':'\\ud83c\\udf11',\n 'new_moon_with_face':'\\ud83c\\udf1a',\n 'newspaper':'\\ud83d\\udcf0',\n 'newspaper_roll':'\\ud83d\\uddde',\n 'next_track_button':'\\u23ed',\n 'ng':'\\ud83c\\udd96',\n 'no_good_man':'\\ud83d\\ude45‍\\u2642\\ufe0f',\n 'no_good_woman':'\\ud83d\\ude45',\n 'night_with_stars':'\\ud83c\\udf03',\n 'no_bell':'\\ud83d\\udd15',\n 'no_bicycles':'\\ud83d\\udeb3',\n 'no_entry':'\\u26d4\\ufe0f',\n 'no_entry_sign':'\\ud83d\\udeab',\n 'no_mobile_phones':'\\ud83d\\udcf5',\n 'no_mouth':'\\ud83d\\ude36',\n 'no_pedestrians':'\\ud83d\\udeb7',\n 'no_smoking':'\\ud83d\\udead',\n 'non-potable_water':'\\ud83d\\udeb1',\n 'nose':'\\ud83d\\udc43',\n 'notebook':'\\ud83d\\udcd3',\n 'notebook_with_decorative_cover':'\\ud83d\\udcd4',\n 'notes':'\\ud83c\\udfb6',\n 'nut_and_bolt':'\\ud83d\\udd29',\n 'o':'\\u2b55\\ufe0f',\n 'o2':'\\ud83c\\udd7e\\ufe0f',\n 'ocean':'\\ud83c\\udf0a',\n 'octopus':'\\ud83d\\udc19',\n 'oden':'\\ud83c\\udf62',\n 'office':'\\ud83c\\udfe2',\n 'oil_drum':'\\ud83d\\udee2',\n 'ok':'\\ud83c\\udd97',\n 'ok_hand':'\\ud83d\\udc4c',\n 'ok_man':'\\ud83d\\ude46‍\\u2642\\ufe0f',\n 'ok_woman':'\\ud83d\\ude46',\n 'old_key':'\\ud83d\\udddd',\n 'older_man':'\\ud83d\\udc74',\n 'older_woman':'\\ud83d\\udc75',\n 'om':'\\ud83d\\udd49',\n 'on':'\\ud83d\\udd1b',\n 'oncoming_automobile':'\\ud83d\\ude98',\n 'oncoming_bus':'\\ud83d\\ude8d',\n 'oncoming_police_car':'\\ud83d\\ude94',\n 'oncoming_taxi':'\\ud83d\\ude96',\n 'open_file_folder':'\\ud83d\\udcc2',\n 'open_hands':'\\ud83d\\udc50',\n 'open_mouth':'\\ud83d\\ude2e',\n 'open_umbrella':'\\u2602\\ufe0f',\n 'ophiuchus':'\\u26ce',\n 'orange_book':'\\ud83d\\udcd9',\n 'orthodox_cross':'\\u2626\\ufe0f',\n 'outbox_tray':'\\ud83d\\udce4',\n 'owl':'\\ud83e\\udd89',\n 'ox':'\\ud83d\\udc02',\n 'package':'\\ud83d\\udce6',\n 'page_facing_up':'\\ud83d\\udcc4',\n 'page_with_curl':'\\ud83d\\udcc3',\n 'pager':'\\ud83d\\udcdf',\n 'paintbrush':'\\ud83d\\udd8c',\n 'palm_tree':'\\ud83c\\udf34',\n 'pancakes':'\\ud83e\\udd5e',\n 'panda_face':'\\ud83d\\udc3c',\n 'paperclip':'\\ud83d\\udcce',\n 'paperclips':'\\ud83d\\udd87',\n 'parasol_on_ground':'\\u26f1',\n 'parking':'\\ud83c\\udd7f\\ufe0f',\n 'part_alternation_mark':'\\u303d\\ufe0f',\n 'partly_sunny':'\\u26c5\\ufe0f',\n 'passenger_ship':'\\ud83d\\udef3',\n 'passport_control':'\\ud83d\\udec2',\n 'pause_button':'\\u23f8',\n 'peace_symbol':'\\u262e\\ufe0f',\n 'peach':'\\ud83c\\udf51',\n 'peanuts':'\\ud83e\\udd5c',\n 'pear':'\\ud83c\\udf50',\n 'pen':'\\ud83d\\udd8a',\n 'pencil2':'\\u270f\\ufe0f',\n 'penguin':'\\ud83d\\udc27',\n 'pensive':'\\ud83d\\ude14',\n 'performing_arts':'\\ud83c\\udfad',\n 'persevere':'\\ud83d\\ude23',\n 'person_fencing':'\\ud83e\\udd3a',\n 'pouting_woman':'\\ud83d\\ude4e',\n 'phone':'\\u260e\\ufe0f',\n 'pick':'\\u26cf',\n 'pig':'\\ud83d\\udc37',\n 'pig2':'\\ud83d\\udc16',\n 'pig_nose':'\\ud83d\\udc3d',\n 'pill':'\\ud83d\\udc8a',\n 'pineapple':'\\ud83c\\udf4d',\n 'ping_pong':'\\ud83c\\udfd3',\n 'pisces':'\\u2653\\ufe0f',\n 'pizza':'\\ud83c\\udf55',\n 'place_of_worship':'\\ud83d\\uded0',\n 'plate_with_cutlery':'\\ud83c\\udf7d',\n 'play_or_pause_button':'\\u23ef',\n 'point_down':'\\ud83d\\udc47',\n 'point_left':'\\ud83d\\udc48',\n 'point_right':'\\ud83d\\udc49',\n 'point_up':'\\u261d\\ufe0f',\n 'point_up_2':'\\ud83d\\udc46',\n 'police_car':'\\ud83d\\ude93',\n 'policewoman':'\\ud83d\\udc6e‍\\u2640\\ufe0f',\n 'poodle':'\\ud83d\\udc29',\n 'popcorn':'\\ud83c\\udf7f',\n 'post_office':'\\ud83c\\udfe3',\n 'postal_horn':'\\ud83d\\udcef',\n 'postbox':'\\ud83d\\udcee',\n 'potable_water':'\\ud83d\\udeb0',\n 'potato':'\\ud83e\\udd54',\n 'pouch':'\\ud83d\\udc5d',\n 'poultry_leg':'\\ud83c\\udf57',\n 'pound':'\\ud83d\\udcb7',\n 'rage':'\\ud83d\\ude21',\n 'pouting_cat':'\\ud83d\\ude3e',\n 'pouting_man':'\\ud83d\\ude4e‍\\u2642\\ufe0f',\n 'pray':'\\ud83d\\ude4f',\n 'prayer_beads':'\\ud83d\\udcff',\n 'pregnant_woman':'\\ud83e\\udd30',\n 'previous_track_button':'\\u23ee',\n 'prince':'\\ud83e\\udd34',\n 'princess':'\\ud83d\\udc78',\n 'printer':'\\ud83d\\udda8',\n 'purple_heart':'\\ud83d\\udc9c',\n 'purse':'\\ud83d\\udc5b',\n 'pushpin':'\\ud83d\\udccc',\n 'put_litter_in_its_place':'\\ud83d\\udeae',\n 'question':'\\u2753',\n 'rabbit':'\\ud83d\\udc30',\n 'rabbit2':'\\ud83d\\udc07',\n 'racehorse':'\\ud83d\\udc0e',\n 'racing_car':'\\ud83c\\udfce',\n 'radio':'\\ud83d\\udcfb',\n 'radio_button':'\\ud83d\\udd18',\n 'radioactive':'\\u2622\\ufe0f',\n 'railway_car':'\\ud83d\\ude83',\n 'railway_track':'\\ud83d\\udee4',\n 'rainbow':'\\ud83c\\udf08',\n 'rainbow_flag':'\\ud83c\\udff3\\ufe0f‍\\ud83c\\udf08',\n 'raised_back_of_hand':'\\ud83e\\udd1a',\n 'raised_hand_with_fingers_splayed':'\\ud83d\\udd90',\n 'raised_hands':'\\ud83d\\ude4c',\n 'raising_hand_woman':'\\ud83d\\ude4b',\n 'raising_hand_man':'\\ud83d\\ude4b‍\\u2642\\ufe0f',\n 'ram':'\\ud83d\\udc0f',\n 'ramen':'\\ud83c\\udf5c',\n 'rat':'\\ud83d\\udc00',\n 'record_button':'\\u23fa',\n 'recycle':'\\u267b\\ufe0f',\n 'red_circle':'\\ud83d\\udd34',\n 'registered':'\\u00ae\\ufe0f',\n 'relaxed':'\\u263a\\ufe0f',\n 'relieved':'\\ud83d\\ude0c',\n 'reminder_ribbon':'\\ud83c\\udf97',\n 'repeat':'\\ud83d\\udd01',\n 'repeat_one':'\\ud83d\\udd02',\n 'rescue_worker_helmet':'\\u26d1',\n 'restroom':'\\ud83d\\udebb',\n 'revolving_hearts':'\\ud83d\\udc9e',\n 'rewind':'\\u23ea',\n 'rhinoceros':'\\ud83e\\udd8f',\n 'ribbon':'\\ud83c\\udf80',\n 'rice':'\\ud83c\\udf5a',\n 'rice_ball':'\\ud83c\\udf59',\n 'rice_cracker':'\\ud83c\\udf58',\n 'rice_scene':'\\ud83c\\udf91',\n 'right_anger_bubble':'\\ud83d\\uddef',\n 'ring':'\\ud83d\\udc8d',\n 'robot':'\\ud83e\\udd16',\n 'rocket':'\\ud83d\\ude80',\n 'rofl':'\\ud83e\\udd23',\n 'roll_eyes':'\\ud83d\\ude44',\n 'roller_coaster':'\\ud83c\\udfa2',\n 'rooster':'\\ud83d\\udc13',\n 'rose':'\\ud83c\\udf39',\n 'rosette':'\\ud83c\\udff5',\n 'rotating_light':'\\ud83d\\udea8',\n 'round_pushpin':'\\ud83d\\udccd',\n 'rowing_man':'\\ud83d\\udea3',\n 'rowing_woman':'\\ud83d\\udea3‍\\u2640\\ufe0f',\n 'rugby_football':'\\ud83c\\udfc9',\n 'running_man':'\\ud83c\\udfc3',\n 'running_shirt_with_sash':'\\ud83c\\udfbd',\n 'running_woman':'\\ud83c\\udfc3‍\\u2640\\ufe0f',\n 'sa':'\\ud83c\\ude02\\ufe0f',\n 'sagittarius':'\\u2650\\ufe0f',\n 'sake':'\\ud83c\\udf76',\n 'sandal':'\\ud83d\\udc61',\n 'santa':'\\ud83c\\udf85',\n 'satellite':'\\ud83d\\udce1',\n 'saxophone':'\\ud83c\\udfb7',\n 'school':'\\ud83c\\udfeb',\n 'school_satchel':'\\ud83c\\udf92',\n 'scissors':'\\u2702\\ufe0f',\n 'scorpion':'\\ud83e\\udd82',\n 'scorpius':'\\u264f\\ufe0f',\n 'scream':'\\ud83d\\ude31',\n 'scream_cat':'\\ud83d\\ude40',\n 'scroll':'\\ud83d\\udcdc',\n 'seat':'\\ud83d\\udcba',\n 'secret':'\\u3299\\ufe0f',\n 'see_no_evil':'\\ud83d\\ude48',\n 'seedling':'\\ud83c\\udf31',\n 'selfie':'\\ud83e\\udd33',\n 'shallow_pan_of_food':'\\ud83e\\udd58',\n 'shamrock':'\\u2618\\ufe0f',\n 'shark':'\\ud83e\\udd88',\n 'shaved_ice':'\\ud83c\\udf67',\n 'sheep':'\\ud83d\\udc11',\n 'shell':'\\ud83d\\udc1a',\n 'shield':'\\ud83d\\udee1',\n 'shinto_shrine':'\\u26e9',\n 'ship':'\\ud83d\\udea2',\n 'shirt':'\\ud83d\\udc55',\n 'shopping':'\\ud83d\\udecd',\n 'shopping_cart':'\\ud83d\\uded2',\n 'shower':'\\ud83d\\udebf',\n 'shrimp':'\\ud83e\\udd90',\n 'signal_strength':'\\ud83d\\udcf6',\n 'six_pointed_star':'\\ud83d\\udd2f',\n 'ski':'\\ud83c\\udfbf',\n 'skier':'\\u26f7',\n 'skull':'\\ud83d\\udc80',\n 'skull_and_crossbones':'\\u2620\\ufe0f',\n 'sleeping':'\\ud83d\\ude34',\n 'sleeping_bed':'\\ud83d\\udecc',\n 'sleepy':'\\ud83d\\ude2a',\n 'slightly_frowning_face':'\\ud83d\\ude41',\n 'slightly_smiling_face':'\\ud83d\\ude42',\n 'slot_machine':'\\ud83c\\udfb0',\n 'small_airplane':'\\ud83d\\udee9',\n 'small_blue_diamond':'\\ud83d\\udd39',\n 'small_orange_diamond':'\\ud83d\\udd38',\n 'small_red_triangle':'\\ud83d\\udd3a',\n 'small_red_triangle_down':'\\ud83d\\udd3b',\n 'smile':'\\ud83d\\ude04',\n 'smile_cat':'\\ud83d\\ude38',\n 'smiley':'\\ud83d\\ude03',\n 'smiley_cat':'\\ud83d\\ude3a',\n 'smiling_imp':'\\ud83d\\ude08',\n 'smirk':'\\ud83d\\ude0f',\n 'smirk_cat':'\\ud83d\\ude3c',\n 'smoking':'\\ud83d\\udeac',\n 'snail':'\\ud83d\\udc0c',\n 'snake':'\\ud83d\\udc0d',\n 'sneezing_face':'\\ud83e\\udd27',\n 'snowboarder':'\\ud83c\\udfc2',\n 'snowflake':'\\u2744\\ufe0f',\n 'snowman':'\\u26c4\\ufe0f',\n 'snowman_with_snow':'\\u2603\\ufe0f',\n 'sob':'\\ud83d\\ude2d',\n 'soccer':'\\u26bd\\ufe0f',\n 'soon':'\\ud83d\\udd1c',\n 'sos':'\\ud83c\\udd98',\n 'sound':'\\ud83d\\udd09',\n 'space_invader':'\\ud83d\\udc7e',\n 'spades':'\\u2660\\ufe0f',\n 'spaghetti':'\\ud83c\\udf5d',\n 'sparkle':'\\u2747\\ufe0f',\n 'sparkler':'\\ud83c\\udf87',\n 'sparkles':'\\u2728',\n 'sparkling_heart':'\\ud83d\\udc96',\n 'speak_no_evil':'\\ud83d\\ude4a',\n 'speaker':'\\ud83d\\udd08',\n 'speaking_head':'\\ud83d\\udde3',\n 'speech_balloon':'\\ud83d\\udcac',\n 'speedboat':'\\ud83d\\udea4',\n 'spider':'\\ud83d\\udd77',\n 'spider_web':'\\ud83d\\udd78',\n 'spiral_calendar':'\\ud83d\\uddd3',\n 'spiral_notepad':'\\ud83d\\uddd2',\n 'spoon':'\\ud83e\\udd44',\n 'squid':'\\ud83e\\udd91',\n 'stadium':'\\ud83c\\udfdf',\n 'star':'\\u2b50\\ufe0f',\n 'star2':'\\ud83c\\udf1f',\n 'star_and_crescent':'\\u262a\\ufe0f',\n 'star_of_david':'\\u2721\\ufe0f',\n 'stars':'\\ud83c\\udf20',\n 'station':'\\ud83d\\ude89',\n 'statue_of_liberty':'\\ud83d\\uddfd',\n 'steam_locomotive':'\\ud83d\\ude82',\n 'stew':'\\ud83c\\udf72',\n 'stop_button':'\\u23f9',\n 'stop_sign':'\\ud83d\\uded1',\n 'stopwatch':'\\u23f1',\n 'straight_ruler':'\\ud83d\\udccf',\n 'strawberry':'\\ud83c\\udf53',\n 'stuck_out_tongue':'\\ud83d\\ude1b',\n 'stuck_out_tongue_closed_eyes':'\\ud83d\\ude1d',\n 'stuck_out_tongue_winking_eye':'\\ud83d\\ude1c',\n 'studio_microphone':'\\ud83c\\udf99',\n 'stuffed_flatbread':'\\ud83e\\udd59',\n 'sun_behind_large_cloud':'\\ud83c\\udf25',\n 'sun_behind_rain_cloud':'\\ud83c\\udf26',\n 'sun_behind_small_cloud':'\\ud83c\\udf24',\n 'sun_with_face':'\\ud83c\\udf1e',\n 'sunflower':'\\ud83c\\udf3b',\n 'sunglasses':'\\ud83d\\ude0e',\n 'sunny':'\\u2600\\ufe0f',\n 'sunrise':'\\ud83c\\udf05',\n 'sunrise_over_mountains':'\\ud83c\\udf04',\n 'surfing_man':'\\ud83c\\udfc4',\n 'surfing_woman':'\\ud83c\\udfc4‍\\u2640\\ufe0f',\n 'sushi':'\\ud83c\\udf63',\n 'suspension_railway':'\\ud83d\\ude9f',\n 'sweat':'\\ud83d\\ude13',\n 'sweat_drops':'\\ud83d\\udca6',\n 'sweat_smile':'\\ud83d\\ude05',\n 'sweet_potato':'\\ud83c\\udf60',\n 'swimming_man':'\\ud83c\\udfca',\n 'swimming_woman':'\\ud83c\\udfca‍\\u2640\\ufe0f',\n 'symbols':'\\ud83d\\udd23',\n 'synagogue':'\\ud83d\\udd4d',\n 'syringe':'\\ud83d\\udc89',\n 'taco':'\\ud83c\\udf2e',\n 'tada':'\\ud83c\\udf89',\n 'tanabata_tree':'\\ud83c\\udf8b',\n 'taurus':'\\u2649\\ufe0f',\n 'taxi':'\\ud83d\\ude95',\n 'tea':'\\ud83c\\udf75',\n 'telephone_receiver':'\\ud83d\\udcde',\n 'telescope':'\\ud83d\\udd2d',\n 'tennis':'\\ud83c\\udfbe',\n 'tent':'\\u26fa\\ufe0f',\n 'thermometer':'\\ud83c\\udf21',\n 'thinking':'\\ud83e\\udd14',\n 'thought_balloon':'\\ud83d\\udcad',\n 'ticket':'\\ud83c\\udfab',\n 'tickets':'\\ud83c\\udf9f',\n 'tiger':'\\ud83d\\udc2f',\n 'tiger2':'\\ud83d\\udc05',\n 'timer_clock':'\\u23f2',\n 'tipping_hand_man':'\\ud83d\\udc81‍\\u2642\\ufe0f',\n 'tired_face':'\\ud83d\\ude2b',\n 'tm':'\\u2122\\ufe0f',\n 'toilet':'\\ud83d\\udebd',\n 'tokyo_tower':'\\ud83d\\uddfc',\n 'tomato':'\\ud83c\\udf45',\n 'tongue':'\\ud83d\\udc45',\n 'top':'\\ud83d\\udd1d',\n 'tophat':'\\ud83c\\udfa9',\n 'tornado':'\\ud83c\\udf2a',\n 'trackball':'\\ud83d\\uddb2',\n 'tractor':'\\ud83d\\ude9c',\n 'traffic_light':'\\ud83d\\udea5',\n 'train':'\\ud83d\\ude8b',\n 'train2':'\\ud83d\\ude86',\n 'tram':'\\ud83d\\ude8a',\n 'triangular_flag_on_post':'\\ud83d\\udea9',\n 'triangular_ruler':'\\ud83d\\udcd0',\n 'trident':'\\ud83d\\udd31',\n 'triumph':'\\ud83d\\ude24',\n 'trolleybus':'\\ud83d\\ude8e',\n 'trophy':'\\ud83c\\udfc6',\n 'tropical_drink':'\\ud83c\\udf79',\n 'tropical_fish':'\\ud83d\\udc20',\n 'truck':'\\ud83d\\ude9a',\n 'trumpet':'\\ud83c\\udfba',\n 'tulip':'\\ud83c\\udf37',\n 'tumbler_glass':'\\ud83e\\udd43',\n 'turkey':'\\ud83e\\udd83',\n 'turtle':'\\ud83d\\udc22',\n 'tv':'\\ud83d\\udcfa',\n 'twisted_rightwards_arrows':'\\ud83d\\udd00',\n 'two_hearts':'\\ud83d\\udc95',\n 'two_men_holding_hands':'\\ud83d\\udc6c',\n 'two_women_holding_hands':'\\ud83d\\udc6d',\n 'u5272':'\\ud83c\\ude39',\n 'u5408':'\\ud83c\\ude34',\n 'u55b6':'\\ud83c\\ude3a',\n 'u6307':'\\ud83c\\ude2f\\ufe0f',\n 'u6708':'\\ud83c\\ude37\\ufe0f',\n 'u6709':'\\ud83c\\ude36',\n 'u6e80':'\\ud83c\\ude35',\n 'u7121':'\\ud83c\\ude1a\\ufe0f',\n 'u7533':'\\ud83c\\ude38',\n 'u7981':'\\ud83c\\ude32',\n 'u7a7a':'\\ud83c\\ude33',\n 'umbrella':'\\u2614\\ufe0f',\n 'unamused':'\\ud83d\\ude12',\n 'underage':'\\ud83d\\udd1e',\n 'unicorn':'\\ud83e\\udd84',\n 'unlock':'\\ud83d\\udd13',\n 'up':'\\ud83c\\udd99',\n 'upside_down_face':'\\ud83d\\ude43',\n 'v':'\\u270c\\ufe0f',\n 'vertical_traffic_light':'\\ud83d\\udea6',\n 'vhs':'\\ud83d\\udcfc',\n 'vibration_mode':'\\ud83d\\udcf3',\n 'video_camera':'\\ud83d\\udcf9',\n 'video_game':'\\ud83c\\udfae',\n 'violin':'\\ud83c\\udfbb',\n 'virgo':'\\u264d\\ufe0f',\n 'volcano':'\\ud83c\\udf0b',\n 'volleyball':'\\ud83c\\udfd0',\n 'vs':'\\ud83c\\udd9a',\n 'vulcan_salute':'\\ud83d\\udd96',\n 'walking_man':'\\ud83d\\udeb6',\n 'walking_woman':'\\ud83d\\udeb6‍\\u2640\\ufe0f',\n 'waning_crescent_moon':'\\ud83c\\udf18',\n 'waning_gibbous_moon':'\\ud83c\\udf16',\n 'warning':'\\u26a0\\ufe0f',\n 'wastebasket':'\\ud83d\\uddd1',\n 'watch':'\\u231a\\ufe0f',\n 'water_buffalo':'\\ud83d\\udc03',\n 'watermelon':'\\ud83c\\udf49',\n 'wave':'\\ud83d\\udc4b',\n 'wavy_dash':'\\u3030\\ufe0f',\n 'waxing_crescent_moon':'\\ud83c\\udf12',\n 'wc':'\\ud83d\\udebe',\n 'weary':'\\ud83d\\ude29',\n 'wedding':'\\ud83d\\udc92',\n 'weight_lifting_man':'\\ud83c\\udfcb\\ufe0f',\n 'weight_lifting_woman':'\\ud83c\\udfcb\\ufe0f‍\\u2640\\ufe0f',\n 'whale':'\\ud83d\\udc33',\n 'whale2':'\\ud83d\\udc0b',\n 'wheel_of_dharma':'\\u2638\\ufe0f',\n 'wheelchair':'\\u267f\\ufe0f',\n 'white_check_mark':'\\u2705',\n 'white_circle':'\\u26aa\\ufe0f',\n 'white_flag':'\\ud83c\\udff3\\ufe0f',\n 'white_flower':'\\ud83d\\udcae',\n 'white_large_square':'\\u2b1c\\ufe0f',\n 'white_medium_small_square':'\\u25fd\\ufe0f',\n 'white_medium_square':'\\u25fb\\ufe0f',\n 'white_small_square':'\\u25ab\\ufe0f',\n 'white_square_button':'\\ud83d\\udd33',\n 'wilted_flower':'\\ud83e\\udd40',\n 'wind_chime':'\\ud83c\\udf90',\n 'wind_face':'\\ud83c\\udf2c',\n 'wine_glass':'\\ud83c\\udf77',\n 'wink':'\\ud83d\\ude09',\n 'wolf':'\\ud83d\\udc3a',\n 'woman':'\\ud83d\\udc69',\n 'woman_artist':'\\ud83d\\udc69‍\\ud83c\\udfa8',\n 'woman_astronaut':'\\ud83d\\udc69‍\\ud83d\\ude80',\n 'woman_cartwheeling':'\\ud83e\\udd38‍\\u2640\\ufe0f',\n 'woman_cook':'\\ud83d\\udc69‍\\ud83c\\udf73',\n 'woman_facepalming':'\\ud83e\\udd26‍\\u2640\\ufe0f',\n 'woman_factory_worker':'\\ud83d\\udc69‍\\ud83c\\udfed',\n 'woman_farmer':'\\ud83d\\udc69‍\\ud83c\\udf3e',\n 'woman_firefighter':'\\ud83d\\udc69‍\\ud83d\\ude92',\n 'woman_health_worker':'\\ud83d\\udc69‍\\u2695\\ufe0f',\n 'woman_judge':'\\ud83d\\udc69‍\\u2696\\ufe0f',\n 'woman_juggling':'\\ud83e\\udd39‍\\u2640\\ufe0f',\n 'woman_mechanic':'\\ud83d\\udc69‍\\ud83d\\udd27',\n 'woman_office_worker':'\\ud83d\\udc69‍\\ud83d\\udcbc',\n 'woman_pilot':'\\ud83d\\udc69‍\\u2708\\ufe0f',\n 'woman_playing_handball':'\\ud83e\\udd3e‍\\u2640\\ufe0f',\n 'woman_playing_water_polo':'\\ud83e\\udd3d‍\\u2640\\ufe0f',\n 'woman_scientist':'\\ud83d\\udc69‍\\ud83d\\udd2c',\n 'woman_shrugging':'\\ud83e\\udd37‍\\u2640\\ufe0f',\n 'woman_singer':'\\ud83d\\udc69‍\\ud83c\\udfa4',\n 'woman_student':'\\ud83d\\udc69‍\\ud83c\\udf93',\n 'woman_teacher':'\\ud83d\\udc69‍\\ud83c\\udfeb',\n 'woman_technologist':'\\ud83d\\udc69‍\\ud83d\\udcbb',\n 'woman_with_turban':'\\ud83d\\udc73‍\\u2640\\ufe0f',\n 'womans_clothes':'\\ud83d\\udc5a',\n 'womans_hat':'\\ud83d\\udc52',\n 'women_wrestling':'\\ud83e\\udd3c‍\\u2640\\ufe0f',\n 'womens':'\\ud83d\\udeba',\n 'world_map':'\\ud83d\\uddfa',\n 'worried':'\\ud83d\\ude1f',\n 'wrench':'\\ud83d\\udd27',\n 'writing_hand':'\\u270d\\ufe0f',\n 'x':'\\u274c',\n 'yellow_heart':'\\ud83d\\udc9b',\n 'yen':'\\ud83d\\udcb4',\n 'yin_yang':'\\u262f\\ufe0f',\n 'yum':'\\ud83d\\ude0b',\n 'zap':'\\u26a1\\ufe0f',\n 'zipper_mouth_face':'\\ud83e\\udd10',\n 'zzz':'\\ud83d\\udca4',\n\n /* special emojis :P */\n 'octocat': '\":octocat:\"',\n 'showdown': 'S'\n};\n\r\n/**\n * Created by Estevao on 31-05-2015.\n */\n\n/**\n * Showdown Converter class\n * @class\n * @param {object} [converterOptions]\n * @returns {Converter}\n */\nshowdown.Converter = function (converterOptions) {\n 'use strict';\n\n var\n /**\n * Options used by this converter\n * @private\n * @type {{}}\n */\n options = {},\n\n /**\n * Language extensions used by this converter\n * @private\n * @type {Array}\n */\n langExtensions = [],\n\n /**\n * Output modifiers extensions used by this converter\n * @private\n * @type {Array}\n */\n outputModifiers = [],\n\n /**\n * Event listeners\n * @private\n * @type {{}}\n */\n listeners = {},\n\n /**\n * The flavor set in this converter\n */\n setConvFlavor = setFlavor,\n\n /**\n * Metadata of the document\n * @type {{parsed: {}, raw: string, format: string}}\n */\n metadata = {\n parsed: {},\n raw: '',\n format: ''\n };\n\n _constructor();\n\n /**\n * Converter constructor\n * @private\n */\n function _constructor () {\n converterOptions = converterOptions || {};\n\n for (var gOpt in globalOptions) {\n if (globalOptions.hasOwnProperty(gOpt)) {\n options[gOpt] = globalOptions[gOpt];\n }\n }\n\n // Merge options\n if (typeof converterOptions === 'object') {\n for (var opt in converterOptions) {\n if (converterOptions.hasOwnProperty(opt)) {\n options[opt] = converterOptions[opt];\n }\n }\n } else {\n throw Error('Converter expects the passed parameter to be an object, but ' + typeof converterOptions +\n ' was passed instead.');\n }\n\n if (options.extensions) {\n showdown.helper.forEach(options.extensions, _parseExtension);\n }\n }\n\n /**\n * Parse extension\n * @param {*} ext\n * @param {string} [name='']\n * @private\n */\n function _parseExtension (ext, name) {\n\n name = name || null;\n // If it's a string, the extension was previously loaded\n if (showdown.helper.isString(ext)) {\n ext = showdown.helper.stdExtName(ext);\n name = ext;\n\n // LEGACY_SUPPORT CODE\n if (showdown.extensions[ext]) {\n console.warn('DEPRECATION WARNING: ' + ext + ' is an old extension that uses a deprecated loading method.' +\n 'Please inform the developer that the extension should be updated!');\n legacyExtensionLoading(showdown.extensions[ext], ext);\n return;\n // END LEGACY SUPPORT CODE\n\n } else if (!showdown.helper.isUndefined(extensions[ext])) {\n ext = extensions[ext];\n\n } else {\n throw Error('Extension \"' + ext + '\" could not be loaded. It was either not found or is not a valid extension.');\n }\n }\n\n if (typeof ext === 'function') {\n ext = ext();\n }\n\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n\n var validExt = validate(ext, name);\n if (!validExt.valid) {\n throw Error(validExt.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n }\n if (ext[i].hasOwnProperty('listeners')) {\n for (var ln in ext[i].listeners) {\n if (ext[i].listeners.hasOwnProperty(ln)) {\n listen(ln, ext[i].listeners[ln]);\n }\n }\n }\n }\n\n }\n\n /**\n * LEGACY_SUPPORT\n * @param {*} ext\n * @param {string} name\n */\n function legacyExtensionLoading (ext, name) {\n if (typeof ext === 'function') {\n ext = ext(new showdown.Converter());\n }\n if (!showdown.helper.isArray(ext)) {\n ext = [ext];\n }\n var valid = validate(ext, name);\n\n if (!valid.valid) {\n throw Error(valid.error);\n }\n\n for (var i = 0; i < ext.length; ++i) {\n switch (ext[i].type) {\n case 'lang':\n langExtensions.push(ext[i]);\n break;\n case 'output':\n outputModifiers.push(ext[i]);\n break;\n default:// should never reach here\n throw Error('Extension loader error: Type unrecognized!!!');\n }\n }\n }\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n */\n function listen (name, callback) {\n if (!showdown.helper.isString(name)) {\n throw Error('Invalid argument in converter.listen() method: name must be a string, but ' + typeof name + ' given');\n }\n\n if (typeof callback !== 'function') {\n throw Error('Invalid argument in converter.listen() method: callback must be a function, but ' + typeof callback + ' given');\n }\n\n if (!listeners.hasOwnProperty(name)) {\n listeners[name] = [];\n }\n listeners[name].push(callback);\n }\n\n function rTrimInputText (text) {\n var rsp = text.match(/^\\s*/)[0].length,\n rgx = new RegExp('^\\\\s{0,' + rsp + '}', 'gm');\n return text.replace(rgx, '');\n }\n\n /**\n * Dispatch an event\n * @private\n * @param {string} evtName Event name\n * @param {string} text Text\n * @param {{}} options Converter Options\n * @param {{}} globals\n * @returns {string}\n */\n this._dispatch = function dispatch (evtName, text, options, globals) {\n if (listeners.hasOwnProperty(evtName)) {\n for (var ei = 0; ei < listeners[evtName].length; ++ei) {\n var nText = listeners[evtName][ei](evtName, text, this, options, globals);\n if (nText && typeof nText !== 'undefined') {\n text = nText;\n }\n }\n }\n return text;\n };\n\n /**\n * Listen to an event\n * @param {string} name\n * @param {function} callback\n * @returns {showdown.Converter}\n */\n this.listen = function (name, callback) {\n listen(name, callback);\n return this;\n };\n\n /**\n * Converts a markdown string into HTML\n * @param {string} text\n * @returns {*}\n */\n this.makeHtml = function (text) {\n //check if text is not falsy\n if (!text) {\n return text;\n }\n\n var globals = {\n gHtmlBlocks: [],\n gHtmlMdBlocks: [],\n gHtmlSpans: [],\n gUrls: {},\n gTitles: {},\n gDimensions: {},\n gListLevel: 0,\n hashLinkCounts: {},\n langExtensions: langExtensions,\n outputModifiers: outputModifiers,\n converter: this,\n ghCodeBlocks: [],\n metadata: {\n parsed: {},\n raw: '',\n format: ''\n }\n };\n\n // This lets us use ¨ trema as an escape char to avoid md5 hashes\n // The choice of character is arbitrary; anything that isn't\n // magic in Markdown will work.\n text = text.replace(/¨/g, '¨T');\n\n // Replace $ with ¨D\n // RegExp interprets $ as a special character\n // when it's in a replacement string\n text = text.replace(/\\$/g, '¨D');\n\n // Standardize line endings\n text = text.replace(/\\r\\n/g, '\\n'); // DOS to Unix\n text = text.replace(/\\r/g, '\\n'); // Mac to Unix\n\n // Stardardize line spaces\n text = text.replace(/\\u00A0/g, ' ');\n\n if (options.smartIndentationFix) {\n text = rTrimInputText(text);\n }\n\n // Make sure text begins and ends with a couple of newlines:\n text = '\\n\\n' + text + '\\n\\n';\n\n // detab\n text = showdown.subParser('detab')(text, options, globals);\n\n /**\n * Strip any lines consisting only of spaces and tabs.\n * This makes subsequent regexs easier to write, because we can\n * match consecutive blank lines with /\\n+/ instead of something\n * contorted like /[ \\t]*\\n+/\n */\n text = text.replace(/^[ \\t]+$/mg, '');\n\n //run languageExtensions\n showdown.helper.forEach(langExtensions, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // run the sub parsers\n text = showdown.subParser('metadata')(text, options, globals);\n text = showdown.subParser('hashPreCodeTags')(text, options, globals);\n text = showdown.subParser('githubCodeBlocks')(text, options, globals);\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('hashCodeTags')(text, options, globals);\n text = showdown.subParser('stripLinkDefinitions')(text, options, globals);\n text = showdown.subParser('blockGamut')(text, options, globals);\n text = showdown.subParser('unhashHTMLSpans')(text, options, globals);\n text = showdown.subParser('unescapeSpecialChars')(text, options, globals);\n\n // attacklab: Restore dollar signs\n text = text.replace(/¨D/g, '$$');\n\n // attacklab: Restore tremas\n text = text.replace(/¨T/g, '¨');\n\n // render a complete html document instead of a partial if the option is enabled\n text = showdown.subParser('completeHTMLDocument')(text, options, globals);\n\n // Run output modifiers\n showdown.helper.forEach(outputModifiers, function (ext) {\n text = showdown.subParser('runExtension')(ext, text, options, globals);\n });\n\n // update metadata\n metadata = globals.metadata;\n return text;\n };\n\n /**\n * Converts an HTML string into a markdown string\n * @param src\n * @param [HTMLParser] A WHATWG DOM and HTML parser, such as JSDOM. If none is supplied, window.document will be used.\n * @returns {string}\n */\n this.makeMarkdown = this.makeMd = function (src, HTMLParser) {\n\n // replace \\r\\n with \\n\n src = src.replace(/\\r\\n/g, '\\n');\n src = src.replace(/\\r/g, '\\n'); // old macs\n\n // due to an edge case, we need to find this: > <\n // to prevent removing of non silent white spaces\n // ex: this is sparta\n src = src.replace(/>[ \\t]+¨NBSP;<');\n\n if (!HTMLParser) {\n if (window && window.document) {\n HTMLParser = window.document;\n } else {\n throw new Error('HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM');\n }\n }\n\n var doc = HTMLParser.createElement('div');\n doc.innerHTML = src;\n\n var globals = {\n preList: substitutePreCodeTags(doc)\n };\n\n // remove all newlines and collapse spaces\n clean(doc);\n\n // some stuff, like accidental reference links must now be escaped\n // TODO\n // doc.innerHTML = doc.innerHTML.replace(/\\[[\\S\\t ]]/);\n\n var nodes = doc.childNodes,\n mdDoc = '';\n\n for (var i = 0; i < nodes.length; i++) {\n mdDoc += showdown.subParser('makeMarkdown.node')(nodes[i], globals);\n }\n\n function clean (node) {\n for (var n = 0; n < node.childNodes.length; ++n) {\n var child = node.childNodes[n];\n if (child.nodeType === 3) {\n if (!/\\S/.test(child.nodeValue)) {\n node.removeChild(child);\n --n;\n } else {\n child.nodeValue = child.nodeValue.split('\\n').join(' ');\n child.nodeValue = child.nodeValue.replace(/(\\s)+/g, '$1');\n }\n } else if (child.nodeType === 1) {\n clean(child);\n }\n }\n }\n\n // find all pre tags and replace contents with placeholder\n // we need this so that we can remove all indentation from html\n // to ease up parsing\n function substitutePreCodeTags (doc) {\n\n var pres = doc.querySelectorAll('pre'),\n presPH = [];\n\n for (var i = 0; i < pres.length; ++i) {\n\n if (pres[i].childElementCount === 1 && pres[i].firstChild.tagName.toLowerCase() === 'code') {\n var content = pres[i].firstChild.innerHTML.trim(),\n language = pres[i].firstChild.getAttribute('data-language') || '';\n\n // if data-language attribute is not defined, then we look for class language-*\n if (language === '') {\n var classes = pres[i].firstChild.className.split(' ');\n for (var c = 0; c < classes.length; ++c) {\n var matches = classes[c].match(/^language-(.+)$/);\n if (matches !== null) {\n language = matches[1];\n break;\n }\n }\n }\n\n // unescape html entities in content\n content = showdown.helper.unescapeHTMLEntities(content);\n\n presPH.push(content);\n pres[i].outerHTML = '';\n } else {\n presPH.push(pres[i].innerHTML);\n pres[i].innerHTML = '';\n pres[i].setAttribute('prenum', i.toString());\n }\n }\n return presPH;\n }\n\n return mdDoc;\n };\n\n /**\n * Set an option of this Converter instance\n * @param {string} key\n * @param {*} value\n */\n this.setOption = function (key, value) {\n options[key] = value;\n };\n\n /**\n * Get the option of this Converter instance\n * @param {string} key\n * @returns {*}\n */\n this.getOption = function (key) {\n return options[key];\n };\n\n /**\n * Get the options of this Converter instance\n * @returns {{}}\n */\n this.getOptions = function () {\n return options;\n };\n\n /**\n * Add extension to THIS converter\n * @param {{}} extension\n * @param {string} [name=null]\n */\n this.addExtension = function (extension, name) {\n name = name || null;\n _parseExtension(extension, name);\n };\n\n /**\n * Use a global registered extension with THIS converter\n * @param {string} extensionName Name of the previously registered extension\n */\n this.useExtension = function (extensionName) {\n _parseExtension(extensionName);\n };\n\n /**\n * Set the flavor THIS converter should use\n * @param {string} name\n */\n this.setFlavor = function (name) {\n if (!flavor.hasOwnProperty(name)) {\n throw Error(name + ' flavor was not found');\n }\n var preset = flavor[name];\n setConvFlavor = name;\n for (var option in preset) {\n if (preset.hasOwnProperty(option)) {\n options[option] = preset[option];\n }\n }\n };\n\n /**\n * Get the currently set flavor of this converter\n * @returns {string}\n */\n this.getFlavor = function () {\n return setConvFlavor;\n };\n\n /**\n * Remove an extension from THIS converter.\n * Note: This is a costly operation. It's better to initialize a new converter\n * and specify the extensions you wish to use\n * @param {Array} extension\n */\n this.removeExtension = function (extension) {\n if (!showdown.helper.isArray(extension)) {\n extension = [extension];\n }\n for (var a = 0; a < extension.length; ++a) {\n var ext = extension[a];\n for (var i = 0; i < langExtensions.length; ++i) {\n if (langExtensions[i] === ext) {\n langExtensions[i].splice(i, 1);\n }\n }\n for (var ii = 0; ii < outputModifiers.length; ++i) {\n if (outputModifiers[ii] === ext) {\n outputModifiers[ii].splice(i, 1);\n }\n }\n }\n };\n\n /**\n * Get all extension of THIS converter\n * @returns {{language: Array, output: Array}}\n */\n this.getAllExtensions = function () {\n return {\n language: langExtensions,\n output: outputModifiers\n };\n };\n\n /**\n * Get the metadata of the previously parsed document\n * @param raw\n * @returns {string|{}}\n */\n this.getMetadata = function (raw) {\n if (raw) {\n return metadata.raw;\n } else {\n return metadata.parsed;\n }\n };\n\n /**\n * Get the metadata format of the previously parsed document\n * @returns {string}\n */\n this.getMetadataFormat = function () {\n return metadata.format;\n };\n\n /**\n * Private: set a single key, value metadata pair\n * @param {string} key\n * @param {string} value\n */\n this._setMetadataPair = function (key, value) {\n metadata.parsed[key] = value;\n };\n\n /**\n * Private: set metadata format\n * @param {string} format\n */\n this._setMetadataFormat = function (format) {\n metadata.format = format;\n };\n\n /**\n * Private: set metadata raw text\n * @param {string} raw\n */\n this._setMetadataRaw = function (raw) {\n metadata.raw = raw;\n };\n};\n\r\n/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('anchors', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('anchors.before', text, options, globals);\n\n var writeAnchorTag = function (wholeMatch, linkText, linkId, url, m5, m6, title) {\n if (showdown.helper.isUndefined(title)) {\n title = '';\n }\n linkId = linkId.toLowerCase();\n\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n } else if (!url) {\n if (!linkId) {\n // lower-case and turn embedded newlines into spaces\n linkId = linkText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(globals.gUrls[linkId])) {\n url = globals.gUrls[linkId];\n if (!showdown.helper.isUndefined(globals.gTitles[linkId])) {\n title = globals.gTitles[linkId];\n }\n } else {\n return wholeMatch;\n }\n }\n\n //url = showdown.helper.escapeCharacters(url, '*_', false); // replaced line to improve performance\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n\n var result = '';\n\n return result;\n };\n\n // First, handle reference-style links: [link text] [id]\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)] ?(?:\\n *)?\\[(.*?)]()()()()/g, writeAnchorTag);\n\n // Next, inline-style links: [link text](url \"optional title\")\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]?<([^>]*)>(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // normal cases\n text = text.replace(/\\[((?:\\[[^\\]]*]|[^\\[\\]])*)]()[ \\t]*\\([ \\t]??(?:[ \\t]*(([\"'])([^\"]*?)\\5))?[ \\t]?\\)/g,\n writeAnchorTag);\n\n // handle reference-style shortcuts: [link text]\n // These must come last in case you've also got [link test][1]\n // or [link test](/foo)\n text = text.replace(/\\[([^\\[\\]]+)]()()()()()/g, writeAnchorTag);\n\n // Lastly handle GithubMentions if option is enabled\n if (options.ghMentions) {\n text = text.replace(/(^|\\s)(\\\\)?(@([a-z\\d]+(?:[a-z\\d.-]+?[a-z\\d]+)*))/gmi, function (wm, st, escape, mentions, username) {\n if (escape === '\\\\') {\n return st + mentions;\n }\n\n //check if options.ghMentionsLink is a string\n if (!showdown.helper.isString(options.ghMentionsLink)) {\n throw new Error('ghMentionsLink option must be a string');\n }\n var lnk = options.ghMentionsLink.replace(/\\{u}/g, username),\n target = '';\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return st + '' + mentions + '';\n });\n }\n\n text = globals.converter._dispatch('anchors.after', text, options, globals);\n return text;\n});\n\r\n// url allowed chars [a-z\\d_.~:/?#[]@!$&'()*+,;=-]\n\nvar simpleURLRegex = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+?\\.[^'\">\\s]+?)()(\\1)?(?=\\s|$)(?![\"<>])/gi,\n simpleURLRegex2 = /([*~_]+|\\b)(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+\\.[^'\">\\s]+?)([.!?,()\\[\\]])?(\\1)?(?=\\s|$)(?![\"<>])/gi,\n delimUrlRegex = /()<(((https?|ftp|dict):\\/\\/|www\\.)[^'\">\\s]+)()>()/gi,\n simpleMailRegex = /(^|\\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)(?=$|\\s)/gmi,\n delimMailRegex = /<()(?:mailto:)?([-.\\w]+@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]+)>/gi,\n\n replaceLink = function (options) {\n 'use strict';\n return function (wm, leadingMagicChars, link, m2, m3, trailingPunctuation, trailingMagicChars) {\n link = link.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var lnkTxt = link,\n append = '',\n target = '',\n lmc = leadingMagicChars || '',\n tmc = trailingMagicChars || '';\n if (/^www\\./i.test(link)) {\n link = link.replace(/^www\\./i, 'http://www.');\n }\n if (options.excludeTrailingPunctuationFromURLs && trailingPunctuation) {\n append = trailingPunctuation;\n }\n if (options.openLinksInNewWindow) {\n target = ' target=\"¨E95Eblank\"';\n }\n return lmc + '' + lnkTxt + '' + append + tmc;\n };\n },\n\n replaceMail = function (options, globals) {\n 'use strict';\n return function (wholeMatch, b, mail) {\n var href = 'mailto:';\n b = b || '';\n mail = showdown.subParser('unescapeSpecialChars')(mail, options, globals);\n if (options.encodeEmails) {\n href = showdown.helper.encodeEmailAddress(href + mail);\n mail = showdown.helper.encodeEmailAddress(mail);\n } else {\n href = href + mail;\n }\n return b + '' + mail + '';\n };\n };\n\nshowdown.subParser('autoLinks', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('autoLinks.before', text, options, globals);\n\n text = text.replace(delimUrlRegex, replaceLink(options));\n text = text.replace(delimMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('autoLinks.after', text, options, globals);\n\n return text;\n});\n\nshowdown.subParser('simplifiedAutoLinks', function (text, options, globals) {\n 'use strict';\n\n if (!options.simplifiedAutoLink) {\n return text;\n }\n\n text = globals.converter._dispatch('simplifiedAutoLinks.before', text, options, globals);\n\n if (options.excludeTrailingPunctuationFromURLs) {\n text = text.replace(simpleURLRegex2, replaceLink(options));\n } else {\n text = text.replace(simpleURLRegex, replaceLink(options));\n }\n text = text.replace(simpleMailRegex, replaceMail(options, globals));\n\n text = globals.converter._dispatch('simplifiedAutoLinks.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * These are all the transformations that form block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('blockGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockGamut.before', text, options, globals);\n\n // we parse blockquotes first so that we can have headings and hrs\n // inside blockquotes\n text = showdown.subParser('blockQuotes')(text, options, globals);\n text = showdown.subParser('headers')(text, options, globals);\n\n // Do Horizontal Rules:\n text = showdown.subParser('horizontalRule')(text, options, globals);\n\n text = showdown.subParser('lists')(text, options, globals);\n text = showdown.subParser('codeBlocks')(text, options, globals);\n text = showdown.subParser('tables')(text, options, globals);\n\n // We already ran _HashHTMLBlocks() before, in Markdown(), but that\n // was to escape raw HTML in the original Markdown source. This time,\n // we're escaping the markup we've just created, so that we don't wrap\n //

    tags around block-level tags.\n text = showdown.subParser('hashHTMLBlocks')(text, options, globals);\n text = showdown.subParser('paragraphs')(text, options, globals);\n\n text = globals.converter._dispatch('blockGamut.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('blockQuotes', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('blockQuotes.before', text, options, globals);\n\n // add a couple extra lines after the text and endtext mark\n text = text + '\\n\\n';\n\n var rgx = /(^ {0,3}>[ \\t]?.+\\n(.+\\n)*\\n*)+/gm;\n\n if (options.splitAdjacentBlockquotes) {\n rgx = /^ {0,3}>[\\s\\S]*?(?:\\n\\n)/gm;\n }\n\n text = text.replace(rgx, function (bq) {\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n bq = bq.replace(/^[ \\t]*>[ \\t]?/gm, ''); // trim one level of quoting\n\n // attacklab: clean up hack\n bq = bq.replace(/¨0/g, '');\n\n bq = bq.replace(/^[ \\t]+$/gm, ''); // trim whitespace-only lines\n bq = showdown.subParser('githubCodeBlocks')(bq, options, globals);\n bq = showdown.subParser('blockGamut')(bq, options, globals); // recurse\n\n bq = bq.replace(/(^|\\n)/g, '$1 ');\n // These leading spaces screw with

     content, so we need to fix that:\n    bq = bq.replace(/(\\s*
    [^\\r]+?<\\/pre>)/gm, function (wholeMatch, m1) {\n      var pre = m1;\n      // attacklab: hack around Konqueror 3.5.4 bug:\n      pre = pre.replace(/^  /mg, '¨0');\n      pre = pre.replace(/¨0/g, '');\n      return pre;\n    });\n\n    return showdown.subParser('hashBlock')('
    \\n' + bq + '\\n
    ', options, globals);\n });\n\n text = globals.converter._dispatch('blockQuotes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Process Markdown `
    ` blocks.\n */\nshowdown.subParser('codeBlocks', function (text, options, globals) {\n  'use strict';\n\n  text = globals.converter._dispatch('codeBlocks.before', text, options, globals);\n\n  // sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n  text += '¨0';\n\n  var pattern = /(?:\\n\\n|^)((?:(?:[ ]{4}|\\t).*\\n+)+)(\\n*[ ]{0,3}[^ \\t\\n]|(?=¨0))/g;\n  text = text.replace(pattern, function (wholeMatch, m1, m2) {\n    var codeblock = m1,\n        nextChar = m2,\n        end = '\\n';\n\n    codeblock = showdown.subParser('outdent')(codeblock, options, globals);\n    codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n    codeblock = showdown.subParser('detab')(codeblock, options, globals);\n    codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n    codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing newlines\n\n    if (options.omitExtraWLInCodeBlocks) {\n      end = '';\n    }\n\n    codeblock = '
    ' + codeblock + end + '
    ';\n\n return showdown.subParser('hashBlock')(codeblock, options, globals) + nextChar;\n });\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n\n text = globals.converter._dispatch('codeBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n * * Backtick quotes are used for spans.\n *\n * * You can use multiple backticks as the delimiters if you want to\n * include literal backticks in the code span. So, this input:\n *\n * Just type ``foo `bar` baz`` at the prompt.\n *\n * Will translate to:\n *\n *

    Just type foo `bar` baz at the prompt.

    \n *\n * There's no arbitrary limit to the number of backticks you\n * can use as delimters. If you need three consecutive backticks\n * in your code, use four for delimiters, etc.\n *\n * * You can use spaces to get literal backticks at the edges:\n *\n * ... type `` `bar` `` ...\n *\n * Turns to:\n *\n * ... type `bar` ...\n */\nshowdown.subParser('codeSpans', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('codeSpans.before', text, options, globals);\n\n if (typeof(text) === 'undefined') {\n text = '';\n }\n text = text.replace(/(^|[^\\\\])(`+)([^\\r]*?[^`])\\2(?!`)/gm,\n function (wholeMatch, m1, m2, m3) {\n var c = m3;\n c = c.replace(/^([ \\t]*)/g, '');\t// leading whitespace\n c = c.replace(/[ \\t]*$/g, '');\t// trailing whitespace\n c = showdown.subParser('encodeCode')(c, options, globals);\n c = m1 + '' + c + '';\n c = showdown.subParser('hashHTMLSpans')(c, options, globals);\n return c;\n }\n );\n\n text = globals.converter._dispatch('codeSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Create a full HTML document from the processed markdown\n */\nshowdown.subParser('completeHTMLDocument', function (text, options, globals) {\n 'use strict';\n\n if (!options.completeHTMLDocument) {\n return text;\n }\n\n text = globals.converter._dispatch('completeHTMLDocument.before', text, options, globals);\n\n var doctype = 'html',\n doctypeParsed = '\\n',\n title = '',\n charset = '\\n',\n lang = '',\n metadata = '';\n\n if (typeof globals.metadata.parsed.doctype !== 'undefined') {\n doctypeParsed = '\\n';\n doctype = globals.metadata.parsed.doctype.toString().toLowerCase();\n if (doctype === 'html' || doctype === 'html5') {\n charset = '';\n }\n }\n\n for (var meta in globals.metadata.parsed) {\n if (globals.metadata.parsed.hasOwnProperty(meta)) {\n switch (meta.toLowerCase()) {\n case 'doctype':\n break;\n\n case 'title':\n title = '' + globals.metadata.parsed.title + '\\n';\n break;\n\n case 'charset':\n if (doctype === 'html' || doctype === 'html5') {\n charset = '\\n';\n } else {\n charset = '\\n';\n }\n break;\n\n case 'language':\n case 'lang':\n lang = ' lang=\"' + globals.metadata.parsed[meta] + '\"';\n metadata += '\\n';\n break;\n\n default:\n metadata += '\\n';\n }\n }\n }\n\n text = doctypeParsed + '\\n\\n' + title + charset + metadata + '\\n\\n' + text.trim() + '\\n\\n';\n\n text = globals.converter._dispatch('completeHTMLDocument.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Convert all tabs to spaces\n */\nshowdown.subParser('detab', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('detab.before', text, options, globals);\n\n // expand first n-1 tabs\n text = text.replace(/\\t(?=\\t)/g, ' '); // g_tab_width\n\n // replace the nth with two sentinels\n text = text.replace(/\\t/g, '¨A¨B');\n\n // use the sentinel to anchor our regex so it doesn't explode\n text = text.replace(/¨B(.+?)¨A/g, function (wholeMatch, m1) {\n var leadingText = m1,\n numSpaces = 4 - leadingText.length % 4; // g_tab_width\n\n // there *must* be a better way to do this:\n for (var i = 0; i < numSpaces; i++) {\n leadingText += ' ';\n }\n\n return leadingText;\n });\n\n // clean up sentinels\n text = text.replace(/¨A/g, ' '); // g_tab_width\n text = text.replace(/¨B/g, '');\n\n text = globals.converter._dispatch('detab.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('ellipsis', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('ellipsis.before', text, options, globals);\n\n text = text.replace(/\\.\\.\\./g, '…');\n\n text = globals.converter._dispatch('ellipsis.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Turn emoji codes into emojis\n *\n * List of supported emojis: https://github.com/showdownjs/showdown/wiki/Emojis\n */\nshowdown.subParser('emoji', function (text, options, globals) {\n 'use strict';\n\n if (!options.emoji) {\n return text;\n }\n\n text = globals.converter._dispatch('emoji.before', text, options, globals);\n\n var emojiRgx = /:([\\S]+?):/g;\n\n text = text.replace(emojiRgx, function (wm, emojiCode) {\n if (showdown.helper.emojis.hasOwnProperty(emojiCode)) {\n return showdown.helper.emojis[emojiCode];\n }\n return wm;\n });\n\n text = globals.converter._dispatch('emoji.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Smart processing for ampersands and angle brackets that need to be encoded.\n */\nshowdown.subParser('encodeAmpsAndAngles', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeAmpsAndAngles.before', text, options, globals);\n\n // Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:\n // http://bumppo.net/projects/amputator/\n text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\\w+);)/g, '&');\n\n // Encode naked <'s\n text = text.replace(/<(?![a-z\\/?$!])/gi, '<');\n\n // Encode <\n text = text.replace(/\n text = text.replace(/>/g, '>');\n\n text = globals.converter._dispatch('encodeAmpsAndAngles.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Returns the string, with after processing the following backslash escape sequences.\n *\n * attacklab: The polite way to do this is with the new escapeCharacters() function:\n *\n * text = escapeCharacters(text,\"\\\\\",true);\n * text = escapeCharacters(text,\"`*_{}[]()>#+-.!\",true);\n *\n * ...but we're sidestepping its use of the (slow) RegExp constructor\n * as an optimization for Firefox. This function gets called a LOT.\n */\nshowdown.subParser('encodeBackslashEscapes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('encodeBackslashEscapes.before', text, options, globals);\n\n text = text.replace(/\\\\(\\\\)/g, showdown.helper.escapeCharactersCallback);\n text = text.replace(/\\\\([`*_{}\\[\\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeBackslashEscapes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Encode/escape certain characters inside Markdown code runs.\n * The point is that in code, these characters are literals,\n * and lose their special Markdown meanings.\n */\nshowdown.subParser('encodeCode', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('encodeCode.before', text, options, globals);\n\n // Encode all ampersands; HTML entities are not\n // entities within a Markdown code span.\n text = text\n .replace(/&/g, '&')\n // Do the angle bracket song and dance:\n .replace(//g, '>')\n // Now, escape characters that are magic in Markdown:\n .replace(/([*_{}\\[\\]\\\\=~-])/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('encodeCode.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Within tags -- meaning between < and > -- encode [\\ ` * _ ~ =] so they\n * don't conflict with their use in Markdown for code, italics and strong.\n */\nshowdown.subParser('escapeSpecialCharsWithinTagAttributes', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.before', text, options, globals);\n\n // Build a regex to find HTML tags.\n var tags = /<\\/?[a-z\\d_:-]+(?:[\\s]+[\\s\\S]+?)?>/gi,\n comments = /-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;\n\n text = text.replace(tags, function (wholeMatch) {\n return wholeMatch\n .replace(/(.)<\\/?code>(?=.)/g, '$1`')\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = text.replace(comments, function (wholeMatch) {\n return wholeMatch\n .replace(/([\\\\`*_~=|])/g, showdown.helper.escapeCharactersCallback);\n });\n\n text = globals.converter._dispatch('escapeSpecialCharsWithinTagAttributes.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Handle github codeblocks prior to running HashHTML so that\n * HTML contained within the codeblock gets escaped properly\n * Example:\n * ```ruby\n * def hello_world(x)\n * puts \"Hello, #{x}\"\n * end\n * ```\n */\nshowdown.subParser('githubCodeBlocks', function (text, options, globals) {\n 'use strict';\n\n // early exit if option is not enabled\n if (!options.ghCodeBlocks) {\n return text;\n }\n\n text = globals.converter._dispatch('githubCodeBlocks.before', text, options, globals);\n\n text += '¨0';\n\n text = text.replace(/(?:^|\\n)(?: {0,3})(```+|~~~+)(?: *)([^\\s`~]*)\\n([\\s\\S]*?)\\n(?: {0,3})\\1/g, function (wholeMatch, delim, language, codeblock) {\n var end = (options.omitExtraWLInCodeBlocks) ? '' : '\\n';\n\n // First parse the github code block\n codeblock = showdown.subParser('encodeCode')(codeblock, options, globals);\n codeblock = showdown.subParser('detab')(codeblock, options, globals);\n codeblock = codeblock.replace(/^\\n+/g, ''); // trim leading newlines\n codeblock = codeblock.replace(/\\n+$/g, ''); // trim trailing whitespace\n\n codeblock = '
    ' + codeblock + end + '
    ';\n\n codeblock = showdown.subParser('hashBlock')(codeblock, options, globals);\n\n // Since GHCodeblocks can be false positives, we need to\n // store the primitive text and the parsed text in a global var,\n // and then return a token\n return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n });\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return globals.converter._dispatch('githubCodeBlocks.after', text, options, globals);\n});\n\r\nshowdown.subParser('hashBlock', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashBlock.before', text, options, globals);\n text = text.replace(/(^\\n+|\\n+$)/g, '');\n text = '\\n\\n¨K' + (globals.gHtmlBlocks.push(text) - 1) + 'K\\n\\n';\n text = globals.converter._dispatch('hashBlock.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape elements that should not be parsed as markdown\n */\nshowdown.subParser('hashCodeTags', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashCodeTags.before', text, options, globals);\n\n var repFunc = function (wholeMatch, match, left, right) {\n var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n return '¨C' + (globals.gHtmlSpans.push(codeblock) - 1) + 'C';\n };\n\n // Hash naked \n text = showdown.helper.replaceRecursiveRegExp(text, repFunc, ']*>', '', 'gim');\n\n text = globals.converter._dispatch('hashCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('hashElement', function (text, options, globals) {\n 'use strict';\n\n return function (wholeMatch, m1) {\n var blockText = m1;\n\n // Undo double lines\n blockText = blockText.replace(/\\n\\n/g, '\\n');\n blockText = blockText.replace(/^\\n/, '');\n\n // strip trailing blank lines\n blockText = blockText.replace(/\\n+$/g, '');\n\n // Replace the element text with a marker (\"¨KxK\" where x is its key)\n blockText = '\\n\\n¨K' + (globals.gHtmlBlocks.push(blockText) - 1) + 'K\\n\\n';\n\n return blockText;\n };\n});\n\r\nshowdown.subParser('hashHTMLBlocks', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLBlocks.before', text, options, globals);\n\n var blockTags = [\n 'pre',\n 'div',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'blockquote',\n 'table',\n 'dl',\n 'ol',\n 'ul',\n 'script',\n 'noscript',\n 'form',\n 'fieldset',\n 'iframe',\n 'math',\n 'style',\n 'section',\n 'header',\n 'footer',\n 'nav',\n 'article',\n 'aside',\n 'address',\n 'audio',\n 'canvas',\n 'figure',\n 'hgroup',\n 'output',\n 'video',\n 'p'\n ],\n repFunc = function (wholeMatch, match, left, right) {\n var txt = wholeMatch;\n // check if this html element is marked as markdown\n // if so, it's contents should be parsed as markdown\n if (left.search(/\\bmarkdown\\b/) !== -1) {\n txt = left + globals.converter.makeHtml(match) + right;\n }\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n };\n\n if (options.backslashEscapesHTMLTags) {\n // encode backslash escaped HTML tags\n text = text.replace(/\\\\<(\\/?[^>]+?)>/g, function (wm, inside) {\n return '<' + inside + '>';\n });\n }\n\n // hash HTML Blocks\n for (var i = 0; i < blockTags.length; ++i) {\n\n var opTagPos,\n rgx1 = new RegExp('^ {0,3}(<' + blockTags[i] + '\\\\b[^>]*>)', 'im'),\n patLeft = '<' + blockTags[i] + '\\\\b[^>]*>',\n patRight = '';\n // 1. Look for the first position of the first opening HTML tag in the text\n while ((opTagPos = showdown.helper.regexIndexOf(text, rgx1)) !== -1) {\n\n // if the HTML tag is \\ escaped, we need to escape it and break\n\n\n //2. Split the text in that position\n var subTexts = showdown.helper.splitAtIndex(text, opTagPos),\n //3. Match recursively\n newSubText1 = showdown.helper.replaceRecursiveRegExp(subTexts[1], repFunc, patLeft, patRight, 'im');\n\n // prevent an infinite loop\n if (newSubText1 === subTexts[1]) {\n break;\n }\n text = subTexts[0].concat(newSubText1);\n }\n }\n // HR SPECIAL CASE\n text = text.replace(/(\\n {0,3}(<(hr)\\b([^<>])*?\\/?>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n // Special case for standalone HTML comments\n text = showdown.helper.replaceRecursiveRegExp(text, function (txt) {\n return '\\n\\n¨K' + (globals.gHtmlBlocks.push(txt) - 1) + 'K\\n\\n';\n }, '^ {0,3}', 'gm');\n\n // PHP and ASP-style processor instructions ( and <%...%>)\n text = text.replace(/(?:\\n\\n)( {0,3}(?:<([?%])[^\\r]*?\\2>)[ \\t]*(?=\\n{2,}))/g,\n showdown.subParser('hashElement')(text, options, globals));\n\n text = globals.converter._dispatch('hashHTMLBlocks.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash span elements that should not be parsed as markdown\n */\nshowdown.subParser('hashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('hashHTMLSpans.before', text, options, globals);\n\n function hashHTMLSpan (html) {\n return '¨C' + (globals.gHtmlSpans.push(html) - 1) + 'C';\n }\n\n // Hash Self Closing tags\n text = text.replace(/<[^>]+?\\/>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags without properties\n text = text.replace(/<([^>]+?)>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash tags with properties\n text = text.replace(/<([^>]+?)\\s[^>]+?>[\\s\\S]*?<\\/\\1>/g, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n // Hash self closing tags without />\n text = text.replace(/<[^>]+?>/gi, function (wm) {\n return hashHTMLSpan(wm);\n });\n\n /*showdown.helper.matchRecursiveRegExp(text, ']*>', '', 'gi');*/\n\n text = globals.converter._dispatch('hashHTMLSpans.after', text, options, globals);\n return text;\n});\n\n/**\n * Unhash HTML spans\n */\nshowdown.subParser('unhashHTMLSpans', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unhashHTMLSpans.before', text, options, globals);\n\n for (var i = 0; i < globals.gHtmlSpans.length; ++i) {\n var repText = globals.gHtmlSpans[i],\n // limiter to prevent infinite loop (assume 10 as limit for recurse)\n limit = 0;\n\n while (/¨C(\\d+)C/.test(repText)) {\n var num = RegExp.$1;\n repText = repText.replace('¨C' + num + 'C', globals.gHtmlSpans[num]);\n if (limit === 10) {\n console.error('maximum nesting of 10 spans reached!!!');\n break;\n }\n ++limit;\n }\n text = text.replace('¨C' + i + 'C', repText);\n }\n\n text = globals.converter._dispatch('unhashHTMLSpans.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Hash and escape
     elements that should not be parsed as markdown\n */\nshowdown.subParser('hashPreCodeTags', function (text, options, globals) {\n  'use strict';\n  text = globals.converter._dispatch('hashPreCodeTags.before', text, options, globals);\n\n  var repFunc = function (wholeMatch, match, left, right) {\n    // encode html entities\n    var codeblock = left + showdown.subParser('encodeCode')(match, options, globals) + right;\n    return '\\n\\n¨G' + (globals.ghCodeBlocks.push({text: wholeMatch, codeblock: codeblock}) - 1) + 'G\\n\\n';\n  };\n\n  // Hash 
    \n  text = showdown.helper.replaceRecursiveRegExp(text, repFunc, '^ {0,3}]*>\\\\s*]*>', '^ {0,3}\\\\s*
    ', 'gim');\n\n text = globals.converter._dispatch('hashPreCodeTags.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('headers', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('headers.before', text, options, globals);\n\n var headerLevelStart = (isNaN(parseInt(options.headerLevelStart))) ? 1 : parseInt(options.headerLevelStart),\n\n // Set text-style headers:\n //\tHeader 1\n //\t========\n //\n //\tHeader 2\n //\t--------\n //\n setextRegexH1 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n={2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n=+[ \\t]*\\n+/gm,\n setextRegexH2 = (options.smoothLivePreview) ? /^(.+)[ \\t]*\\n-{2,}[ \\t]*\\n+/gm : /^(.+)[ \\t]*\\n-+[ \\t]*\\n+/gm;\n\n text = text.replace(setextRegexH1, function (wholeMatch, m1) {\n\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n text = text.replace(setextRegexH2, function (matchFound, m1) {\n var spanGamut = showdown.subParser('spanGamut')(m1, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m1) + '\"',\n hLevel = headerLevelStart + 1,\n hashBlock = '' + spanGamut + '';\n return showdown.subParser('hashBlock')(hashBlock, options, globals);\n });\n\n // atx-style headers:\n // # Header 1\n // ## Header 2\n // ## Header 2 with closing hashes ##\n // ...\n // ###### Header 6\n //\n var atxStyle = (options.requireSpaceBeforeHeadingText) ? /^(#{1,6})[ \\t]+(.+?)[ \\t]*#*\\n+/gm : /^(#{1,6})[ \\t]*(.+?)[ \\t]*#*\\n+/gm;\n\n text = text.replace(atxStyle, function (wholeMatch, m1, m2) {\n var hText = m2;\n if (options.customizedHeaderId) {\n hText = m2.replace(/\\s?\\{([^{]+?)}\\s*$/, '');\n }\n\n var span = showdown.subParser('spanGamut')(hText, options, globals),\n hID = (options.noHeaderId) ? '' : ' id=\"' + headerId(m2) + '\"',\n hLevel = headerLevelStart - 1 + m1.length,\n header = '' + span + '';\n\n return showdown.subParser('hashBlock')(header, options, globals);\n });\n\n function headerId (m) {\n var title,\n prefix;\n\n // It is separate from other options to allow combining prefix and customized\n if (options.customizedHeaderId) {\n var match = m.match(/\\{([^{]+?)}\\s*$/);\n if (match && match[1]) {\n m = match[1];\n }\n }\n\n title = m;\n\n // Prefix id to prevent causing inadvertent pre-existing style matches.\n if (showdown.helper.isString(options.prefixHeaderId)) {\n prefix = options.prefixHeaderId;\n } else if (options.prefixHeaderId === true) {\n prefix = 'section-';\n } else {\n prefix = '';\n }\n\n if (!options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (options.ghCompatibleHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '')\n .replace(/¨T/g, '')\n .replace(/¨D/g, '')\n // replace rest of the chars (&~$ are repeated as they might have been escaped)\n // borrowed from github's redcarpet (some they should produce similar results)\n .replace(/[&+$,\\/:;=?@\"#{}|^¨~\\[\\]`\\\\*)(%.!'<>]/g, '')\n .toLowerCase();\n } else if (options.rawHeaderId) {\n title = title\n .replace(/ /g, '-')\n // replace previously escaped chars (&, ¨ and $)\n .replace(/&/g, '&')\n .replace(/¨T/g, '¨')\n .replace(/¨D/g, '$')\n // replace \" and '\n .replace(/[\"']/g, '-')\n .toLowerCase();\n } else {\n title = title\n .replace(/[^\\w]/g, '')\n .toLowerCase();\n }\n\n if (options.rawPrefixHeaderId) {\n title = prefix + title;\n }\n\n if (globals.hashLinkCounts[title]) {\n title = title + '-' + (globals.hashLinkCounts[title]++);\n } else {\n globals.hashLinkCounts[title] = 1;\n }\n return title;\n }\n\n text = globals.converter._dispatch('headers.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown link shortcuts into XHTML tags.\n */\nshowdown.subParser('horizontalRule', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('horizontalRule.before', text, options, globals);\n\n var key = showdown.subParser('hashBlock')('
    ', options, globals);\n text = text.replace(/^ {0,2}( ?-){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?\\*){3,}[ \\t]*$/gm, key);\n text = text.replace(/^ {0,2}( ?_){3,}[ \\t]*$/gm, key);\n\n text = globals.converter._dispatch('horizontalRule.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Turn Markdown image shortcuts into tags.\n */\nshowdown.subParser('images', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('images.before', text, options, globals);\n\n var inlineRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n crazyRegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]?<([^>]*)>(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:(?:([\"'])([^\"]*?)\\6))?[ \\t]?\\)/g,\n base64RegExp = /!\\[([^\\]]*?)][ \\t]*()\\([ \\t]??(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*(?:([\"'])([^\"]*?)\\6)?[ \\t]?\\)/g,\n referenceRegExp = /!\\[([^\\]]*?)] ?(?:\\n *)?\\[([\\s\\S]*?)]()()()()()/g,\n refShortcutRegExp = /!\\[([^\\[\\]]+)]()()()()()/g;\n\n function writeImageTagBase64 (wholeMatch, altText, linkId, url, width, height, m5, title) {\n url = url.replace(/\\s/g, '');\n return writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title);\n }\n\n function writeImageTag (wholeMatch, altText, linkId, url, width, height, m5, title) {\n\n var gUrls = globals.gUrls,\n gTitles = globals.gTitles,\n gDims = globals.gDimensions;\n\n linkId = linkId.toLowerCase();\n\n if (!title) {\n title = '';\n }\n // Special case for explicit empty url\n if (wholeMatch.search(/\\(? ?(['\"].*['\"])?\\)$/m) > -1) {\n url = '';\n\n } else if (url === '' || url === null) {\n if (linkId === '' || linkId === null) {\n // lower-case and turn embedded newlines into spaces\n linkId = altText.toLowerCase().replace(/ ?\\n/g, ' ');\n }\n url = '#' + linkId;\n\n if (!showdown.helper.isUndefined(gUrls[linkId])) {\n url = gUrls[linkId];\n if (!showdown.helper.isUndefined(gTitles[linkId])) {\n title = gTitles[linkId];\n }\n if (!showdown.helper.isUndefined(gDims[linkId])) {\n width = gDims[linkId].width;\n height = gDims[linkId].height;\n }\n } else {\n return wholeMatch;\n }\n }\n\n altText = altText\n .replace(/\"/g, '"')\n //altText = showdown.helper.escapeCharacters(altText, '*_', false);\n .replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n //url = showdown.helper.escapeCharacters(url, '*_', false);\n url = url.replace(showdown.helper.regexes.asteriskDashAndColon, showdown.helper.escapeCharactersCallback);\n var result = '\"'x \"optional title\")\n\n // base64 encoded images\n text = text.replace(base64RegExp, writeImageTagBase64);\n\n // cases with crazy urls like ./image/cat1).png\n text = text.replace(crazyRegExp, writeImageTag);\n\n // normal cases\n text = text.replace(inlineRegExp, writeImageTag);\n\n // handle reference-style shortcuts: ![img text]\n text = text.replace(refShortcutRegExp, writeImageTag);\n\n text = globals.converter._dispatch('images.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('italicsAndBold', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('italicsAndBold.before', text, options, globals);\n\n // it's faster to have 3 separate regexes for each case than have just one\n // because of backtracing, in some cases, it could lead to an exponential effect\n // called \"catastrophic backtrace\". Ominous!\n\n function parseInside (txt, left, right) {\n /*\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n */\n return left + txt + right;\n }\n\n // Parse underscores\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n text = text.replace(/\\b_(\\S[\\s\\S]*?)_\\b/g, function (wm, txt) {\n return parseInside (txt, '', '');\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/_([^\\s_][\\s\\S]*?)_/g, function (wm, m) {\n // !/^_[^_]/.test(m) - test if it doesn't start with __ (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n // Now parse asterisks\n if (options.literalMidWordAsterisks) {\n text = text.replace(/([^*]|^)\\B\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*\\*(\\S[\\s\\S]*?)\\*\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n text = text.replace(/([^*]|^)\\B\\*(\\S[\\s\\S]*?)\\*\\B(?!\\*)/g, function (wm, lead, txt) {\n return parseInside (txt, lead + '', '');\n });\n } else {\n text = text.replace(/\\*\\*\\*(\\S[\\s\\S]*?)\\*\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*\\*(\\S[\\s\\S]*?)\\*\\*/g, function (wm, m) {\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n text = text.replace(/\\*([^\\s*][\\s\\S]*?)\\*/g, function (wm, m) {\n // !/^\\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)\n return (/\\S$/.test(m)) ? parseInside (m, '', '') : wm;\n });\n }\n\n\n text = globals.converter._dispatch('italicsAndBold.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Form HTML ordered (numbered) and unordered (bulleted) lists.\n */\nshowdown.subParser('lists', function (text, options, globals) {\n 'use strict';\n\n /**\n * Process the contents of a single ordered or unordered list, splitting it\n * into individual list items.\n * @param {string} listStr\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function processListItems (listStr, trimTrailing) {\n // The $g_list_level global keeps track of when we're inside a list.\n // Each time we enter a list, we increment it; when we leave a list,\n // we decrement. If it's zero, we're not in a list anymore.\n //\n // We do this because when we're not inside a list, we want to treat\n // something like this:\n //\n // I recommend upgrading to version\n // 8. Oops, now this line is treated\n // as a sub-list.\n //\n // As a single paragraph, despite the fact that the second line starts\n // with a digit-period-space sequence.\n //\n // Whereas when we're inside a list (or sub-list), that line will be\n // treated as the start of a sub-list. What a kludge, huh? This is\n // an aspect of Markdown's syntax that's hard to parse perfectly\n // without resorting to mind-reading. Perhaps the solution is to\n // change the syntax rules such that sub-lists must start with a\n // starting cardinal number; e.g. \"1.\" or \"a.\".\n globals.gListLevel++;\n\n // trim trailing blank lines:\n listStr = listStr.replace(/\\n{2,}$/, '\\n');\n\n // attacklab: add sentinel to emulate \\z\n listStr += '¨0';\n\n var rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0| {0,3}([*+-]|\\d+[.])[ \\t]+))/gm,\n isParagraphed = (/\\n[ \\t]*\\n(?!¨0)/.test(listStr));\n\n // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,\n // which is a syntax breaking change\n // activating this option reverts to old behavior\n if (options.disableForced4SpacesIndentedSublists) {\n rgx = /(\\n)?(^ {0,3})([*+-]|\\d+[.])[ \\t]+((\\[(x|X| )?])?[ \\t]*[^\\r]+?(\\n{1,2}))(?=\\n*(¨0|\\2([*+-]|\\d+[.])[ \\t]+))/gm;\n }\n\n listStr = listStr.replace(rgx, function (wholeMatch, m1, m2, m3, m4, taskbtn, checked) {\n checked = (checked && checked.trim() !== '');\n\n var item = showdown.subParser('outdent')(m4, options, globals),\n bulletStyle = '';\n\n // Support for github tasklists\n if (taskbtn && options.tasklists) {\n bulletStyle = ' class=\"task-list-item\" style=\"list-style-type: none;\"';\n item = item.replace(/^[ \\t]*\\[(x|X| )?]/m, function () {\n var otp = '
  • a
  • \n // instead of:\n //
    • - - a
    \n // So, to prevent it, we will put a marker (¨A)in the beginning of the line\n // Kind of hackish/monkey patching, but seems more effective than overcomplicating the list parser\n item = item.replace(/^([-*+]|\\d\\.)[ \\t]+[\\S\\n ]*/g, function (wm2) {\n return '¨A' + wm2;\n });\n\n // m1 - Leading line or\n // Has a double return (multi paragraph) or\n // Has sublist\n if (m1 || (item.search(/\\n{2,}/) > -1)) {\n item = showdown.subParser('githubCodeBlocks')(item, options, globals);\n item = showdown.subParser('blockGamut')(item, options, globals);\n } else {\n // Recursion for sub-lists:\n item = showdown.subParser('lists')(item, options, globals);\n item = item.replace(/\\n$/, ''); // chomp(item)\n item = showdown.subParser('hashHTMLBlocks')(item, options, globals);\n\n // Colapse double linebreaks\n item = item.replace(/\\n\\n+/g, '\\n\\n');\n if (isParagraphed) {\n item = showdown.subParser('paragraphs')(item, options, globals);\n } else {\n item = showdown.subParser('spanGamut')(item, options, globals);\n }\n }\n\n // now we need to remove the marker (¨A)\n item = item.replace('¨A', '');\n // we can finally wrap the line in list item tags\n item = '' + item + '\\n';\n\n return item;\n });\n\n // attacklab: strip sentinel\n listStr = listStr.replace(/¨0/g, '');\n\n globals.gListLevel--;\n\n if (trimTrailing) {\n listStr = listStr.replace(/\\s+$/, '');\n }\n\n return listStr;\n }\n\n function styleStartNumber (list, listType) {\n // check if ol and starts by a number different than 1\n if (listType === 'ol') {\n var res = list.match(/^ *(\\d+)\\./);\n if (res && res[1] !== '1') {\n return ' start=\"' + res[1] + '\"';\n }\n }\n return '';\n }\n\n /**\n * Check and parse consecutive lists (better fix for issue #142)\n * @param {string} list\n * @param {string} listType\n * @param {boolean} trimTrailing\n * @returns {string}\n */\n function parseConsecutiveLists (list, listType, trimTrailing) {\n // check if we caught 2 or more consecutive lists by mistake\n // we use the counterRgx, meaning if listType is UL we look for OL and vice versa\n var olRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?\\d+\\.[ \\t]/gm : /^ {0,3}\\d+\\.[ \\t]/gm,\n ulRgx = (options.disableForced4SpacesIndentedSublists) ? /^ ?[*+-][ \\t]/gm : /^ {0,3}[*+-][ \\t]/gm,\n counterRxg = (listType === 'ul') ? olRgx : ulRgx,\n result = '';\n\n if (list.search(counterRxg) !== -1) {\n (function parseCL (txt) {\n var pos = txt.search(counterRxg),\n style = styleStartNumber(list, listType);\n if (pos !== -1) {\n // slice\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt.slice(0, pos), !!trimTrailing) + '\\n';\n\n // invert counterType and listType\n listType = (listType === 'ul') ? 'ol' : 'ul';\n counterRxg = (listType === 'ul') ? olRgx : ulRgx;\n\n //recurse\n parseCL(txt.slice(pos));\n } else {\n result += '\\n\\n<' + listType + style + '>\\n' + processListItems(txt, !!trimTrailing) + '\\n';\n }\n })(list);\n } else {\n var style = styleStartNumber(list, listType);\n result = '\\n\\n<' + listType + style + '>\\n' + processListItems(list, !!trimTrailing) + '\\n';\n }\n\n return result;\n }\n\n /** Start of list parsing **/\n text = globals.converter._dispatch('lists.before', text, options, globals);\n // add sentinel to hack around khtml/safari bug:\n // http://bugs.webkit.org/show_bug.cgi?id=11231\n text += '¨0';\n\n if (globals.gListLevel) {\n text = text.replace(/^(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, list, m2) {\n var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, true);\n }\n );\n } else {\n text = text.replace(/(\\n\\n|^\\n?)(( {0,3}([*+-]|\\d+[.])[ \\t]+)[^\\r]+?(¨0|\\n{2,}(?=\\S)(?![ \\t]*(?:[*+-]|\\d+[.])[ \\t]+)))/gm,\n function (wholeMatch, m1, list, m3) {\n var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';\n return parseConsecutiveLists(list, listType, false);\n }\n );\n }\n\n // strip sentinel\n text = text.replace(/¨0/, '');\n text = globals.converter._dispatch('lists.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Parse metadata at the top of the document\n */\nshowdown.subParser('metadata', function (text, options, globals) {\n 'use strict';\n\n if (!options.metadata) {\n return text;\n }\n\n text = globals.converter._dispatch('metadata.before', text, options, globals);\n\n function parseMetadataContents (content) {\n // raw is raw so it's not changed in any way\n globals.metadata.raw = content;\n\n // escape chars forbidden in html attributes\n // double quotes\n content = content\n // ampersand first\n .replace(/&/g, '&')\n // double quotes\n .replace(/\"/g, '"');\n\n content = content.replace(/\\n {4}/g, ' ');\n content.replace(/^([\\S ]+): +([\\s\\S]+?)$/gm, function (wm, key, value) {\n globals.metadata.parsed[key] = value;\n return '';\n });\n }\n\n text = text.replace(/^\\s*«««+(\\S*?)\\n([\\s\\S]+?)\\n»»»+\\n/, function (wholematch, format, content) {\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/^\\s*---+(\\S*?)\\n([\\s\\S]+?)\\n---+\\n/, function (wholematch, format, content) {\n if (format) {\n globals.metadata.format = format;\n }\n parseMetadataContents(content);\n return '¨M';\n });\n\n text = text.replace(/¨M/g, '');\n\n text = globals.converter._dispatch('metadata.after', text, options, globals);\n return text;\n});\n\r\n/**\n * Remove one level of line-leading tabs or spaces\n */\nshowdown.subParser('outdent', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('outdent.before', text, options, globals);\n\n // attacklab: hack around Konqueror 3.5.4 bug:\n // \"----------bug\".replace(/^-/g,\"\") == \"bug\"\n text = text.replace(/^(\\t|[ ]{1,4})/gm, '¨0'); // attacklab: g_tab_width\n\n // attacklab: clean up hack\n text = text.replace(/¨0/g, '');\n\n text = globals.converter._dispatch('outdent.after', text, options, globals);\n return text;\n});\n\r\n/**\n *\n */\nshowdown.subParser('paragraphs', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('paragraphs.before', text, options, globals);\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n\n var grafs = text.split(/\\n{2,}/g),\n grafsOut = [],\n end = grafs.length; // Wrap

    tags\n\n for (var i = 0; i < end; i++) {\n var str = grafs[i];\n // if this is an HTML marker, copy it\n if (str.search(/¨(K|G)(\\d+)\\1/g) >= 0) {\n grafsOut.push(str);\n\n // test for presence of characters to prevent empty lines being parsed\n // as paragraphs (resulting in undesired extra empty paragraphs)\n } else if (str.search(/\\S/) >= 0) {\n str = showdown.subParser('spanGamut')(str, options, globals);\n str = str.replace(/^([ \\t]*)/g, '

    ');\n str += '

    ';\n grafsOut.push(str);\n }\n }\n\n /** Unhashify HTML blocks */\n end = grafsOut.length;\n for (i = 0; i < end; i++) {\n var blockText = '',\n grafsOutIt = grafsOut[i],\n codeFlag = false;\n // if this is a marker for an html block...\n // use RegExp.test instead of string.search because of QML bug\n while (/¨(K|G)(\\d+)\\1/.test(grafsOutIt)) {\n var delim = RegExp.$1,\n num = RegExp.$2;\n\n if (delim === 'K') {\n blockText = globals.gHtmlBlocks[num];\n } else {\n // we need to check if ghBlock is a false positive\n if (codeFlag) {\n // use encoded version of all text\n blockText = showdown.subParser('encodeCode')(globals.ghCodeBlocks[num].text, options, globals);\n } else {\n blockText = globals.ghCodeBlocks[num].codeblock;\n }\n }\n blockText = blockText.replace(/\\$/g, '$$$$'); // Escape any dollar signs\n\n grafsOutIt = grafsOutIt.replace(/(\\n\\n)?¨(K|G)\\d+\\2(\\n\\n)?/, blockText);\n // Check if grafsOutIt is a pre->code\n if (/^]*>\\s*]*>/.test(grafsOutIt)) {\n codeFlag = true;\n }\n }\n grafsOut[i] = grafsOutIt;\n }\n text = grafsOut.join('\\n');\n // Strip leading and trailing lines:\n text = text.replace(/^\\n+/g, '');\n text = text.replace(/\\n+$/g, '');\n return globals.converter._dispatch('paragraphs.after', text, options, globals);\n});\n\r\n/**\n * Run extension\n */\nshowdown.subParser('runExtension', function (ext, text, options, globals) {\n 'use strict';\n\n if (ext.filter) {\n text = ext.filter(text, globals.converter, options);\n\n } else if (ext.regex) {\n // TODO remove this when old extension loading mechanism is deprecated\n var re = ext.regex;\n if (!(re instanceof RegExp)) {\n re = new RegExp(re, 'g');\n }\n text = text.replace(re, ext.replace);\n }\n\n return text;\n});\n\r\n/**\n * These are all the transformations that occur *within* block-level\n * tags like paragraphs, headers, and list items.\n */\nshowdown.subParser('spanGamut', function (text, options, globals) {\n 'use strict';\n\n text = globals.converter._dispatch('spanGamut.before', text, options, globals);\n text = showdown.subParser('codeSpans')(text, options, globals);\n text = showdown.subParser('escapeSpecialCharsWithinTagAttributes')(text, options, globals);\n text = showdown.subParser('encodeBackslashEscapes')(text, options, globals);\n\n // Process anchor and image tags. Images must come first,\n // because ![foo][f] looks like an anchor.\n text = showdown.subParser('images')(text, options, globals);\n text = showdown.subParser('anchors')(text, options, globals);\n\n // Make links out of things like ``\n // Must come after anchors, because you can use < and >\n // delimiters in inline links like [this]().\n text = showdown.subParser('autoLinks')(text, options, globals);\n text = showdown.subParser('simplifiedAutoLinks')(text, options, globals);\n text = showdown.subParser('emoji')(text, options, globals);\n text = showdown.subParser('underline')(text, options, globals);\n text = showdown.subParser('italicsAndBold')(text, options, globals);\n text = showdown.subParser('strikethrough')(text, options, globals);\n text = showdown.subParser('ellipsis')(text, options, globals);\n\n // we need to hash HTML tags inside spans\n text = showdown.subParser('hashHTMLSpans')(text, options, globals);\n\n // now we encode amps and angles\n text = showdown.subParser('encodeAmpsAndAngles')(text, options, globals);\n\n // Do hard breaks\n if (options.simpleLineBreaks) {\n // GFM style hard breaks\n // only add line breaks if the text does not contain a block (special case for lists)\n if (!/\\n\\n¨K/.test(text)) {\n text = text.replace(/\\n+/g, '
    \\n');\n }\n } else {\n // Vanilla hard breaks\n text = text.replace(/ +\\n/g, '
    \\n');\n }\n\n text = globals.converter._dispatch('spanGamut.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('strikethrough', function (text, options, globals) {\n 'use strict';\n\n function parseInside (txt) {\n if (options.simplifiedAutoLink) {\n txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);\n }\n return '' + txt + '';\n }\n\n if (options.strikethrough) {\n text = globals.converter._dispatch('strikethrough.before', text, options, globals);\n text = text.replace(/(?:~){2}([\\s\\S]+?)(?:~){2}/g, function (wm, txt) { return parseInside(txt); });\n text = globals.converter._dispatch('strikethrough.after', text, options, globals);\n }\n\n return text;\n});\n\r\n/**\n * Strips link definitions from text, stores the URLs and titles in\n * hash references.\n * Link defs are in the form: ^[id]: url \"optional title\"\n */\nshowdown.subParser('stripLinkDefinitions', function (text, options, globals) {\n 'use strict';\n\n var regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*\\s]+)>?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n+|(?=¨0))/gm,\n base64Regex = /^ {0,3}\\[(.+)]:[ \\t]*\\n?[ \\t]*?(?: =([*\\d]+[A-Za-z%]{0,4})x([*\\d]+[A-Za-z%]{0,4}))?[ \\t]*\\n?[ \\t]*(?:(\\n*)[\"|'(](.+?)[\"|')][ \\t]*)?(?:\\n\\n|(?=¨0)|(?=\\n\\[))/gm;\n\n // attacklab: sentinel workarounds for lack of \\A and \\Z, safari\\khtml bug\n text += '¨0';\n\n var replaceFunc = function (wholeMatch, linkId, url, width, height, blankLines, title) {\n linkId = linkId.toLowerCase();\n if (url.match(/^data:.+?\\/.+?;base64,/)) {\n // remove newlines\n globals.gUrls[linkId] = url.replace(/\\s/g, '');\n } else {\n globals.gUrls[linkId] = showdown.subParser('encodeAmpsAndAngles')(url, options, globals); // Link IDs are case-insensitive\n }\n\n if (blankLines) {\n // Oops, found blank lines, so it's not a title.\n // Put back the parenthetical statement we stole.\n return blankLines + title;\n\n } else {\n if (title) {\n globals.gTitles[linkId] = title.replace(/\"|'/g, '"');\n }\n if (options.parseImgDimensions && width && height) {\n globals.gDimensions[linkId] = {\n width: width,\n height: height\n };\n }\n }\n // Completely remove the definition from the text\n return '';\n };\n\n // first we try to find base64 link references\n text = text.replace(base64Regex, replaceFunc);\n\n text = text.replace(regex, replaceFunc);\n\n // attacklab: strip sentinel\n text = text.replace(/¨0/, '');\n\n return text;\n});\n\r\nshowdown.subParser('tables', function (text, options, globals) {\n 'use strict';\n\n if (!options.tables) {\n return text;\n }\n\n var tableRgx = /^ {0,3}\\|?.+\\|.+\\n {0,3}\\|?[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[\\s\\S]+?(?:\\n\\n|¨0)/gm,\n //singeColTblRgx = /^ {0,3}\\|.+\\|\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n(?: {0,3}\\|.+\\|\\n)+(?:\\n\\n|¨0)/gm;\n singeColTblRgx = /^ {0,3}\\|.+\\|[ \\t]*\\n {0,3}\\|[ \\t]*:?[ \\t]*(?:[-=]){2,}[ \\t]*:?[ \\t]*\\|[ \\t]*\\n( {0,3}\\|.+\\|[ \\t]*\\n)*(?:\\n|¨0)/gm;\n\n function parseStyles (sLine) {\n if (/^:[ \\t]*--*$/.test(sLine)) {\n return ' style=\"text-align:left;\"';\n } else if (/^--*[ \\t]*:[ \\t]*$/.test(sLine)) {\n return ' style=\"text-align:right;\"';\n } else if (/^:[ \\t]*--*[ \\t]*:$/.test(sLine)) {\n return ' style=\"text-align:center;\"';\n } else {\n return '';\n }\n }\n\n function parseHeaders (header, style) {\n var id = '';\n header = header.trim();\n // support both tablesHeaderId and tableHeaderId due to error in documentation so we don't break backwards compatibility\n if (options.tablesHeaderId || options.tableHeaderId) {\n id = ' id=\"' + header.replace(/ /g, '_').toLowerCase() + '\"';\n }\n header = showdown.subParser('spanGamut')(header, options, globals);\n\n return '' + header + '\\n';\n }\n\n function parseCells (cell, style) {\n var subText = showdown.subParser('spanGamut')(cell, options, globals);\n return '' + subText + '\\n';\n }\n\n function buildTable (headers, cells) {\n var tb = '
    \\n\\n\\n',\n tblLgn = headers.length;\n\n for (var i = 0; i < tblLgn; ++i) {\n tb += headers[i];\n }\n tb += '\\n\\n\\n';\n\n for (i = 0; i < cells.length; ++i) {\n tb += '\\n';\n for (var ii = 0; ii < tblLgn; ++ii) {\n tb += cells[i][ii];\n }\n tb += '\\n';\n }\n tb += '\\n
    \\n';\n return tb;\n }\n\n function parseTable (rawTable) {\n var i, tableLines = rawTable.split('\\n');\n\n for (i = 0; i < tableLines.length; ++i) {\n // strip wrong first and last column if wrapped tables are used\n if (/^ {0,3}\\|/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/^ {0,3}\\|/, '');\n }\n if (/\\|[ \\t]*$/.test(tableLines[i])) {\n tableLines[i] = tableLines[i].replace(/\\|[ \\t]*$/, '');\n }\n // parse code spans first, but we only support one line code spans\n tableLines[i] = showdown.subParser('codeSpans')(tableLines[i], options, globals);\n }\n\n var rawHeaders = tableLines[0].split('|').map(function (s) { return s.trim();}),\n rawStyles = tableLines[1].split('|').map(function (s) { return s.trim();}),\n rawCells = [],\n headers = [],\n styles = [],\n cells = [];\n\n tableLines.shift();\n tableLines.shift();\n\n for (i = 0; i < tableLines.length; ++i) {\n if (tableLines[i].trim() === '') {\n continue;\n }\n rawCells.push(\n tableLines[i]\n .split('|')\n .map(function (s) {\n return s.trim();\n })\n );\n }\n\n if (rawHeaders.length < rawStyles.length) {\n return rawTable;\n }\n\n for (i = 0; i < rawStyles.length; ++i) {\n styles.push(parseStyles(rawStyles[i]));\n }\n\n for (i = 0; i < rawHeaders.length; ++i) {\n if (showdown.helper.isUndefined(styles[i])) {\n styles[i] = '';\n }\n headers.push(parseHeaders(rawHeaders[i], styles[i]));\n }\n\n for (i = 0; i < rawCells.length; ++i) {\n var row = [];\n for (var ii = 0; ii < headers.length; ++ii) {\n if (showdown.helper.isUndefined(rawCells[i][ii])) {\n\n }\n row.push(parseCells(rawCells[i][ii], styles[ii]));\n }\n cells.push(row);\n }\n\n return buildTable(headers, cells);\n }\n\n text = globals.converter._dispatch('tables.before', text, options, globals);\n\n // find escaped pipe characters\n text = text.replace(/\\\\(\\|)/g, showdown.helper.escapeCharactersCallback);\n\n // parse multi column tables\n text = text.replace(tableRgx, parseTable);\n\n // parse one column tables\n text = text.replace(singeColTblRgx, parseTable);\n\n text = globals.converter._dispatch('tables.after', text, options, globals);\n\n return text;\n});\n\r\nshowdown.subParser('underline', function (text, options, globals) {\n 'use strict';\n\n if (!options.underline) {\n return text;\n }\n\n text = globals.converter._dispatch('underline.before', text, options, globals);\n\n if (options.literalMidWordUnderscores) {\n text = text.replace(/\\b___(\\S[\\s\\S]*?)___\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n text = text.replace(/\\b__(\\S[\\s\\S]*?)__\\b/g, function (wm, txt) {\n return '' + txt + '';\n });\n } else {\n text = text.replace(/___(\\S[\\s\\S]*?)___/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n text = text.replace(/__(\\S[\\s\\S]*?)__/g, function (wm, m) {\n return (/\\S$/.test(m)) ? '' + m + '' : wm;\n });\n }\n\n // escape remaining underscores to prevent them being parsed by italic and bold\n text = text.replace(/(_)/g, showdown.helper.escapeCharactersCallback);\n\n text = globals.converter._dispatch('underline.after', text, options, globals);\n\n return text;\n});\n\r\n/**\n * Swap back in all the special characters we've hidden.\n */\nshowdown.subParser('unescapeSpecialChars', function (text, options, globals) {\n 'use strict';\n text = globals.converter._dispatch('unescapeSpecialChars.before', text, options, globals);\n\n text = text.replace(/¨E(\\d+)E/g, function (wholeMatch, m1) {\n var charCodeToReplace = parseInt(m1);\n return String.fromCharCode(charCodeToReplace);\n });\n\n text = globals.converter._dispatch('unescapeSpecialChars.after', text, options, globals);\n return text;\n});\n\r\nshowdown.subParser('makeMarkdown.blockquote', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n var innerTxt = showdown.subParser('makeMarkdown.node')(children[i], globals);\n\n if (innerTxt === '') {\n continue;\n }\n txt += innerTxt;\n }\n }\n // cleanup\n txt = txt.trim();\n txt = '> ' + txt.split('\\n').join('\\n> ');\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.codeBlock', function (node, globals) {\n 'use strict';\n\n var lang = node.getAttribute('language'),\n num = node.getAttribute('precodenum');\n return '```' + lang + '\\n' + globals.preList[num] + '\\n```';\n});\n\r\nshowdown.subParser('makeMarkdown.codeSpan', function (node) {\n 'use strict';\n\n return '`' + node.innerHTML + '`';\n});\n\r\nshowdown.subParser('makeMarkdown.emphasis', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '*';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '*';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.header', function (node, globals, headerLevel) {\n 'use strict';\n\n var headerMark = new Array(headerLevel + 1).join('#'),\n txt = '';\n\n if (node.hasChildNodes()) {\n txt = headerMark + ' ';\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.hr', function () {\n 'use strict';\n\n return '---';\n});\n\r\nshowdown.subParser('makeMarkdown.image', function (node) {\n 'use strict';\n\n var txt = '';\n if (node.hasAttribute('src')) {\n txt += '![' + node.getAttribute('alt') + '](';\n txt += '<' + node.getAttribute('src') + '>';\n if (node.hasAttribute('width') && node.hasAttribute('height')) {\n txt += ' =' + node.getAttribute('width') + 'x' + node.getAttribute('height');\n }\n\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.links', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes() && node.hasAttribute('href')) {\n var children = node.childNodes,\n childrenLength = children.length;\n txt = '[';\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '](';\n txt += '<' + node.getAttribute('href') + '>';\n if (node.hasAttribute('title')) {\n txt += ' \"' + node.getAttribute('title') + '\"';\n }\n txt += ')';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.list', function (node, globals, type) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var listItems = node.childNodes,\n listItemsLenght = listItems.length,\n listNum = node.getAttribute('start') || 1;\n\n for (var i = 0; i < listItemsLenght; ++i) {\n if (typeof listItems[i].tagName === 'undefined' || listItems[i].tagName.toLowerCase() !== 'li') {\n continue;\n }\n\n // define the bullet to use in list\n var bullet = '';\n if (type === 'ol') {\n bullet = listNum.toString() + '. ';\n } else {\n bullet = '- ';\n }\n\n // parse list item\n txt += bullet + showdown.subParser('makeMarkdown.listItem')(listItems[i], globals);\n ++listNum;\n }\n\n // add comment at the end to prevent consecutive lists to be parsed as one\n txt += '\\n\\n';\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.listItem', function (node, globals) {\n 'use strict';\n\n var listItemTxt = '';\n\n var children = node.childNodes,\n childrenLenght = children.length;\n\n for (var i = 0; i < childrenLenght; ++i) {\n listItemTxt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n // if it's only one liner, we need to add a newline at the end\n if (!/\\n$/.test(listItemTxt)) {\n listItemTxt += '\\n';\n } else {\n // it's multiparagraph, so we need to indent\n listItemTxt = listItemTxt\n .split('\\n')\n .join('\\n ')\n .replace(/^ {4}$/gm, '')\n .replace(/\\n\\n+/g, '\\n\\n');\n }\n\n return listItemTxt;\n});\n\r\n\n\nshowdown.subParser('makeMarkdown.node', function (node, globals, spansOnly) {\n 'use strict';\n\n spansOnly = spansOnly || false;\n\n var txt = '';\n\n // edge case of text without wrapper paragraph\n if (node.nodeType === 3) {\n return showdown.subParser('makeMarkdown.txt')(node, globals);\n }\n\n // HTML comment\n if (node.nodeType === 8) {\n return '\\n\\n';\n }\n\n // process only node elements\n if (node.nodeType !== 1) {\n return '';\n }\n\n var tagName = node.tagName.toLowerCase();\n\n switch (tagName) {\n\n //\n // BLOCKS\n //\n case 'h1':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 1) + '\\n\\n'; }\n break;\n case 'h2':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 2) + '\\n\\n'; }\n break;\n case 'h3':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 3) + '\\n\\n'; }\n break;\n case 'h4':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 4) + '\\n\\n'; }\n break;\n case 'h5':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 5) + '\\n\\n'; }\n break;\n case 'h6':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.header')(node, globals, 6) + '\\n\\n'; }\n break;\n\n case 'p':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.paragraph')(node, globals) + '\\n\\n'; }\n break;\n\n case 'blockquote':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.blockquote')(node, globals) + '\\n\\n'; }\n break;\n\n case 'hr':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.hr')(node, globals) + '\\n\\n'; }\n break;\n\n case 'ol':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ol') + '\\n\\n'; }\n break;\n\n case 'ul':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.list')(node, globals, 'ul') + '\\n\\n'; }\n break;\n\n case 'precode':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.codeBlock')(node, globals) + '\\n\\n'; }\n break;\n\n case 'pre':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.pre')(node, globals) + '\\n\\n'; }\n break;\n\n case 'table':\n if (!spansOnly) { txt = showdown.subParser('makeMarkdown.table')(node, globals) + '\\n\\n'; }\n break;\n\n //\n // SPANS\n //\n case 'code':\n txt = showdown.subParser('makeMarkdown.codeSpan')(node, globals);\n break;\n\n case 'em':\n case 'i':\n txt = showdown.subParser('makeMarkdown.emphasis')(node, globals);\n break;\n\n case 'strong':\n case 'b':\n txt = showdown.subParser('makeMarkdown.strong')(node, globals);\n break;\n\n case 'del':\n txt = showdown.subParser('makeMarkdown.strikethrough')(node, globals);\n break;\n\n case 'a':\n txt = showdown.subParser('makeMarkdown.links')(node, globals);\n break;\n\n case 'img':\n txt = showdown.subParser('makeMarkdown.image')(node, globals);\n break;\n\n default:\n txt = node.outerHTML + '\\n\\n';\n }\n\n // common normalization\n // TODO eventually\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.paragraph', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n }\n\n // some text normalization\n txt = txt.trim();\n\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.pre', function (node, globals) {\n 'use strict';\n\n var num = node.getAttribute('prenum');\n return '
    ' + globals.preList[num] + '
    ';\n});\n\r\nshowdown.subParser('makeMarkdown.strikethrough', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '~~';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '~~';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.strong', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (node.hasChildNodes()) {\n txt += '**';\n var children = node.childNodes,\n childrenLength = children.length;\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals);\n }\n txt += '**';\n }\n return txt;\n});\n\r\nshowdown.subParser('makeMarkdown.table', function (node, globals) {\n 'use strict';\n\n var txt = '',\n tableArray = [[], []],\n headings = node.querySelectorAll('thead>tr>th'),\n rows = node.querySelectorAll('tbody>tr'),\n i, ii;\n for (i = 0; i < headings.length; ++i) {\n var headContent = showdown.subParser('makeMarkdown.tableCell')(headings[i], globals),\n allign = '---';\n\n if (headings[i].hasAttribute('style')) {\n var style = headings[i].getAttribute('style').toLowerCase().replace(/\\s/g, '');\n switch (style) {\n case 'text-align:left;':\n allign = ':---';\n break;\n case 'text-align:right;':\n allign = '---:';\n break;\n case 'text-align:center;':\n allign = ':---:';\n break;\n }\n }\n tableArray[0][i] = headContent.trim();\n tableArray[1][i] = allign;\n }\n\n for (i = 0; i < rows.length; ++i) {\n var r = tableArray.push([]) - 1,\n cols = rows[i].getElementsByTagName('td');\n\n for (ii = 0; ii < headings.length; ++ii) {\n var cellContent = ' ';\n if (typeof cols[ii] !== 'undefined') {\n cellContent = showdown.subParser('makeMarkdown.tableCell')(cols[ii], globals);\n }\n tableArray[r].push(cellContent);\n }\n }\n\n var cellSpacesCount = 3;\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n var strLen = tableArray[i][ii].length;\n if (strLen > cellSpacesCount) {\n cellSpacesCount = strLen;\n }\n }\n }\n\n for (i = 0; i < tableArray.length; ++i) {\n for (ii = 0; ii < tableArray[i].length; ++ii) {\n if (i === 1) {\n if (tableArray[i][ii].slice(-1) === ':') {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii].slice(-1), cellSpacesCount - 1, '-') + ':';\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount, '-');\n }\n } else {\n tableArray[i][ii] = showdown.helper.padEnd(tableArray[i][ii], cellSpacesCount);\n }\n }\n txt += '| ' + tableArray[i].join(' | ') + ' |\\n';\n }\n\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.tableCell', function (node, globals) {\n 'use strict';\n\n var txt = '';\n if (!node.hasChildNodes()) {\n return '';\n }\n var children = node.childNodes,\n childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; ++i) {\n txt += showdown.subParser('makeMarkdown.node')(children[i], globals, true);\n }\n return txt.trim();\n});\n\r\nshowdown.subParser('makeMarkdown.txt', function (node) {\n 'use strict';\n\n var txt = node.nodeValue;\n\n // multiple spaces are collapsed\n txt = txt.replace(/ +/g, ' ');\n\n // replace the custom ¨NBSP; with a space\n txt = txt.replace(/¨NBSP;/g, ' ');\n\n // \", <, > and & should replace escaped html entities\n txt = showdown.helper.unescapeHTMLEntities(txt);\n\n // escape markdown magic characters\n // emphasis, strong and strikethrough - can appear everywhere\n // we also escape pipe (|) because of tables\n // and escape ` because of code blocks and spans\n txt = txt.replace(/([*_~|`])/g, '\\\\$1');\n\n // escape > because of blockquotes\n txt = txt.replace(/^(\\s*)>/g, '\\\\$1>');\n\n // hash character, only troublesome at the beginning of a line because of headers\n txt = txt.replace(/^#/gm, '\\\\#');\n\n // horizontal rules\n txt = txt.replace(/^(\\s*)([-=]{3,})(\\s*)$/, '$1\\\\$2$3');\n\n // dot, because of ordered lists, only troublesome at the beginning of a line when preceded by an integer\n txt = txt.replace(/^( {0,3}\\d+)\\./gm, '$1\\\\.');\n\n // +, * and -, at the beginning of a line becomes a list, so we need to escape them also (asterisk was already escaped)\n txt = txt.replace(/^( {0,3})([+-])/gm, '$1\\\\$2');\n\n // images and links, ] followed by ( is problematic, so we escape it\n txt = txt.replace(/]([\\s]*)\\(/g, '\\\\]$1\\\\(');\n\n // reference URIs must also be escaped\n txt = txt.replace(/^ {0,3}\\[([\\S \\t]*?)]:/gm, '\\\\[$1]:');\n\n return txt;\n});\n\r\nvar root = this;\n\n// AMD Loader\nif (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = function () {\n 'use strict';\n return showdown;\n }.call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n// CommonJS/nodeJS Loader\n} else if (typeof module !== 'undefined' && module.exports) {\n module.exports = showdown;\n\n// Regular Browser loader\n} else {\n root.showdown = showdown;\n}\n}).call(this);\r\n\n//# sourceMappingURL=showdown.js.map\r\n\n\n/***/ }),\n/* 602 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar React = __webpack_require__(0);\nvar factory = __webpack_require__(1171);\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n\n\n/***/ }),\n/* 603 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Upload__ = __webpack_require__(1502);\n// export this package's api\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__Upload__[\"a\" /* default */]);\n\n/***/ }),\n/* 604 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = commentHOC;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_immutability_helper__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__page_layers_ImageLayer__ = __webpack_require__(320);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:1;var _props=this.props,challenge=_props.challenge,shixun=_props.shixun;var url='/api/v1/shixuns/'+shixun.id+'/shixun_discusses?page='+(page-1)+'&container_type=Shixun';this.setState({loadingComments:true});// test\n// if (true) {\nif(false){var data={\"children_list\":[{\"id\":1165,\"content\":'\\u7535\\u8111\\u6CA1\\u6709pi\\u554A',\"time\":'4\\u5929\\u524D',\"position\":2,\"user_id\":31542,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":'\\u8D75\\u94F6\\u7FD4',\"user_login\":\"p81572036\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":1142,\"content\":'\\u6700\\u540E\\u4E00\\u9898\\u4E09\\u5929\\u6253\\u9C7C\\uFF0C\\u4E24\\u5929\\u6652\\u7F51\\uFF0C\\u4E0D\\u5E94\\u8BE5\\u662F1.01*1.01*1.01*0.99*0.99\\uFF0C\\u800C\\u4E0D\\u662F\\u52A0\\u5417\\uFF1F',\"time\":'4\\u5929\\u524D',\"position\":1,\"user_id\":33714,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":'\\u843D\\u5C18',\"user_login\":\"p52769048\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":[{\"content\":'\\u672C\\u5173\\u5E76\\u6CA1\\u6709\\u5199\\u5230\\u201C1.01*1.01*1.01*0.99*0.99\\u201D\\uFF0C\\u4E0D\\u77E5\\u9053\\u4F55\\u6765\\u6B64\\u95EE\\uFF1F',\"time\":'4\\u5929\\u524D',\"position\":1,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_id\":1,\"user_login\":\"innov\",\"can_delete\":false,\"id\":1144}]},{\"id\":1112,\"content\":'\\u8FD9\\u4E2A\\u5B9E\\u8BAD\\u5F88\\u8D5E\\uFF01',\"time\":'10\\u5929\\u524D',\"position\":2,\"user_id\":12,\"reward\":null,\"image_url\":\"avatars/User/12\",\"username\":'\\u9EC4\\u4E95\\u6CC9',\"user_login\":\"Hjqreturn\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":1057,\"content\":'\\u4E0D\\u9519',\"time\":'20\\u5929\\u524D',\"position\":2,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":975,\"content\":\"q\",\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":[{\"content\":'\\u4E0B\\u6B21\\u518D\\u53D1\\u65E0\\u610F\\u4E49\\u7684\\u5185\\u5BB9\\uFF0C\\u5C06\\u88AB\\u6263\\u91D1\\u5E01\\u54E6',\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_id\":1,\"user_login\":\"innov\",\"can_delete\":false,\"id\":980}]},{\"id\":974,\"content\":\"k\",\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":[{\"content\":'\\u4E0B\\u6B21\\u518D\\u53D1\\u65E0\\u610F\\u4E49\\u7684\\u5185\\u5BB9\\uFF0C\\u5C06\\u88AB\\u6263\\u91D1\\u5E01\\u54E6',\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":2,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_id\":1,\"user_login\":\"innov\",\"can_delete\":false,\"id\":981}]},{\"id\":859,\"content\":'\\u5F88\\u68D2\\uFF01\\uFF01\\uFF01',\"time\":'1\\u4E2A\\u6708\\u524D',\"position\":4,\"user_id\":1,\"reward\":null,\"image_url\":\"avatars/User/1\",\"username\":\"Coder\",\"user_login\":\"innov\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":802,\"content\":'\\u4E0D\\u9519\\uFF01',\"time\":'2\\u4E2A\\u6708\\u524D',\"position\":1,\"user_id\":30403,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"Jimmy\",\"user_login\":\"p69243850\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":619,\"content\":'\\u770B\\u6765\\u8001\\u5E08\\u5BF9\\u9F50\\u7528\\u7684\\u90FD\\u662F\\u7A7A\\u683C',\"time\":'5\\u4E2A\\u6708\\u524D',\"position\":3,\"user_id\":29145,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":\"yang\",\"user_login\":\"m02945638\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":1,\"user_praise\":false,\"admin\":false,\"children\":null},{\"id\":553,\"content\":\"

    \\r\\n\\t666\\r\\n

    \\r\\n

    \\r\\n\\t
    \\r\\n

    \",\"time\":'6\\u4E2A\\u6708\\u524D',\"position\":4,\"user_id\":26838,\"reward\":null,\"image_url\":\"avatars/User/b\",\"username\":'\\u5189\\u529B',\"user_login\":\"m54013296\",\"shixun_id\":61,\"hidden\":false,\"manager\":false,\"praise_count\":0,\"user_praise\":false,\"admin\":false,\"children\":null}],\"disscuss_count\":183};this.setState({comments:data.children_list,comment_count_without_reply:data.disscuss_count,currentPage:page,loadingComments:false});return;}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url,{withCredentials:true}).then(function(response){// test\nif(response.data){_this2.setState({comments:response.data.children_list,comment_count_without_reply:response.data.disscuss_count,currentPage:page,loadingComments:false},function(){// keditor代码美化\nwindow.prettyPrint();});}console.log(response);}).catch(function(error){console.log(error);});}},{key:'fetchCommentIfNotFetched',value:function fetchCommentIfNotFetched(){if(this.state.comments&&this.state.comments.length){return;}// http://localhost:3000/api/v1/shixuns/cz7yw3en/shixun_discusses?page=0\t\nthis.fetchComment();}// 新增父级评论\n},{key:'createNewComment',value:function createNewComment(){var _this3=this;console.log('createNewComment...');var _props2=this.props,challenge=_props2.challenge,shixun=_props2.shixun,showSnackbar=_props2.showSnackbar;var content=window._commentInput.html();if(!content||content.length===0){showSnackbar('必须填写内容!');return;}var url='/api/v1/discusses';if(content!=undefined){var beforeImage=content.split(\"\");if(beforeImage[0]==\"\"&&afterImage[1]==\"\"){window.notice_box('不支持纯图片评论
    请在评论中增加文字信息');return;}}if(content){// 去掉尾部的回车换行\ncontent=content.replace(/(\\n

    \\n\\t
    \\n<\\/p>)*$/g,'');}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{shixun_id:shixun.id,challenge_id:challenge.id,content:content,position:challenge.position},{withCredentials:true}).then(function(response){if(response.data.status===1){window._commentInput.html('');window._commentInput.afterBlur();// \t\tthis.setState({\n// \trunTesting: false,\n// })\n_this3.fetchComment();}console.log(response);}).catch(function(error){console.log(error);});}},{key:'_findCommentById',value:function _findCommentById(id,arg_comments){var comments=void 0;if(!arg_comments){comments=this.state.comments;}else{comments=arg_comments;}for(var i=0;i\\n\\t
    \\n<\\/p>)*$/g,'');}if(!user.login&&user.user_url){var loginAr=user.user_url.split('/');user.login=loginAr[loginAr.length-1];}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{content:commentContent},{withCredentials:true}).then(function(response){if(response.data.discuss){var newDiscuss=response.data.discuss;var comments=_this4.state.comments;var commentIndex=_this4._findCommentById(id);var comment=comments[commentIndex];if(!comment.children){comment.children=[];}// TODO userName iamge_url\ncomment.children.push({\"can_delete\":true,\"content\":commentContent,\"image_url\":user.image_url,\"username\":user.username,\"user_login\":user.login,\"id\":newDiscuss.id,\"position\":newDiscuss.position,\"time\":\"1分钟前\",\"praise_count\":newDiscuss.praise_count,\"user_id\":newDiscuss.user_id});comments[commentIndex]=comment;// ke\neditor.html&&editor.html('');// md\nif(editor.setValue){editor.setValue('');var _$=window.$;var view_selector='.commentItemMDEditorView_'+id;_$(view_selector).hide();}_this4.setState({// runTesting: false,\ncomments:comments},function(){// keditor代码美化\neditor.html&&window.prettyPrint();});}console.log(response);}).catch(function(error){console.log(error);});}},{key:'hiddenComment',value:function hiddenComment(item,childCommentId){var _this5=this;var id=item.id;var _props4=this.props,challenge=_props4.challenge,shixun=_props4.shixun,user=_props4.user,showSnackbar=_props4.showSnackbar;var url='/api/v1/discusses/'+(childCommentId||id)+'/hidden';var commentIndex=this._findCommentById(id);var comments=this.state.comments;var comment=comments[commentIndex];var childCommentIndex=void 0,childComment=void 0;if(childCommentId){childCommentIndex=this._findCommentById(childCommentId,comments[commentIndex].children);childComment=comments[commentIndex].children[childCommentIndex];}__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{hidden:childComment?childComment.hidden?\"0\":\"1\":comment.hidden?\"0\":\"1\"},{withCredentials:true}).then(function(response){if(response.data.status===-1){showSnackbar(response.data.message);return;}if(response.data.status===1){if(!childCommentId){comment.hidden=!comment.hidden;_this5.setState({comments:comments});}else{// TODO 目前子回复没hidden字段\nchildComment.hidden=!childComment.hidden;_this5.setState({comments:comments});}}// {\"message\":\"Couldn't find Discuss with id=911\",\"status\":-1}\nconsole.log(response);}).catch(function(error){console.log(error);});}},{key:'deleteComment',value:function deleteComment(parrentComment,childCommentId){var _this6=this;var _props5=this.props,challenge=_props5.challenge,shixun=_props5.shixun;var deleteCommentId=parrentComment.id;if(childCommentId){deleteCommentId=childCommentId;}var url='/api/v1/discusses/'+deleteCommentId;__WEBPACK_IMPORTED_MODULE_2_axios___default.a.delete(url,{withCredentials:true}).then(function(response){// TODO 删除成功或失败\nif(response.data&&response.data.status===1){var commentIndex=_this6._findCommentById(parrentComment.id);// https://stackoverflow.com/questions/29527385/removing-element-from-array-in-component-state\nif(!childCommentId){_this6.setState(function(prevState){return{comments:__WEBPACK_IMPORTED_MODULE_3_immutability_helper___default()(prevState.comments,{$splice:[[commentIndex,1]]})};});if(_this6.state.comments.length<=5){_this6.fetchComment();}}else{var comments=_this6.state.comments;var childCommentIndex=_this6._findCommentById(childCommentId,comments[commentIndex].children);comments[commentIndex].children=__WEBPACK_IMPORTED_MODULE_3_immutability_helper___default()(comments[commentIndex].children,{$splice:[[childCommentIndex,1]]});_this6.setState({comments:comments});}}console.log(response);}).catch(function(error){console.log(error);});}},{key:'rewardCode',value:function rewardCode(parrentComment,childComment,amount){var _this7=this;var _props6=this.props,challenge=_props6.challenge,shixun=_props6.shixun,showSnackbar=_props6.showSnackbar;var handleComment=parrentComment;if(childComment){handleComment=childComment;}var handleCommentId=handleComment.id;var url='/api/v1/discusses/'+handleCommentId+'/reward_code';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{id:handleCommentId,// container_id: shixun.id,\ncontainer_type:'Discusses',score:amount,user_id:handleComment.user_id},{withCredentials:true}).then(function(response){if(response.data&&response.data.code){var commentIndex=_this7._findCommentById(parrentComment.id);var comments=_this7.state.comments;if(childComment){var childCommentIndex=_this7._findCommentById(handleComment.id,parrentComment.children);var newChildComment=Object.assign({},childComment);newChildComment.reward=response.data.code;parrentComment.children[childCommentIndex]=newChildComment;comments[commentIndex]=parrentComment;_this7.setState({comments:comments});}else{comments[commentIndex].reward=response.data.code;_this7.setState({comments:comments});}}}).catch(function(error){console.log(error);showSnackbar('奖励失败,请联系系统管理员!');});}// 评论点赞\n},{key:'commentPraise',value:function commentPraise(discussId){var _this8=this;var commentIndex=this._findCommentById(discussId);var comments=this.state.comments;var challenge=this.props.challenge;var url='/api/v1/discusses/'+discussId+'/plus';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post(url,{// id: discussId,\n// container_id: challenge.id,\ncontainer_type:'Discuss',//Discuss\ntype:comments[commentIndex].user_praise===true?0:1// \"踩0;赞1\"\n},{withCredentials:true}).then(function(response){if(response.data.praise_count===0||response.data.praise_count){comments[commentIndex].user_praise=!comments[commentIndex].user_praise;comments[commentIndex].praise_count=response.data.praise_count;_this8.setState({comments:comments});}console.log(response);}).catch(function(error){console.log(error);});}},{key:'newMessage',value:function newMessage(){var _this9=this;var _props7=this.props,shixun=_props7.shixun,myshixun=_props7.myshixun;var url='/api/v1/shixuns/'+shixun.id+'/new_message?container_type=Shixun&myshixun_id='+myshixun.id;// this.setState({\n// \t\t\tgotNewReply: true\n// \t\t})\n__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url,{withCredentials:true}).then(function(response){var new_message=response.data.new_message;if(response.data.new_message){_this9.setState({gotNewReply:new_message});}// console.log(response)\n}).catch(function(error){console.log(error);});}},{key:'showNewReply',value:function showNewReply(){var _this10=this;var _props8=this.props,shixun=_props8.shixun,myshixun=_props8.myshixun;var commentId=929;// TODO\nvar url='/api/v1/shixuns/'+shixun.id+'/anchor?container_type=Shixun&myshixun_id='+myshixun.id+'&discuss_id='+commentId;this.setState({loadingComments:true,gotNewReply:false});__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url,{withCredentials:true}).then(function(response){var data=response.data;var new_message=data.new_message;_this10.setState({comments:data.children_list,comment_count_without_reply:data.disscuss_count,currentPage:data.page,loadingComments:false},function(){if(response.data.find_status){// 没找到评论的话,默认会返回第一页的评论\nvar comment_J=window.$('#reply_content_'+commentId);if(comment_J.length){comment_J[0].scrollIntoView();comment_J.parents('.comment_item_cont').css('border','1px solid #4CACFF');}}});console.log(response);}).catch(function(error){console.log(error);});}// ----------------------------------------------------------------------------------------------评论 End\n// ----------------------------------------------------------------------------------------------评论 End\n},{key:'componentDidMount',value:function componentDidMount(){var _this11=this;// commentsDelegateParent #game_left_contents #tab_con_4\n$(\".commentsDelegateParent\").delegate(\".J_Comment_Reply .comment_content img, .J_Comment_Reply .childrenCommentsView img\",\"click\",function(event){var imageSrc=event.target.src;// 非回复里的头像图片; 非emoticons\nif(imageSrc.indexOf('/images/avatars/User')===-1&&imageSrc.indexOf('kindeditor/plugins/emoticons')===-1){_this11.setState({showImage:true,imageSrc:imageSrc});}});}},{key:'render',value:function render(){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__page_layers_ImageLayer__[\"a\" /* default */],Object.assign({},this.state,{onImageLayerClose:this.onImageLayerClose})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent,Object.assign({},this.props,this.state,{createNewComment:this.createNewComment,fetchCommentIfNotFetched:this.fetchCommentIfNotFetched,replyComment:this.replyComment,deleteComment:this.deleteComment,commentPraise:this.commentPraise,hiddenComment:this.hiddenComment,rewardCode:this.rewardCode,onPaginationChange:this.onPaginationChange,newMessage:this.newMessage,showNewReply:this.showNewReply})));}}]);return II;}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);}/*\r\n\t

    \r\n

    \r\n HOC Debugger Component\r\n

    \r\n

    \r\n Props\r\n

    \r\n
    {stringify(this.props)}
    \r\n

    \r\n State\r\n

    \r\n
    {stringify(this.state)}
    \r\n {super.render()}\r\n
    \r\n\r\n*/\n\n/***/ }),\n/* 605 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_antd__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__tpm_TPMIndexHOC__ = __webpack_require__(316);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_educoder__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__GraduatesRequirement__ = __webpack_require__(1628);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 612 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = __webpack_require__(322);\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._44);\n p._83 = 1;\n p._18 = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nPromise.all = function (arr) {\n var args = Array.prototype.slice.call(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._83 === 3) {\n val = val._18;\n }\n if (val._83 === 1) return res(i, val._18);\n if (val._83 === 2) reject(val._18);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n values.forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\n\n/***/ }),\n/* 613 */\n/***/ (function(module, exports) {\n\n(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n rawHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = 'status' in options ? options.status : 200\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n\n\n/***/ }),\n/* 614 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css__ = __webpack_require__(323);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__index_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__App__ = __webpack_require__(620);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_hot_loader__ = __webpack_require__(1661);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_hot_loader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_hot_loader__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__registerServiceWorker__ = __webpack_require__(1663);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_url_query__ = __webpack_require__(606);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_url_query___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_url_query__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_redux__ = __webpack_require__(321);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_connected_react_router__ = __webpack_require__(592);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_connected_react_router___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_connected_react_router__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__store__ = __webpack_require__(1672);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_educoder__ = __webpack_require__(42);\n// import history from './history';\n// import { initMock } from './axiosMock.js'\n// link the history used in our app to url-query so it can update the URL with it.\nObject(__WEBPACK_IMPORTED_MODULE_6_react_url_query__[\"configureUrlQuery\"])({history:__WEBPACK_IMPORTED_MODULE_9__store__[\"b\" /* history */]});// -----------------------------------------------------------------------------------\t请求配置\nwindow.__useKindEditor=false;// TODO 避免重复的请求 https://github.com/axios/axios#cancellation\n// https://github.com/axios/axios/issues/1497\n// TODO 读取到package.json中的配置?\nvar proxy=\"http://localhost:3000\";// proxy = \"http://testbdweb.trustie.net\"\nproxy=\"http://testbdweb.educoder.net\";// proxy = 'http://192.168.0.195:3000'\nproxy='https://testbdweb.educoder.net';proxy='http://testbdweb.educoder.net';// proxy='https://www.educoder.net'\nvar requestMap={};// 在这里使用requestMap控制,避免用户通过双击等操作发出重复的请求;\n// 如果需要支持重复的请求,考虑config里面自定义一个allowRepeat参考来控制\n// 模拟请求,开启后可以使用假数据,脱离后台开发。 注意,上线正式版时,需要注释掉mock调用,mock.js有30kb+的大小\nif(Object(__WEBPACK_IMPORTED_MODULE_11_educoder__[\"g\" /* isDev */])()){// initMock(true, proxy)\n// console.error(\"******* 注意!开启接口mock,这会导致没mock配置的请求返回404 ******\")\n}window.setfalseInRequestMap=function(keyName){requestMap[keyName]=false;};__WEBPACK_IMPORTED_MODULE_10_axios___default.a.interceptors.request.use(function(config){// if (token) { // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了\n// config.headers.Authorization = token;\n// }\nvar url=config.url;// --------------------------------------------- 測試3007连测试服的代码\n// if (url.indexOf('file_update') != -1 || url.indexOf('game_build') != -1 || url.indexOf('game_status') != -1) {\n// proxy = 'https://testbdweb.trustie.net'\n// } else {\n// proxy = 'http://localhost:3000'\n// }\n// ---------------------------------------------\nif(window.location.port===\"3007\"&&!url.startsWith('http')){// 表示为开发模式\nconfig.url=''+proxy+url;// 开发模式下直接跨域请求\n}if(requestMap[config.url]===true){// 避免重复的请求\nreturn false;}// 非file_update请求 && 非open_webssh\nif(config.url.indexOf('file_update')===-1&&config.url.indexOf('open_webssh')===-1){requestMap[config.url]=true;window.setTimeout(\"setfalseInRequestMap('\"+config.url+\"')\",900);}// setTimeout(\"setfalseInRequestMap(\" + config.url + \")\", 1200)\nreturn config;},function(err){return Promise.reject(err);});__WEBPACK_IMPORTED_MODULE_10_axios___default.a.interceptors.response.use(function(response){requestMap[response.config.url]=false;return response;},function(error){return Promise.reject(error);});// -----------------------------------------------------------------------------------\nvar render=function render(Component){__WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_react_redux__[\"Provider\"],{store:__WEBPACK_IMPORTED_MODULE_9__store__[\"a\" /* default */]},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8_connected_react_router__[\"ConnectedRouter\"],{history:__WEBPACK_IMPORTED_MODULE_9__store__[\"b\" /* history */]},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_react_hot_loader__[\"AppContainer\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(Component,null)))),document.getElementById('root'));};// \tdocument.getElementById('root'));\nObject(__WEBPACK_IMPORTED_MODULE_5__registerServiceWorker__[\"a\" /* default */])();render(__WEBPACK_IMPORTED_MODULE_3__App__[\"a\" /* default */]);if(false){module.hot.accept('./App',function(){render(App);});}\n\n/***/ }),\n/* 615 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/** @license React v16.8.4\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar k=__webpack_require__(38),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;hthis.eventPool.length&&this.eventPool.push(a)}\nfunction hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&\"CompositionEvent\"in window,ob=null;Ra&&\"documentMode\"in document&&(ob=document.documentMode);\nvar pb=Ra&&\"TextEvent\"in window&&!ob,qb=Ra&&(!nb||ob&&8=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},tb=!1;\nfunction ub(a,b){switch(a){case \"keyup\":return-1!==mb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function vb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case \"compositionend\":return vb(b);case \"keypress\":if(32!==b.which)return null;tb=!0;return rb;case \"textInput\":return a=b.data,a===rb&&tb?null:a;default:return null}}\nfunction yb(a,b){if(wb)return\"compositionend\"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new C(a,3,!0,a,null)});\n[\"capture\",\"download\"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rc,\nsc);D[b]=new C(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)});\nfunction tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);\nfunction Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{a=b.contentDocument.defaultView}catch(c){break}b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Pd(){var a=Nd();if(Od(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length);\nif(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}}\nfunction Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Td=null,Ud=null,Vd=null,Wd=!1;\nfunction Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;\"selectionStart\"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type=\"select\",a.target=Td,Qa(a),a)}\nvar Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g=b.length?void 0:x(\"93\"),b=b[0]),c=b),null==c&&(c=\"\"));a._wrapperState={initialValue:uc(c)}}\nfunction de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ie=void 0,je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{ie=ie||document.createElement(\"div\");ie.innerHTML=\"\"+b+\"\";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(\"\"+b).trim():b+\"px\"}\nfunction oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ne(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:x(\"61\")),null!=b.style&&\"object\"!==typeof b.style?x(\"62\",\"\"):void 0)}\nfunction re(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;dGe||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He;\nfunction Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)}\nfunction Me(a,b,c){H.current!==He?x(\"168\"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x(\"108\",ic(b)||\"Unknown\",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0}\nfunction Pe(a,b,c){var d=a.stateNode;d?void 0:x(\"169\");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}}\nfunction Te(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}\nfunction Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)}\nfunction Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if(\"function\"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2}\nfunction Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling;\nc.index=a.index;c.ref=a.ref;return c}\nfunction Ye(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Ve(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g=\n14;break a;case fc:g=16;d=null;break a}x(\"130\",null==a?a:typeof a,\"\")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a}\nfunction bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:cb&&(a.latestPendingTime=b);df(b,a)}\nfunction ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{bb?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):bc&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:cb&&(a.latestSuspendedTime=b);df(b,a)}\nfunction gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||da&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs;\nfunction kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag=\nsf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0}\nfunction vf(a,b,c){var d=!1,e=He;var f=b.contextType;\"object\"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction wf(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)}\nfunction xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray;\nfunction Af(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x(\"309\"):void 0,d=c.stateNode);d?void 0:x(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?x(\"284\"):void 0;c._owner?void 0:x(\"290\",a)}return a}\nfunction Bf(a,b){\"textarea\"!==a.type&&x(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,du?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&&\nq&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;uu?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u:\nw.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=\nk.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\n\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x(\"174\"):void 0;return a}\nfunction Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))}\nvar Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x(\"307\")}function gg(a,b){if(null===b)return!1;for(var c=0;c$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.eagerReducer=a;c.eagerState=f}return[b.memoizedState,c.dispatch]}\nfunction rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)}\nfunction tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){}\nfunction wg(a,b,c){25>eg?void 0:x(\"301\");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===\nd||0===d.expirationTime)&&(d=b.eagerReducer,null!==d))try{var l=b.eagerState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}}\nvar kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,eagerReducer:a,eagerState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,eagerReducer:og,\neagerState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return tg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1;\nfunction Ag(a,b){var c=K(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1}\nvar Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d=\nb.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f,\nc)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x(\"306\",a,\"\")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,\ne=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x(\"282\"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,\ng=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,\nc),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!==\n(k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime=b&&(qg=!0);a.contextDependencies=null}\nfunction M(a,b){if(Yg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x(\"308\"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)}\nfunction eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b}\nfunction gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d}\nfunction yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;md?e:d);Ih.current=null;d=void 0;1c?b:c;0===b&&(Fh=null);$h(a,b)}\nfunction ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|=\n128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case \"iframe\":case \"object\":E(\"load\",e);break;case \"video\":case \"audio\":for(k=0;k\\x3c/script>\",k=e.removeChild(e.firstChild)):\"string\"===typeof p.is?k=k.createElement(e,{is:p.is}):(k=k.createElement(e),\"select\"===e&&p.multiple&&(k.multiple=!0)):k=k.createElementNS(l,e);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case \"iframe\":case \"object\":E(\"load\",\np);h=m;break;case \"video\":case \"audio\":for(h=0;hg&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&&\n(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1=v)t=0;else if(-1===t||v component higher in the tree to provide a loading indicator or placeholder to display.\"+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048;\nh.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x(\"281\"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}}\nfunction sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))}\nfunction mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x(\"313\")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&&\n(0===gi||d=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))}\nfunction hi(a,b){a.expirationTimeU&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x(\"185\")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)}\nfunction yi(a,b){if(0!==mi){if(ba.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))}\nfunction Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x(\"244\"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823===\na)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}}\nfunction Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x(\"246\"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}}\nfunction Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}}\nfunction Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x(\"170\");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x(\"171\");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);\nof();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d};\nNi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nNi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)};\nfunction Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)}\nfunction Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)}\nfunction Ti(a,b){var c=2=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous=\nb}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}}\nvar x=Date,y=\"function\"===typeof setTimeout?setTimeout:void 0,z=\"function\"===typeof clearTimeout?clearTimeout:void 0,A=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B=\"function\"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)}\nif(\"object\"===typeof performance&&\"function\"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;\"undefined\"!==typeof window?G=window:\"undefined\"!==typeof global&&(G=global);\nif(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{\"undefined\"!==typeof console&&(\"function\"!==typeof A&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\n\"function\"!==typeof B&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}};\nvar V=function(a){if(null!==K){E(V);var b=a-P+S;bb&&(b=8),S=bb?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}};\nexports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if(\"object\"===typeof b&&null!==b&&\"number\"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p());\nb=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g};\nexports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTime import('./modules/tpm/shixunchild/ShixunChildIndex'),\n// loading: Loading,\n// })\n// const TPMshixunfork_listIndexComponent = Loadable({\n// loader: () => import('./modules/tpm/shixunchild/Shixunfork_list'),\n// loading: Loading,\n// })\nvar ForumsIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(0).then(__webpack_require__.bind(null, 1681));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ECIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(11).then(__webpack_require__.bind(null, 1682));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var TestIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(16).then(__webpack_require__.bind(null, 1683));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});// trustie plus forum\n// const TPForumsIndexComponent = Loadable({\n// loader: () => import('./modules/tp-forums/TPForumsIndex'),\n// loading: Loading,\n// })\n// const TestPageComponent = Loadable({\n// loader: () => import('./modules/page/Index'),\n// loading: Loading,\n// })\nvar TPMOnlineCourses_list=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(6).then(__webpack_require__.bind(null, 1684));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var CareerPathIndexComponent=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(3).then(__webpack_require__.bind(null, 1685));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var CareerPathIndexContents=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(2).then(__webpack_require__.bind(null, 1686));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var TPMOnlineCourses_Details=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(1).then(__webpack_require__.bind(null, 1687));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var NewCourseCareerPathIndex=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(5).then(__webpack_require__.bind(null, 1688));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var NewContentCareerPathIndex=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(7).then(__webpack_require__.bind(null, 1689));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ecCourseSupports=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(13).then(__webpack_require__.bind(null, 1690));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ecCourseEvaluations=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(17).then(__webpack_require__.bind(null, 1691));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var ecGradeEvaluations=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(12).then(__webpack_require__.bind(null, 1692));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var EvaluationMethods=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(18).then(__webpack_require__.bind(null, 1693));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var EcCompletionCalculation=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(14).then(__webpack_require__.bind(null, 1694));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});//学生列表\nvar ecStudentLists=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(10).then(__webpack_require__.bind(null, 1695));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});// 上海社区\nvar CommunityHome=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(9).then(__webpack_require__.bind(null, 1696));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});var Statistics=__WEBPACK_IMPORTED_MODULE_7_react_loadable___default()({loader:function loader(){return __webpack_require__.e/* import() */(8).then(__webpack_require__.bind(null, 1697));},loading:__WEBPACK_IMPORTED_MODULE_6__Loading__[\"a\" /* default */]});/*\r\n testPage\r\n shixunx/:shixunId/stages/:stageId\r\n*/var App=function(_Component){_inherits(App,_Component);function App(){_classCallCheck(this,App);return _possibleConstructorReturn(this,(App.__proto__||Object.getPrototypeOf(App)).apply(this,arguments));}_createClass(App,[{key:'componentDidMount',value:function componentDidMount(){var _this2=this;// force an update if the URL changes\n__WEBPACK_IMPORTED_MODULE_12__history__[\"a\" /* default */].listen(function(){return _this2.forceUpdate();});}},{key:'render',value:function render(){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_material_ui_styles__[\"MuiThemeProvider\"],{theme:theme},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__modules_login_LoginDialog__[\"a\" /* default */],null),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"a\" /* BrowserRouter */],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"d\" /* Switch */],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/reach_calculation_info',component:__WEBPACK_IMPORTED_MODULE_13__modules_ec_graduatesRequirement__[\"default\"]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/requirement_vs_courses',component:ecCourseSupports}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],Object.assign({path:'/ec_courses/:ec_course_id/ec_course_reach_setting',component:ecCourseEvaluations},this.state,this.props)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/competition_calculation_info',component:EcCompletionCalculation}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/evaluation_methods',component:EvaluationMethods}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/tasks/:stageId',component:IndexWrapperComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/shixuns/:shixunId',component:TPMIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/shixuns',component:TPMShixunsIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/forums',component:ForumsIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec',component:ECIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/test',component:TestIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/introduction',component:CareerPathIndexComponent}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/contents',component:CareerPathIndexContents}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/new',component:NewCourseCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/edit_introduction',component:NewCourseCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/edit_contents',component:NewContentCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/careers/:careerId/new_contents',component:NewContentCareerPathIndex}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/reach_calculation_info',component:__WEBPACK_IMPORTED_MODULE_13__modules_ec_graduatesRequirement__[\"default\"]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_school_id/academic_years/:ec_year_id/requirement_vs_courses',component:ecCourseSupports}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_major_schools/:major_id/academic_years/:year_id/student_lists',component:ecStudentLists}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/score_level',component:ecGradeEvaluations}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/ec_course_support_setting',component:__WEBPACK_IMPORTED_MODULE_14__modules_ec_ecCourseSupportSetting__[\"a\" /* default */]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/ec_courses/:ec_course_id/competition_calculation_info',component:EcCompletionCalculation}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/colleges/:company_id/home',component:CommunityHome}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/statistics',component:Statistics}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{path:'/myshixuns/:shixunId/stages/:stageId',component:__WEBPACK_IMPORTED_MODULE_8__modules_page_Index__[\"a\" /* default */]}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_react_router_dom__[\"c\" /* Route */],{component:__WEBPACK_IMPORTED_MODULE_5__NotFoundPage__[\"a\" /* default */]}))));}}]);return App;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);// moment国际化,设置为中文\n__WEBPACK_IMPORTED_MODULE_10_moment___default.a.defineLocale('zh-cn',{months:'一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),monthsShort:'1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),weekdays:'星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),weekdaysShort:'周日_周一_周二_周三_周四_周五_周六'.split('_'),weekdaysMin:'日_一_二_三_四_五_六'.split('_'),longDateFormat:{LT:'Ah点mm分',LTS:'Ah点m分s秒',L:'YYYY-MM-DD',LL:'YYYY年MMMD日',LLL:'YYYY年MMMD日Ah点mm分',LLLL:'YYYY年MMMD日ddddAh点mm分',l:'YYYY-MM-DD',ll:'YYYY年MMMD日',lll:'YYYY年MMMD日Ah点mm分',llll:'YYYY年MMMD日ddddAh点mm分'},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function meridiemHour(hour,meridiem){if(hour===12){hour=0;}if(meridiem==='凌晨'||meridiem==='早上'||meridiem==='上午'){return hour;}else if(meridiem==='下午'||meridiem==='晚上'){return hour+12;}else{// '中午'\nreturn hour>=11?hour:hour+12;}},meridiem:function meridiem(hour,minute,isLower){var hm=hour*100+minute;if(hm<600){return'凌晨';}else if(hm<900){return'早上';}else if(hm<1130){return'上午';}else if(hm<1230){return'中午';}else if(hm<1800){return'下午';}else{return'晚上';}},calendar:{sameDay:function sameDay(){return this.minutes()===0?'[今天]Ah[点整]':'[今天]LT';},nextDay:function nextDay(){return this.minutes()===0?'[明天]Ah[点整]':'[明天]LT';},lastDay:function lastDay(){return this.minutes()===0?'[昨天]Ah[点整]':'[昨天]LT';},nextWeek:function nextWeek(){var startOfWeek,prefix;startOfWeek=__WEBPACK_IMPORTED_MODULE_10_moment___default()().startOf('week');prefix=this.unix()-startOfWeek.unix()>=7*24*3600?'[下]':'[本]';return this.minutes()===0?prefix+'dddAh点整':prefix+'dddAh点mm';},lastWeek:function lastWeek(){var startOfWeek,prefix;startOfWeek=__WEBPACK_IMPORTED_MODULE_10_moment___default()().startOf('week');prefix=this.unix() that uses HTML5 history.\n */\n\nvar BrowserRouter = function (_React$Component) {\n _inherits(BrowserRouter, _React$Component);\n\n function BrowserRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, BrowserRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"a\" /* createBrowserHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n BrowserRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { BrowserRouter as Router }`.\");\n };\n\n BrowserRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return BrowserRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nBrowserRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n forceRefresh: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n keyLength: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (BrowserRouter);\n\n/***/ }),\n/* 624 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(625);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n\n\n/***/ }),\n/* 625 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n\n\n/***/ }),\n/* 626 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__LocationUtils__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__PathUtils__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__createTransitionManager__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__DOMUtils__ = __webpack_require__(326);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"b\" /* canUseDOM */], 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"g\" /* supportsHistory */])();\n var needsHashChangeListener = !Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"h\" /* supportsPopStateOnHashChange */])();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? __WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"c\" /* getConfirmation */] : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"g\" /* stripTrailingSlash */])(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */])(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!basename || Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"c\" /* hasBasename */])(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"e\" /* stripBasename */])(path, basename);\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = Object(__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__[\"a\" /* default */])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"d\" /* isExtraneousPopstateEvent */])(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location);\n };\n\n var push = function push(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"a\" /* addEventListener */])(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"a\" /* addEventListener */])(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"e\" /* removeEventListener */])(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"e\" /* removeEventListener */])(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createBrowserHistory);\n\n/***/ }),\n/* 627 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_invariant__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__LocationUtils__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__PathUtils__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__createTransitionManager__ = __webpack_require__(204);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__DOMUtils__ = __webpack_require__(326);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\n\n\nvar HashChangeEvent = 'hashchange';\n\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"f\" /* stripLeadingSlash */])(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"f\" /* stripLeadingSlash */],\n decodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */]\n },\n slash: {\n encodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */],\n decodePath: __WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */]\n }\n};\n\nvar getHashPath = function getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n};\n\nvar pushHashPath = function pushHashPath(path) {\n return window.location.hash = path;\n};\n\nvar replaceHashPath = function replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n};\n\nvar createHashHistory = function createHashHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n __WEBPACK_IMPORTED_MODULE_1_invariant___default()(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"b\" /* canUseDOM */], 'Hash history needs a DOM');\n\n var globalHistory = window.history;\n var canGoWithoutReload = Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"f\" /* supportsGoWithoutReloadUsingHash */])();\n\n var _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? __WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"c\" /* getConfirmation */] : _props$getUserConfirm,\n _props$hashType = props.hashType,\n hashType = _props$hashType === undefined ? 'slash' : _props$hashType;\n\n var basename = props.basename ? Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"g\" /* stripTrailingSlash */])(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"a\" /* addLeadingSlash */])(props.basename)) : '';\n\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n\n var getDOMLocation = function getDOMLocation() {\n var path = decodePath(getHashPath());\n\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!basename || Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"c\" /* hasBasename */])(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"e\" /* stripBasename */])(path, basename);\n\n return Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path);\n };\n\n var transitionManager = Object(__WEBPACK_IMPORTED_MODULE_4__createTransitionManager__[\"a\" /* default */])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var forceNextPop = false;\n var ignorePath = null;\n\n var handleHashChange = function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n\n if (!forceNextPop && Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"b\" /* locationsAreEqual */])(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n\n handlePop(location);\n }\n };\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(toLocation));\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allPaths.lastIndexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(fromLocation));\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n // Ensure the hash is encoded properly before doing anything else.\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) replaceHashPath(encodedPath);\n\n var initialLocation = getDOMLocation();\n var allPaths = [Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(initialLocation)];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return '#' + encodePath(basename + Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location));\n };\n\n var push = function push(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Hash history cannot push state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n\n var prevIndex = allPaths.lastIndexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextPaths.push(path);\n allPaths = nextPaths;\n\n setState({ action: action, location: location });\n } else {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');\n\n setState();\n }\n });\n };\n\n var replace = function replace(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(state === undefined, 'Hash history cannot replace state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, undefined, undefined, history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var path = Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(Object(__WEBPACK_IMPORTED_MODULE_3__PathUtils__[\"b\" /* createPath */])(history.location));\n\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');\n\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"a\" /* addEventListener */])(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n Object(__WEBPACK_IMPORTED_MODULE_5__DOMUtils__[\"e\" /* removeEventListener */])(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createHashHistory);\n\n/***/ }),\n/* 628 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(17);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__PathUtils__ = __webpack_require__(130);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__LocationUtils__ = __webpack_require__(158);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__createTransitionManager__ = __webpack_require__(204);\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n\n\nvar clamp = function clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n};\n\n/**\n * Creates a history object that stores locations in memory.\n */\nvar createMemoryHistory = function createMemoryHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var getUserConfirmation = props.getUserConfirmation,\n _props$initialEntries = props.initialEntries,\n initialEntries = _props$initialEntries === undefined ? ['/'] : _props$initialEntries,\n _props$initialIndex = props.initialIndex,\n initialIndex = _props$initialIndex === undefined ? 0 : _props$initialIndex,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n\n var transitionManager = Object(__WEBPACK_IMPORTED_MODULE_3__createTransitionManager__[\"a\" /* default */])();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(entry, undefined, createKey()) : Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(entry, undefined, entry.key || createKey());\n });\n\n // Public interface\n\n var createHref = __WEBPACK_IMPORTED_MODULE_1__PathUtils__[\"b\" /* createPath */];\n\n var push = function push(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n\n var nextEntries = history.entries.slice(0);\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n };\n\n var replace = function replace(path, state) {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = Object(__WEBPACK_IMPORTED_MODULE_2__LocationUtils__[\"a\" /* createLocation */])(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n history.entries[history.index] = location;\n\n setState({ action: action, location: location });\n });\n };\n\n var go = function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n\n var action = 'POP';\n var location = history.entries[nextIndex];\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var canGo = function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n };\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return transitionManager.setPrompt(prompt);\n };\n\n var listen = function listen(listener) {\n return transitionManager.appendListener(listener);\n };\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (createMemoryHistory);\n\n/***/ }),\n/* 629 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history__ = __webpack_require__(108);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(205);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n/**\n * The public API for a that uses window.location.hash.\n */\n\nvar HashRouter = function (_React$Component) {\n _inherits(HashRouter, _React$Component);\n\n function HashRouter() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, HashRouter);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = Object(__WEBPACK_IMPORTED_MODULE_3_history__[\"b\" /* createHashHistory */])(_this.props), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n HashRouter.prototype.componentWillMount = function componentWillMount() {\n __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, \" ignores the history prop. To use a custom history, \" + \"use `import { Router }` instead of `import { HashRouter as Router }`.\");\n };\n\n HashRouter.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__[\"a\" /* default */], { history: this.history, children: this.props.children });\n };\n\n return HashRouter;\n}(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);\n\nHashRouter.propTypes = {\n basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n hashType: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.oneOf([\"hashbang\", \"noslash\", \"slash\"]),\n children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node\n};\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (HashRouter);\n\n/***/ }),\n/* 630 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__ = __webpack_require__(328);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 631 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Route__ = __webpack_require__(329);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Link__ = __webpack_require__(327);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\n\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nvar NavLink = function NavLink(_ref) {\n var to = _ref.to,\n exact = _ref.exact,\n strict = _ref.strict,\n location = _ref.location,\n activeClassName = _ref.activeClassName,\n className = _ref.className,\n activeStyle = _ref.activeStyle,\n style = _ref.style,\n getIsActive = _ref.isActive,\n ariaCurrent = _ref[\"aria-current\"],\n rest = _objectWithoutProperties(_ref, [\"to\", \"exact\", \"strict\", \"location\", \"activeClassName\", \"className\", \"activeStyle\", \"style\", \"isActive\", \"aria-current\"]);\n\n var path = (typeof to === \"undefined\" ? \"undefined\" : _typeof(to)) === \"object\" ? to.pathname : to;\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n var escapedPath = path && path.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__Route__[\"a\" /* default */], {\n path: escapedPath,\n exact: exact,\n strict: strict,\n location: location,\n children: function children(_ref2) {\n var location = _ref2.location,\n match = _ref2.match;\n\n var isActive = !!(getIsActive ? getIsActive(match, location) : match);\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Link__[\"a\" /* default */], _extends({\n to: to,\n className: isActive ? [className, activeClassName].filter(function (i) {\n return i;\n }).join(\" \") : className,\n style: isActive ? _extends({}, style, activeStyle) : style,\n \"aria-current\": isActive && ariaCurrent || null\n }, rest));\n }\n });\n};\n\nNavLink.propTypes = {\n to: __WEBPACK_IMPORTED_MODULE_3__Link__[\"a\" /* default */].propTypes.to,\n exact: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n strict: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n activeClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n activeStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n style: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n isActive: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n \"aria-current\": __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf([\"page\", \"step\", \"location\", \"date\", \"time\", \"true\"])\n};\n\nNavLink.defaultProps = {\n activeClassName: \"active\",\n \"aria-current\": \"page\"\n};\n\n/* unused harmony default export */ var _unused_webpack_default_export = (NavLink);\n\n/***/ }),\n/* 632 */\n/***/ (function(module, exports) {\n\nmodule.exports = Array.isArray || function (arr) {\n return Object.prototype.toString.call(arr) == '[object Array]';\n};\n\n\n/***/ }),\n/* 633 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__ = __webpack_require__(331);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__[\"a\" /* default */]);\n\n/***/ }),\n/* 634 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__ = __webpack_require__(332);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__[\"a\" /* default */]);\n\n/***/ }),\n/* 635 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__ = __webpack_require__(333);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 636 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__ = __webpack_require__(334);\n// Written in this round about way for babel-transform-imports\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__[\"a\" /* default */]);\n\n/***/ }),\n/* 637 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_generatePath__ = __webpack_require__(207);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_generatePath__[\"a\" /* default */]);\n\n/***/ }),\n/* 638 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__ = __webpack_require__(160);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__[\"a\" /* default */]);\n\n/***/ }),\n/* 639 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__ = __webpack_require__(335);\n// Written in this round about way for babel-transform-imports\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__[\"a\" /* default */]);\n\n/***/ }),\n/* 640 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar _Modal = _interopRequireDefault(__webpack_require__(227));\n\nvar _Fade = _interopRequireDefault(__webpack_require__(174));\n\nvar _transitions = __webpack_require__(114);\n\nvar _Paper = _interopRequireDefault(__webpack_require__(137));\n\n// @inheritedComponent Modal\nvar styles = function styles(theme) {\n return {\n root: {\n justifyContent: 'center',\n alignItems: 'center'\n },\n paper: {\n display: 'flex',\n margin: theme.spacing.unit * 4,\n flexDirection: 'column',\n flex: '0 1 auto',\n position: 'relative',\n maxHeight: '90vh',\n overflowY: 'auto',\n // Fix IE11 issue, to remove at some point.\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none'\n },\n paperWidthXs: {\n maxWidth: Math.max(theme.breakpoints.values.xs, 360)\n },\n paperWidthSm: {\n maxWidth: theme.breakpoints.values.sm\n },\n paperWidthMd: {\n maxWidth: theme.breakpoints.values.md\n },\n paperFullWidth: {\n width: '100%'\n },\n paperFullScreen: {\n margin: 0,\n width: '100%',\n maxWidth: '100%',\n height: '100%',\n maxHeight: '100%',\n borderRadius: 0\n }\n };\n};\n/**\n * Dialogs are overlaid modal paper based components with a backdrop.\n */\n\n\nexports.styles = styles;\n\nfunction Dialog(props) {\n var _classNames;\n\n var BackdropProps = props.BackdropProps,\n children = props.children,\n classes = props.classes,\n className = props.className,\n disableBackdropClick = props.disableBackdropClick,\n disableEscapeKeyDown = props.disableEscapeKeyDown,\n fullScreen = props.fullScreen,\n fullWidth = props.fullWidth,\n maxWidth = props.maxWidth,\n onBackdropClick = props.onBackdropClick,\n onClose = props.onClose,\n onEnter = props.onEnter,\n onEntered = props.onEntered,\n onEntering = props.onEntering,\n onEscapeKeyDown = props.onEscapeKeyDown,\n onExit = props.onExit,\n onExited = props.onExited,\n onExiting = props.onExiting,\n open = props.open,\n PaperProps = props.PaperProps,\n TransitionComponent = props.TransitionComponent,\n transitionDuration = props.transitionDuration,\n TransitionProps = props.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(props, [\"BackdropProps\", \"children\", \"classes\", \"className\", \"disableBackdropClick\", \"disableEscapeKeyDown\", \"fullScreen\", \"fullWidth\", \"maxWidth\", \"onBackdropClick\", \"onClose\", \"onEnter\", \"onEntered\", \"onEntering\", \"onEscapeKeyDown\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]);\n return _react.default.createElement(_Modal.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className),\n BackdropProps: (0, _objectSpread2.default)({\n transitionDuration: transitionDuration\n }, BackdropProps),\n disableBackdropClick: disableBackdropClick,\n disableEscapeKeyDown: disableEscapeKeyDown,\n onBackdropClick: onBackdropClick,\n onEscapeKeyDown: onEscapeKeyDown,\n onClose: onClose,\n open: open,\n role: \"dialog\"\n }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n timeout: transitionDuration,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered,\n onExit: onExit,\n onExiting: onExiting,\n onExited: onExited\n }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({\n elevation: 24,\n className: (0, _classnames.default)(classes.paper, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"paperWidth\".concat(maxWidth ? (0, _helpers.capitalize)(maxWidth) : '')], maxWidth), (0, _defineProperty2.default)(_classNames, classes.paperFullScreen, fullScreen), (0, _defineProperty2.default)(_classNames, classes.paperFullWidth, fullWidth), _classNames))\n }, PaperProps), children)));\n}\n\nDialog.propTypes = false ? {\n /**\n * @ignore\n */\n BackdropProps: _propTypes.default.object,\n\n /**\n * Dialog children, usually the included sub-components.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, clicking the backdrop will not fire the `onClose` callback.\n */\n disableBackdropClick: _propTypes.default.bool,\n\n /**\n * If `true`, hitting escape will not fire the `onClose` callback.\n */\n disableEscapeKeyDown: _propTypes.default.bool,\n\n /**\n * If `true`, the dialog will be full-screen\n */\n fullScreen: _propTypes.default.bool,\n\n /**\n * If `true`, the dialog stretches to `maxWidth`.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * Determine the max width of the dialog.\n * The dialog width grows with the size of the screen, this property is useful\n * on the desktop where you might need some coherent different width size across your\n * application. Set to `false` to disable `maxWidth`.\n */\n maxWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', false]),\n\n /**\n * Callback fired when the backdrop is clicked.\n */\n onBackdropClick: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the dialog enters.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired when the escape key is pressed,\n * `disableKeyboard` is false and the modal is in focus.\n */\n onEscapeKeyDown: _propTypes.default.func,\n\n /**\n * Callback fired before the dialog exits.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the dialog is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * If `true`, the Dialog is open.\n */\n open: _propTypes.default.bool.isRequired,\n\n /**\n * Properties applied to the `Paper` element.\n */\n PaperProps: _propTypes.default.object,\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n })]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nDialog.defaultProps = {\n disableBackdropClick: false,\n disableEscapeKeyDown: false,\n fullScreen: false,\n fullWidth: false,\n maxWidth: 'sm',\n TransitionComponent: _Fade.default,\n transitionDuration: {\n enter: _transitions.duration.enteringScreen,\n exit: _transitions.duration.leavingScreen\n }\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialog'\n})(Dialog);\n\nexports.default = _default;\n\n/***/ }),\n/* 641 */\n/***/ (function(module, exports) {\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\n\n/***/ }),\n/* 642 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(643);\nmodule.exports = __webpack_require__(40).Object.keys;\n\n\n/***/ }),\n/* 643 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(111);\nvar $keys = __webpack_require__(131);\n\n__webpack_require__(216)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 644 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(92);\nvar toLength = __webpack_require__(161);\nvar toAbsoluteIndex = __webpack_require__(645);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 645 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(212);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 646 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(111);\nvar $getPrototypeOf = __webpack_require__(341);\n\n__webpack_require__(216)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 647 */\n/***/ (function(module, exports) {\n\nfunction _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\n\n/***/ }),\n/* 648 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(649);\n\n/***/ }),\n/* 649 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(343);\n__webpack_require__(218);\n__webpack_require__(345);\n__webpack_require__(656);\n__webpack_require__(663);\n__webpack_require__(666);\n__webpack_require__(668);\nmodule.exports = __webpack_require__(40).Map;\n\n\n/***/ }),\n/* 650 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(212);\nvar defined = __webpack_require__(209);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 651 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(164);\nvar descriptor = __webpack_require__(132);\nvar setToStringTag = __webpack_require__(165);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(84)(IteratorPrototype, __webpack_require__(52)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 652 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(58);\nvar anObject = __webpack_require__(94);\nvar getKeys = __webpack_require__(131);\n\nmodule.exports = __webpack_require__(65) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 653 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(64).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 654 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(655);\nvar step = __webpack_require__(346);\nvar Iterators = __webpack_require__(133);\nvar toIObject = __webpack_require__(92);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(219)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 655 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 656 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(657);\nvar validate = __webpack_require__(353);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(659)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/***/ }),\n/* 657 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dP = __webpack_require__(58).f;\nvar create = __webpack_require__(164);\nvar redefineAll = __webpack_require__(347);\nvar ctx = __webpack_require__(93);\nvar anInstance = __webpack_require__(348);\nvar forOf = __webpack_require__(166);\nvar $iterDefine = __webpack_require__(219);\nvar step = __webpack_require__(346);\nvar setSpecies = __webpack_require__(658);\nvar DESCRIPTORS = __webpack_require__(65);\nvar fastKey = __webpack_require__(220).fastKey;\nvar validate = __webpack_require__(353);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/***/ }),\n/* 658 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(64);\nvar core = __webpack_require__(40);\nvar dP = __webpack_require__(58);\nvar DESCRIPTORS = __webpack_require__(65);\nvar SPECIES = __webpack_require__(52)('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 659 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(64);\nvar $export = __webpack_require__(44);\nvar meta = __webpack_require__(220);\nvar fails = __webpack_require__(95);\nvar hide = __webpack_require__(84);\nvar redefineAll = __webpack_require__(347);\nvar forOf = __webpack_require__(166);\nvar anInstance = __webpack_require__(348);\nvar isObject = __webpack_require__(74);\nvar setToStringTag = __webpack_require__(165);\nvar dP = __webpack_require__(58).f;\nvar each = __webpack_require__(660)(0);\nvar DESCRIPTORS = __webpack_require__(65);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n if (!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME, '_c');\n target._c = new Base();\n if (iterable != undefined) forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','), function (KEY) {\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if (KEY in proto && !(IS_WEAK && KEY == 'clear')) hide(C.prototype, KEY, function (a, b) {\n anInstance(this, C, KEY);\n if (!IS_ADDER && IS_WEAK && !isObject(a)) return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n IS_WEAK || dP(C.prototype, 'size', {\n get: function () {\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 660 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(93);\nvar IObject = __webpack_require__(210);\nvar toObject = __webpack_require__(111);\nvar toLength = __webpack_require__(161);\nvar asc = __webpack_require__(661);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 661 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(662);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 662 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(74);\nvar isArray = __webpack_require__(354);\nvar SPECIES = __webpack_require__(52)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 663 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(44);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(664)('Map') });\n\n\n/***/ }),\n/* 664 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = __webpack_require__(352);\nvar from = __webpack_require__(665);\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n/***/ }),\n/* 665 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar forOf = __webpack_require__(166);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n/***/ }),\n/* 666 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(667)('Map');\n\n\n/***/ }),\n/* 667 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(44);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 668 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(669)('Map');\n\n\n/***/ }),\n/* 669 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(44);\nvar aFunction = __webpack_require__(337);\nvar ctx = __webpack_require__(93);\nvar forOf = __webpack_require__(166);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 670 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(671);\n\n/***/ }),\n/* 671 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(672);\nmodule.exports = -0x1fffffffffffff;\n\n\n/***/ }),\n/* 672 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(44);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 673 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ns$jss$ns$sheetOptio;\n\nvar _propTypes = __webpack_require__(1);\n\nvar _ns = __webpack_require__(356);\n\nvar ns = _interopRequireWildcard(_ns);\n\nvar _propTypes2 = __webpack_require__(674);\n\nvar _propTypes3 = _interopRequireDefault(_propTypes2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nexports['default'] = (_ns$jss$ns$sheetOptio = {}, _defineProperty(_ns$jss$ns$sheetOptio, ns.jss, _propTypes3['default'].jss), _defineProperty(_ns$jss$ns$sheetOptio, ns.sheetOptions, _propTypes.object), _defineProperty(_ns$jss$ns$sheetOptio, ns.sheetsRegistry, _propTypes3['default'].registry), _defineProperty(_ns$jss$ns$sheetOptio, ns.managers, _propTypes.object), _ns$jss$ns$sheetOptio);\n\n/***/ }),\n/* 674 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = __webpack_require__(1);\n\nexports['default'] = {\n jss: (0, _propTypes.shape)({\n options: (0, _propTypes.shape)({\n createGenerateClassName: _propTypes.func.isRequired\n }).isRequired,\n createStyleSheet: _propTypes.func.isRequired,\n removeStyleSheet: _propTypes.func.isRequired\n }),\n registry: (0, _propTypes.shape)({\n add: _propTypes.func.isRequired,\n toString: _propTypes.func.isRequired\n })\n};\n\n/***/ }),\n/* 675 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports['default'] = getDynamicStyles;\n/**\n * Extracts a styles object with only props that contain function values.\n */\nfunction getDynamicStyles(styles) {\n var to = null;\n\n for (var key in styles) {\n var value = styles[key];\n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n\n if (type === 'function') {\n if (!to) to = {};\n to[key] = value;\n } else if (type === 'object' && value !== null && !Array.isArray(value)) {\n var extracted = getDynamicStyles(value);\n if (extracted) {\n if (!to) to = {};\n to[key] = extracted;\n }\n }\n }\n\n return to;\n}\n\n/***/ }),\n/* 676 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SheetsManager is like a WeakMap which is designed to count StyleSheet\n * instances and attach/detach automatically.\n */\nvar SheetsManager = function () {\n function SheetsManager() {\n _classCallCheck(this, SheetsManager);\n\n this.sheets = [];\n this.refs = [];\n this.keys = [];\n }\n\n _createClass(SheetsManager, [{\n key: 'get',\n value: function get(key) {\n var index = this.keys.indexOf(key);\n return this.sheets[index];\n }\n }, {\n key: 'add',\n value: function add(key, sheet) {\n var sheets = this.sheets,\n refs = this.refs,\n keys = this.keys;\n\n var index = sheets.indexOf(sheet);\n\n if (index !== -1) return index;\n\n sheets.push(sheet);\n refs.push(0);\n keys.push(key);\n\n return sheets.length - 1;\n }\n }, {\n key: 'manage',\n value: function manage(key) {\n var index = this.keys.indexOf(key);\n var sheet = this.sheets[index];\n if (this.refs[index] === 0) sheet.attach();\n this.refs[index]++;\n if (!this.keys[index]) this.keys.splice(index, 0, key);\n return sheet;\n }\n }, {\n key: 'unmanage',\n value: function unmanage(key) {\n var index = this.keys.indexOf(key);\n if (index === -1) {\n // eslint-ignore-next-line no-console\n (0, _warning2['default'])(false, \"SheetsManager: can't find sheet to unmanage\");\n return;\n }\n if (this.refs[index] > 0) {\n this.refs[index]--;\n if (this.refs[index] === 0) this.sheets[index].detach();\n }\n }\n }, {\n key: 'size',\n get: function get() {\n return this.keys.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\nexports['default'] = SheetsManager;\n\n/***/ }),\n/* 677 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports['default'] = cloneStyle;\n\nvar _isObservable = __webpack_require__(359);\n\nvar _isObservable2 = _interopRequireDefault(_isObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar isArray = Array.isArray;\nfunction cloneStyle(style) {\n // Support empty values in case user ends up with them by accident.\n if (style == null) return style;\n\n // Support string value for SimpleRule.\n var typeOfStyle = typeof style === 'undefined' ? 'undefined' : _typeof(style);\n\n if (typeOfStyle === 'string' || typeOfStyle === 'number' || typeOfStyle === 'function') {\n return style;\n }\n\n // Support array for FontFaceRule.\n if (isArray(style)) return style.map(cloneStyle);\n\n // Support Observable styles. Observables are immutable, so we don't need to\n // copy them.\n if ((0, _isObservable2['default'])(style)) return style;\n\n var newStyle = {};\n for (var name in style) {\n var value = style[name];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n newStyle[name] = cloneStyle(value);\n continue;\n }\n newStyle[name] = value;\n }\n\n return newStyle;\n}\n\n/***/ }),\n/* 678 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(originalModule) {\n\tif(!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif(!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true,\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n\n\n/***/ }),\n/* 679 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n/***/ }),\n/* 680 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar CSS = global.CSS;\n\nvar env = \"production\";\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`])/g;\n\nexports['default'] = function (str) {\n // We don't need to escape it in production, because we are not using user's\n // input for selectors, we are generating a valid selector.\n if (env === 'production') return str;\n\n if (!CSS || !CSS.escape) {\n return str.replace(escapeRegex, '\\\\$1');\n }\n\n return CSS.escape(str);\n};\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 681 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (global[ns] == null) global[ns] = 0;\n\n// Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\nexports['default'] = global[ns]++;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20)))\n\n/***/ }),\n/* 682 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _isInBrowser = __webpack_require__(169);\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _StyleSheet = __webpack_require__(363);\n\nvar _StyleSheet2 = _interopRequireDefault(_StyleSheet);\n\nvar _PluginsRegistry = __webpack_require__(683);\n\nvar _PluginsRegistry2 = _interopRequireDefault(_PluginsRegistry);\n\nvar _rules = __webpack_require__(684);\n\nvar _rules2 = _interopRequireDefault(_rules);\n\nvar _observables = __webpack_require__(690);\n\nvar _observables2 = _interopRequireDefault(_observables);\n\nvar _functions = __webpack_require__(691);\n\nvar _functions2 = _interopRequireDefault(_functions);\n\nvar _sheets = __webpack_require__(222);\n\nvar _sheets2 = _interopRequireDefault(_sheets);\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createGenerateClassName = __webpack_require__(362);\n\nvar _createGenerateClassName2 = _interopRequireDefault(_createGenerateClassName);\n\nvar _createRule2 = __webpack_require__(168);\n\nvar _createRule3 = _interopRequireDefault(_createRule2);\n\nvar _DomRenderer = __webpack_require__(692);\n\nvar _DomRenderer2 = _interopRequireDefault(_DomRenderer);\n\nvar _VirtualRenderer = __webpack_require__(693);\n\nvar _VirtualRenderer2 = _interopRequireDefault(_VirtualRenderer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar defaultPlugins = _rules2['default'].concat([_observables2['default'], _functions2['default']]);\n\nvar instanceCounter = 0;\n\nvar Jss = function () {\n function Jss(options) {\n _classCallCheck(this, Jss);\n\n this.id = instanceCounter++;\n this.version = \"9.8.7\";\n this.plugins = new _PluginsRegistry2['default']();\n this.options = {\n createGenerateClassName: _createGenerateClassName2['default'],\n Renderer: _isInBrowser2['default'] ? _DomRenderer2['default'] : _VirtualRenderer2['default'],\n plugins: []\n };\n this.generateClassName = (0, _createGenerateClassName2['default'])();\n\n // eslint-disable-next-line prefer-spread\n this.use.apply(this, defaultPlugins);\n this.setup(options);\n }\n\n _createClass(Jss, [{\n key: 'setup',\n value: function setup() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options.createGenerateClassName) {\n this.options.createGenerateClassName = options.createGenerateClassName;\n // $FlowFixMe\n this.generateClassName = options.createGenerateClassName();\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n if (options.virtual || options.Renderer) {\n this.options.Renderer = options.Renderer || (options.virtual ? _VirtualRenderer2['default'] : _DomRenderer2['default']);\n }\n\n // eslint-disable-next-line prefer-spread\n if (options.plugins) this.use.apply(this, options.plugins);\n\n return this;\n }\n\n /**\n * Create a Style Sheet.\n */\n\n }, {\n key: 'createStyleSheet',\n value: function createStyleSheet(styles) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var index = options.index;\n if (typeof index !== 'number') {\n index = _sheets2['default'].index === 0 ? 0 : _sheets2['default'].index + 1;\n }\n var sheet = new _StyleSheet2['default'](styles, _extends({}, options, {\n jss: this,\n generateClassName: options.generateClassName || this.generateClassName,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n\n return sheet;\n }\n\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n\n }, {\n key: 'removeStyleSheet',\n value: function removeStyleSheet(sheet) {\n sheet.detach();\n _sheets2['default'].remove(sheet);\n return this;\n }\n\n /**\n * Create a rule without a Style Sheet.\n */\n\n }, {\n key: 'createRule',\n value: function createRule(name) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n // Enable rule without name for inline styles.\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n options = style;\n style = name;\n name = undefined;\n }\n\n // Cast from RuleFactoryOptions to RuleOptions\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var ruleOptions = options;\n\n ruleOptions.jss = this;\n ruleOptions.Renderer = this.options.Renderer;\n if (!ruleOptions.generateClassName) ruleOptions.generateClassName = this.generateClassName;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n var rule = (0, _createRule3['default'])(name, style, ruleOptions);\n\n if (!ruleOptions.selector && rule instanceof _StyleRule2['default']) {\n rule.selector = '.' + ruleOptions.generateClassName(rule);\n }\n\n this.plugins.onProcessRule(rule);\n\n return rule;\n }\n\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n\n }, {\n key: 'use',\n value: function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n // Avoids applying same plugin twice, at least based on ref.\n if (_this.options.plugins.indexOf(plugin) === -1) {\n _this.options.plugins.push(plugin);\n _this.plugins.use(plugin);\n }\n });\n\n return this;\n }\n }]);\n\n return Jss;\n}();\n\nexports['default'] = Jss;\n\n/***/ }),\n/* 683 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PluginsRegistry = function () {\n function PluginsRegistry() {\n _classCallCheck(this, PluginsRegistry);\n\n this.hooks = {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n };\n }\n\n _createClass(PluginsRegistry, [{\n key: 'onCreateRule',\n value: function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.hooks.onCreateRule.length; i++) {\n var rule = this.hooks.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n return null;\n }\n\n /**\n * Call `onProcessRule` hooks.\n */\n\n }, {\n key: 'onProcessRule',\n value: function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.hooks.onProcessRule.length; i++) {\n this.hooks.onProcessRule[i](rule, sheet);\n }\n\n // $FlowFixMe\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n\n rule.isProcessed = true;\n }\n\n /**\n * Call `onProcessStyle` hooks.\n */\n\n }, {\n key: 'onProcessStyle',\n value: function onProcessStyle(style, rule, sheet) {\n var nextStyle = style;\n\n for (var i = 0; i < this.hooks.onProcessStyle.length; i++) {\n nextStyle = this.hooks.onProcessStyle[i](nextStyle, rule, sheet);\n // $FlowFixMe\n rule.style = nextStyle;\n }\n }\n\n /**\n * Call `onProcessSheet` hooks.\n */\n\n }, {\n key: 'onProcessSheet',\n value: function onProcessSheet(sheet) {\n for (var i = 0; i < this.hooks.onProcessSheet.length; i++) {\n this.hooks.onProcessSheet[i](sheet);\n }\n }\n\n /**\n * Call `onUpdate` hooks.\n */\n\n }, {\n key: 'onUpdate',\n value: function onUpdate(data, rule, sheet) {\n for (var i = 0; i < this.hooks.onUpdate.length; i++) {\n this.hooks.onUpdate[i](data, rule, sheet);\n }\n }\n\n /**\n * Call `onChangeValue` hooks.\n */\n\n }, {\n key: 'onChangeValue',\n value: function onChangeValue(value, prop, rule) {\n var processedValue = value;\n for (var i = 0; i < this.hooks.onChangeValue.length; i++) {\n processedValue = this.hooks.onChangeValue[i](processedValue, prop, rule);\n }\n return processedValue;\n }\n\n /**\n * Register a plugin.\n * If function is passed, it is a shortcut for `{onProcessRule}`.\n */\n\n }, {\n key: 'use',\n value: function use(plugin) {\n for (var name in plugin) {\n if (this.hooks[name]) this.hooks[name].push(plugin[name]);else (0, _warning2['default'])(false, '[JSS] Unknown hook \"%s\".', name);\n }\n }\n }]);\n\n return PluginsRegistry;\n}();\n\nexports['default'] = PluginsRegistry;\n\n/***/ }),\n/* 684 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SimpleRule = __webpack_require__(685);\n\nvar _SimpleRule2 = _interopRequireDefault(_SimpleRule);\n\nvar _KeyframesRule = __webpack_require__(686);\n\nvar _KeyframesRule2 = _interopRequireDefault(_KeyframesRule);\n\nvar _ConditionalRule = __webpack_require__(687);\n\nvar _ConditionalRule2 = _interopRequireDefault(_ConditionalRule);\n\nvar _FontFaceRule = __webpack_require__(688);\n\nvar _FontFaceRule2 = _interopRequireDefault(_FontFaceRule);\n\nvar _ViewportRule = __webpack_require__(689);\n\nvar _ViewportRule2 = _interopRequireDefault(_ViewportRule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar classes = {\n '@charset': _SimpleRule2['default'],\n '@import': _SimpleRule2['default'],\n '@namespace': _SimpleRule2['default'],\n '@keyframes': _KeyframesRule2['default'],\n '@media': _ConditionalRule2['default'],\n '@supports': _ConditionalRule2['default'],\n '@font-face': _FontFaceRule2['default'],\n '@viewport': _ViewportRule2['default'],\n '@-ms-viewport': _ViewportRule2['default']\n\n /**\n * Generate plugins which will register all rules.\n */\n};\nvar plugins = Object.keys(classes).map(function (key) {\n // https://jsperf.com/indexof-vs-substr-vs-regex-at-the-beginning-3\n var re = new RegExp('^' + key);\n var RuleClass = classes[key];\n var onCreateRule = function onCreateRule(name, decl, options) {\n return re.test(name) ? new RuleClass(name, decl, options) : null;\n };\n return { onCreateRule: onCreateRule };\n});\n\nexports['default'] = plugins;\n\n/***/ }),\n/* 685 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SimpleRule = function () {\n function SimpleRule(key, value, options) {\n _classCallCheck(this, SimpleRule);\n\n this.type = 'simple';\n this.isProcessed = false;\n\n this.key = key;\n this.value = value;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n _createClass(SimpleRule, [{\n key: 'toString',\n value: function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + ' ' + this.value[index] + ';';\n if (this.value[index + 1]) str += '\\n';\n }\n return str;\n }\n\n return this.key + ' ' + this.value + ';';\n }\n }]);\n\n return SimpleRule;\n}();\n\nexports['default'] = SimpleRule;\n\n/***/ }),\n/* 686 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _RuleList = __webpack_require__(135);\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Rule for @keyframes\n */\nvar KeyframesRule = function () {\n function KeyframesRule(key, frames, options) {\n _classCallCheck(this, KeyframesRule);\n\n this.type = 'keyframes';\n this.isProcessed = false;\n\n this.key = key;\n this.options = options;\n this.rules = new _RuleList2['default'](_extends({}, options, { parent: this }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, this.options, {\n parent: this,\n selector: name\n }));\n }\n\n this.rules.process();\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(KeyframesRule, [{\n key: 'toString',\n value: function toString() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { indent: 1 };\n\n var inner = this.rules.toString(options);\n if (inner) inner += '\\n';\n return this.key + ' {\\n' + inner + '}';\n }\n }]);\n\n return KeyframesRule;\n}();\n\nexports['default'] = KeyframesRule;\n\n/***/ }),\n/* 687 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _RuleList = __webpack_require__(135);\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Conditional rule for @media, @supports\n */\nvar ConditionalRule = function () {\n function ConditionalRule(key, styles, options) {\n _classCallCheck(this, ConditionalRule);\n\n this.type = 'conditional';\n this.isProcessed = false;\n\n this.key = key;\n this.options = options;\n this.rules = new _RuleList2['default'](_extends({}, options, { parent: this }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n\n /**\n * Get a rule.\n */\n\n\n _createClass(ConditionalRule, [{\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Create and register rule, run plugins.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { indent: 1 };\n\n var inner = this.rules.toString(options);\n return inner ? this.key + ' {\\n' + inner + '\\n}' : '';\n }\n }]);\n\n return ConditionalRule;\n}();\n\nexports['default'] = ConditionalRule;\n\n/***/ }),\n/* 688 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toCss = __webpack_require__(221);\n\nvar _toCss2 = _interopRequireDefault(_toCss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar FontFaceRule = function () {\n function FontFaceRule(key, style, options) {\n _classCallCheck(this, FontFaceRule);\n\n this.type = 'font-face';\n this.isProcessed = false;\n\n this.key = key;\n this.style = style;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(FontFaceRule, [{\n key: 'toString',\n value: function toString(options) {\n if (Array.isArray(this.style)) {\n var str = '';\n for (var index = 0; index < this.style.length; index++) {\n str += (0, _toCss2['default'])(this.key, this.style[index]);\n if (this.style[index + 1]) str += '\\n';\n }\n return str;\n }\n\n return (0, _toCss2['default'])(this.key, this.style, options);\n }\n }]);\n\n return FontFaceRule;\n}();\n\nexports['default'] = FontFaceRule;\n\n/***/ }),\n/* 689 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toCss = __webpack_require__(221);\n\nvar _toCss2 = _interopRequireDefault(_toCss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ViewportRule = function () {\n function ViewportRule(key, style, options) {\n _classCallCheck(this, ViewportRule);\n\n this.type = 'viewport';\n this.isProcessed = false;\n\n this.key = key;\n this.style = style;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(ViewportRule, [{\n key: 'toString',\n value: function toString(options) {\n return (0, _toCss2['default'])(this.key, this.style, options);\n }\n }]);\n\n return ViewportRule;\n}();\n\nexports['default'] = ViewportRule;\n\n/***/ }),\n/* 690 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createRule = __webpack_require__(168);\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nvar _isObservable = __webpack_require__(359);\n\nvar _isObservable2 = _interopRequireDefault(_isObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (!(0, _isObservable2['default'])(decl)) return null;\n\n // Cast `decl` to `Observable`, since it passed the type guard.\n var style$ = decl;\n\n var rule = (0, _createRule2['default'])(name, {}, options);\n\n // TODO\n // Call `stream.subscribe()` returns a subscription, which should be explicitly\n // unsubscribed from when we know this sheet is no longer needed.\n style$.subscribe(function (style) {\n for (var prop in style) {\n rule.prop(prop, style[prop]);\n }\n });\n\n return rule;\n },\n onProcessRule: function onProcessRule(rule) {\n if (!(rule instanceof _StyleRule2['default'])) return;\n var styleRule = rule;\n var style = styleRule.style;\n\n var _loop = function _loop(prop) {\n var value = style[prop];\n if (!(0, _isObservable2['default'])(value)) return 'continue';\n delete style[prop];\n value.subscribe({\n next: function next(nextValue) {\n styleRule.prop(prop, nextValue);\n }\n });\n };\n\n for (var prop in style) {\n var _ret = _loop(prop);\n\n if (_ret === 'continue') continue;\n }\n }\n};\n\n/***/ }),\n/* 691 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _RuleList = __webpack_require__(135);\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createRule = __webpack_require__(168);\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// A symbol replacement.\nvar now = Date.now();\n\nvar fnValuesNs = 'fnValues' + now;\nvar fnStyleNs = 'fnStyle' + ++now;\n\nexports['default'] = {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = (0, _createRule2['default'])(name, {}, options);\n rule[fnStyleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n var fn = {};\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fn[prop] = value;\n }\n rule = rule;\n rule[fnValuesNs] = fn;\n return style;\n },\n onUpdate: function onUpdate(data, rule) {\n // It is a rules container like for e.g. ConditionalRule.\n if (rule.rules instanceof _RuleList2['default']) {\n rule.rules.update(data);\n return;\n }\n if (!(rule instanceof _StyleRule2['default'])) return;\n\n rule = rule;\n\n // If we have a fn values map, it is a rule with function values.\n if (rule[fnValuesNs]) {\n for (var prop in rule[fnValuesNs]) {\n rule.prop(prop, rule[fnValuesNs][prop](data));\n }\n }\n\n rule = rule;\n\n var fnStyle = rule[fnStyleNs];\n\n // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n if (fnStyle) {\n var style = fnStyle(data);\n for (var _prop in style) {\n rule.prop(_prop, style[_prop]);\n }\n }\n }\n};\n\n/***/ }),\n/* 692 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _sheets = __webpack_require__(222);\n\nvar _sheets2 = _interopRequireDefault(_sheets);\n\nvar _StyleRule = __webpack_require__(112);\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _toCssValue = __webpack_require__(167);\n\nvar _toCssValue2 = _interopRequireDefault(_toCssValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Cache the value from the first time a function is called.\n */\nvar memoize = function memoize(fn) {\n var value = void 0;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n\n/**\n * Get a style property value.\n */\nfunction getPropertyValue(cssRule, prop) {\n try {\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n}\n\n/**\n * Set a style property.\n */\nfunction setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = (0, _toCssValue2['default'])(value, true);\n\n if (value[value.length - 1] === '!important') {\n cssRule.style.setProperty(prop, cssValue, 'important');\n return true;\n }\n }\n\n cssRule.style.setProperty(prop, cssValue);\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n return true;\n}\n\n/**\n * Remove a style property.\n */\nfunction removeProperty(cssRule, prop) {\n try {\n cssRule.style.removeProperty(prop);\n } catch (err) {\n (0, _warning2['default'])(false, '[JSS] DOMException \"%s\" was thrown. Tried to remove property \"%s\".', err.message, prop);\n }\n}\n\nvar CSSRuleTypes = {\n STYLE_RULE: 1,\n KEYFRAMES_RULE: 7\n\n /**\n * Get the CSS Rule key.\n */\n\n};var getKey = function () {\n var extractKey = function extractKey(cssText) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return cssText.substr(from, cssText.indexOf('{') - 1);\n };\n\n return function (cssRule) {\n if (cssRule.type === CSSRuleTypes.STYLE_RULE) return cssRule.selectorText;\n if (cssRule.type === CSSRuleTypes.KEYFRAMES_RULE) {\n var name = cssRule.name;\n\n if (name) return '@keyframes ' + name;\n\n // There is no rule.name in the following browsers:\n // - IE 9\n // - Safari 7.1.8\n // - Mobile Safari 9.0.0\n var cssText = cssRule.cssText;\n\n return '@' + extractKey(cssText, cssText.indexOf('keyframes'));\n }\n\n // Conditionals.\n return extractKey(cssRule.cssText);\n };\n}();\n\n/**\n * Set the selector.\n */\nfunction setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText;\n\n // Return false if setter was not successful.\n // Currently works in chrome only.\n return cssRule.selectorText === selectorText;\n}\n\n/**\n * Gets the `head` element upon the first call and caches it.\n */\nvar getHead = memoize(function () {\n return document.head || document.getElementsByTagName('head')[0];\n});\n\n/**\n * Gets a map of rule keys, where the property is an unescaped key and value\n * is a potentially escaped one.\n * It is used to identify CSS rules and the corresponding JSS rules. As an identifier\n * for CSSStyleRule we normally use `selectorText`. Though if original selector text\n * contains escaped code points e.g. `:not(#\\\\20)`, CSSOM will compile it to `:not(# )`\n * and so CSS rule's `selectorText` won't match JSS rule selector.\n *\n * https://www.w3.org/International/questions/qa-escapes#cssescapes\n */\nvar getUnescapedKeysMap = function () {\n var style = void 0;\n var isAttached = false;\n\n return function (rules) {\n var map = {};\n // https://github.com/facebook/flow/issues/2696\n if (!style) style = document.createElement('style');\n for (var i = 0; i < rules.length; i++) {\n var rule = rules[i];\n if (!(rule instanceof _StyleRule2['default'])) continue;\n var selector = rule.selector;\n // Only unescape selector over CSSOM if it contains a back slash.\n\n if (selector && selector.indexOf('\\\\') !== -1) {\n // Lazilly attach when needed.\n if (!isAttached) {\n getHead().appendChild(style);\n isAttached = true;\n }\n style.textContent = selector + ' {}';\n var _style = style,\n sheet = _style.sheet;\n\n if (sheet) {\n var cssRules = sheet.cssRules;\n\n if (cssRules) map[cssRules[0].selectorText] = rule.key;\n }\n }\n }\n if (isAttached) {\n getHead().removeChild(style);\n isAttached = false;\n }\n return map;\n };\n}();\n\n/**\n * Find attached sheet with an index higher than the passed one.\n */\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n\n/**\n * Find attached sheet with the highest index.\n */\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n\n/**\n * Find a comment with \"jss\" inside.\n */\nfunction findCommentNode(text) {\n var head = getHead();\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n return null;\n}\n\n/**\n * Find a node before which we can insert the sheet.\n */\nfunction findPrevNode(options) {\n var registry = _sheets2['default'].registry;\n\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n if (sheet) return sheet.renderer.element;\n\n // Otherwise insert after the last attached.\n sheet = findHighestSheet(registry, options);\n if (sheet) return sheet.renderer.element.nextElementSibling;\n }\n\n // Try to find a comment placeholder if registry is empty.\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n if (comment) return comment.nextSibling;\n // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n (0, _warning2['default'])(insertionPoint === 'jss', '[JSS] Insertion point \"%s\" not found.', insertionPoint);\n }\n\n return null;\n}\n\n/**\n * Insert style element into the DOM.\n */\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n\n var prevNode = findPrevNode(options);\n\n if (prevNode) {\n var parentNode = prevNode.parentNode;\n\n if (parentNode) parentNode.insertBefore(style, prevNode);\n return;\n }\n\n // Works with iframes and any node types.\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var insertionPointElement = insertionPoint;\n var _parentNode = insertionPointElement.parentNode;\n\n if (_parentNode) _parentNode.insertBefore(style, insertionPointElement.nextSibling);else (0, _warning2['default'])(false, '[JSS] Insertion point is not in the DOM.');\n return;\n }\n\n getHead().insertBefore(style, prevNode);\n}\n\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar DomRenderer = function () {\n function DomRenderer(sheet) {\n _classCallCheck(this, DomRenderer);\n\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.getKey = getKey;\n this.getUnescapedKeysMap = getUnescapedKeysMap;\n this.hasInsertedRules = false;\n\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) _sheets2['default'].add(sheet);\n\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || document.createElement('style');\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n\n /**\n * Insert style element into render tree.\n */\n\n\n // HTMLStyleElement needs fixing https://github.com/facebook/flow/issues/2696\n\n\n _createClass(DomRenderer, [{\n key: 'attach',\n value: function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n\n // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // browsers remove those rules.\n // TODO figure out if its a bug and if it is known.\n // Workaround is to redeploy the sheet before attaching as a string.\n if (this.hasInsertedRules) {\n this.deploy();\n this.hasInsertedRules = false;\n }\n\n insertStyle(this.element, this.sheet.options);\n }\n\n /**\n * Remove style element from render tree.\n */\n\n }, {\n key: 'detach',\n value: function detach() {\n this.element.parentNode.removeChild(this.element);\n }\n\n /**\n * Inject CSS string into element.\n */\n\n }, {\n key: 'deploy',\n value: function deploy() {\n if (!this.sheet) return;\n this.element.textContent = '\\n' + this.sheet.toString() + '\\n';\n }\n\n /**\n * Insert a rule into element.\n */\n\n }, {\n key: 'insertRule',\n value: function insertRule(rule, index) {\n var sheet = this.element.sheet;\n var cssRules = sheet.cssRules;\n\n var str = rule.toString();\n if (!index) index = cssRules.length;\n\n if (!str) return false;\n\n try {\n sheet.insertRule(str, index);\n } catch (err) {\n (0, _warning2['default'])(false, '[JSS] Can not insert an unsupported rule \\n\\r%s', rule);\n return false;\n }\n this.hasInsertedRules = true;\n\n return cssRules[index];\n }\n\n /**\n * Delete a rule.\n */\n\n }, {\n key: 'deleteRule',\n value: function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n return true;\n }\n\n /**\n * Get index of a CSS Rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(cssRule) {\n var cssRules = this.element.sheet.cssRules;\n\n for (var _index = 0; _index < cssRules.length; _index++) {\n if (cssRule === cssRules[_index]) return _index;\n }\n return -1;\n }\n\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n\n }, {\n key: 'replaceRule',\n value: function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n var newCssRule = this.insertRule(rule, index);\n this.element.sheet.deleteRule(index);\n return newCssRule;\n }\n\n /**\n * Get all rules elements.\n */\n\n }, {\n key: 'getRules',\n value: function getRules() {\n return this.element.sheet.cssRules;\n }\n }]);\n\n return DomRenderer;\n}();\n\nexports['default'] = DomRenderer;\n\n/***/ }),\n/* 693 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable class-methods-use-this */\n\n/**\n * Rendering backend to do nothing in nodejs.\n */\nvar VirtualRenderer = function () {\n function VirtualRenderer() {\n _classCallCheck(this, VirtualRenderer);\n }\n\n _createClass(VirtualRenderer, [{\n key: 'setProperty',\n value: function setProperty() {\n return true;\n }\n }, {\n key: 'getPropertyValue',\n value: function getPropertyValue() {\n return '';\n }\n }, {\n key: 'removeProperty',\n value: function removeProperty() {}\n }, {\n key: 'setSelector',\n value: function setSelector() {\n return true;\n }\n }, {\n key: 'getKey',\n value: function getKey() {\n return '';\n }\n }, {\n key: 'attach',\n value: function attach() {}\n }, {\n key: 'detach',\n value: function detach() {}\n }, {\n key: 'deploy',\n value: function deploy() {}\n }, {\n key: 'insertRule',\n value: function insertRule() {\n return false;\n }\n }, {\n key: 'deleteRule',\n value: function deleteRule() {\n return true;\n }\n }, {\n key: 'replaceRule',\n value: function replaceRule() {\n return false;\n }\n }, {\n key: 'getRules',\n value: function getRules() {}\n }, {\n key: 'indexOf',\n value: function indexOf() {\n return -1;\n }\n }]);\n\n return VirtualRenderer;\n}();\n\nexports['default'] = VirtualRenderer;\n\n/***/ }),\n/* 694 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports['default'] = jssGlobal;\n\nvar _jss = __webpack_require__(357);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar propKey = '@global';\nvar prefixKey = '@global ';\n\nvar GlobalContainerRule = function () {\n function GlobalContainerRule(key, styles, options) {\n _classCallCheck(this, GlobalContainerRule);\n\n this.type = 'global';\n\n this.key = key;\n this.options = options;\n this.rules = new _jss.RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector], { selector: selector });\n }\n\n this.rules.process();\n }\n\n /**\n * Get a rule.\n */\n\n\n _createClass(GlobalContainerRule, [{\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Create and register rule, run plugins.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n return this.rules.toString();\n }\n }]);\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule = function () {\n function GlobalPrefixedRule(name, style, options) {\n _classCallCheck(this, GlobalPrefixedRule);\n\n this.name = name;\n this.options = options;\n var selector = name.substr(prefixKey.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this,\n selector: selector\n }));\n }\n\n _createClass(GlobalPrefixedRule, [{\n key: 'toString',\n value: function toString(options) {\n return this.rule.toString(options);\n }\n }]);\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + ' ' + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule) {\n var options = rule.options,\n style = rule.style;\n\n var rules = style[propKey];\n\n if (!rules) return;\n\n for (var name in rules) {\n options.sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[propKey];\n}\n\nfunction handlePrefixedGlobalRule(rule) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop.substr(0, propKey.length) !== propKey) continue;\n\n var selector = addScope(prop.substr(propKey.length), rule.selector);\n options.sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (name === propKey) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, prefixKey.length) === prefixKey) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent.type === 'global') {\n options.global = true;\n }\n }\n\n if (options.global) options.selector = name;\n\n return null;\n }\n\n function onProcessRule(rule) {\n if (rule.type !== 'style') return;\n\n handleNestedGlobalContainerRule(rule);\n handlePrefixedGlobalRule(rule);\n }\n\n return { onCreateRule: onCreateRule, onProcessRule: onProcessRule };\n}\n\n/***/ }),\n/* 695 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = jssNested;\n\nvar _warning = __webpack_require__(17);\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container) {\n return function (match, key) {\n var rule = container.getRule(key);\n if (rule) return rule.selector;\n (0, _warning2.default)(false, '[JSS] Could not find the referenced rule %s in %s.', key, container.options.meta || container);\n return key;\n };\n }\n\n var hasAnd = function hasAnd(str) {\n return str.indexOf('&') !== -1;\n };\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', ';\n // Replace all & by the parent or prefix & with the parent.\n result += hasAnd(nested) ? nested.replace(parentRegExp, parent) : parent + ' ' + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, options) {\n // Options has been already created, now we only increase index.\n if (options) return _extends({}, options, { index: options.index + 1 });\n\n var nestingLevel = rule.options.nestingLevel;\n\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n return _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1\n });\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var container = rule.options.parent;\n var options = void 0;\n var replaceRef = void 0;\n for (var prop in style) {\n var isNested = hasAnd(prop);\n var isNestedConditional = prop[0] === '@';\n\n if (!isNested && !isNestedConditional) continue;\n\n options = getOptions(rule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, rule.selector\n // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n );if (!replaceRef) replaceRef = getReplaceRef(container\n // Replace all $refs.\n );selector = selector.replace(refRegExp, replaceRef);\n\n container.addRule(selector, style[prop], _extends({}, options, { selector: selector }));\n } else if (isNestedConditional) {\n container\n // Place conditional right after the parent rule to ensure right ordering.\n .addRule(prop, null, options).addRule(rule.key, style[prop], { selector: rule.selector });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return { onProcessStyle: onProcessStyle };\n}\n\n/***/ }),\n/* 696 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = camelCase;\n\nvar _hyphenateStyleName = __webpack_require__(697);\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Convert camel cased property names to dash separated.\n *\n * @param {Object} style\n * @return {Object}\n */\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n converted[(0, _hyphenateStyleName2['default'])(prop)] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n\n/**\n * Allow camel cased property names by converting them back to dasherized.\n *\n * @param {Rule} rule\n */\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n var hyphenatedProp = (0, _hyphenateStyleName2['default'])(prop);\n\n // There was no camel case in place\n if (prop === hyphenatedProp) return value;\n\n rule.prop(hyphenatedProp, value);\n\n // Core will ignore that property value we set the proper one above.\n return null;\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}\n\n/***/ }),\n/* 697 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (hyphenateStyleName);\n\n\n/***/ }),\n/* 698 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports['default'] = defaultUnit;\n\nvar _defaultUnits = __webpack_require__(699);\n\nvar _defaultUnits2 = _interopRequireDefault(_defaultUnits);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Clones the object and adds a camel cased property version.\n */\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n var newObj = {};\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n return newObj;\n}\n\nvar units = addCamelCasedVersion(_defaultUnits2['default']);\n\n/**\n * Recursive deep style passing function\n *\n * @param {String} current property\n * @param {(Object|Array|Number|String)} property value\n * @param {Object} options\n * @return {(Object|Array|Number|String)} resulting value\n */\nfunction iterate(prop, value, options) {\n if (!value) return value;\n\n var convertedValue = value;\n\n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n if (type === 'object' && Array.isArray(value)) type = 'array';\n\n switch (type) {\n case 'object':\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n break;\n }\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + '-' + _innerProp, value[_innerProp], options);\n }\n break;\n case 'array':\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n break;\n case 'number':\n if (value !== 0) {\n convertedValue = value + (options[prop] || units[prop] || '');\n }\n break;\n default:\n break;\n }\n\n return convertedValue;\n}\n\n/**\n * Add unit to numeric values.\n */\nfunction defaultUnit() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}\n\n/***/ }),\n/* 699 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Generated jss-default-unit CSS property units\n *\n * @type object\n */\nexports['default'] = {\n 'animation-delay': 'ms',\n 'animation-duration': 'ms',\n 'background-position': 'px',\n 'background-position-x': 'px',\n 'background-position-y': 'px',\n 'background-size': 'px',\n border: 'px',\n 'border-bottom': 'px',\n 'border-bottom-left-radius': 'px',\n 'border-bottom-right-radius': 'px',\n 'border-bottom-width': 'px',\n 'border-left': 'px',\n 'border-left-width': 'px',\n 'border-radius': 'px',\n 'border-right': 'px',\n 'border-right-width': 'px',\n 'border-spacing': 'px',\n 'border-top': 'px',\n 'border-top-left-radius': 'px',\n 'border-top-right-radius': 'px',\n 'border-top-width': 'px',\n 'border-width': 'px',\n 'border-after-width': 'px',\n 'border-before-width': 'px',\n 'border-end-width': 'px',\n 'border-horizontal-spacing': 'px',\n 'border-start-width': 'px',\n 'border-vertical-spacing': 'px',\n bottom: 'px',\n 'box-shadow': 'px',\n 'column-gap': 'px',\n 'column-rule': 'px',\n 'column-rule-width': 'px',\n 'column-width': 'px',\n 'flex-basis': 'px',\n 'font-size': 'px',\n 'font-size-delta': 'px',\n height: 'px',\n left: 'px',\n 'letter-spacing': 'px',\n 'logical-height': 'px',\n 'logical-width': 'px',\n margin: 'px',\n 'margin-after': 'px',\n 'margin-before': 'px',\n 'margin-bottom': 'px',\n 'margin-left': 'px',\n 'margin-right': 'px',\n 'margin-top': 'px',\n 'max-height': 'px',\n 'max-width': 'px',\n 'margin-end': 'px',\n 'margin-start': 'px',\n 'mask-position-x': 'px',\n 'mask-position-y': 'px',\n 'mask-size': 'px',\n 'max-logical-height': 'px',\n 'max-logical-width': 'px',\n 'min-height': 'px',\n 'min-width': 'px',\n 'min-logical-height': 'px',\n 'min-logical-width': 'px',\n motion: 'px',\n 'motion-offset': 'px',\n outline: 'px',\n 'outline-offset': 'px',\n 'outline-width': 'px',\n padding: 'px',\n 'padding-bottom': 'px',\n 'padding-left': 'px',\n 'padding-right': 'px',\n 'padding-top': 'px',\n 'padding-after': 'px',\n 'padding-before': 'px',\n 'padding-end': 'px',\n 'padding-start': 'px',\n 'perspective-origin-x': '%',\n 'perspective-origin-y': '%',\n perspective: 'px',\n right: 'px',\n 'shape-margin': 'px',\n size: 'px',\n 'text-indent': 'px',\n 'text-stroke': 'px',\n 'text-stroke-width': 'px',\n top: 'px',\n 'transform-origin': '%',\n 'transform-origin-x': '%',\n 'transform-origin-y': '%',\n 'transform-origin-z': '%',\n 'transition-delay': 'ms',\n 'transition-duration': 'ms',\n 'vertical-align': 'px',\n width: 'px',\n 'word-spacing': 'px',\n // Not existing properties.\n // Used to avoid issues with jss-expand intergration.\n 'box-shadow-x': 'px',\n 'box-shadow-y': 'px',\n 'box-shadow-blur': 'px',\n 'box-shadow-spread': 'px',\n 'font-line-height': 'px',\n 'text-shadow-x': 'px',\n 'text-shadow-y': 'px',\n 'text-shadow-blur': 'px'\n};\n\n/***/ }),\n/* 700 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = jssVendorPrefixer;\n\nvar _cssVendor = __webpack_require__(701);\n\nvar vendor = _interopRequireWildcard(_cssVendor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }\n\n/**\n * Add vendor prefix to a property name when needed.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n rule.key = '@' + vendor.prefix.css + rule.key.substr(1);\n }\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n var value = style[prop];\n\n var changeProp = false;\n var supportedProp = vendor.supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n\n var changeValue = false;\n var supportedValue = vendor.supportedValue(supportedProp, value);\n if (supportedValue && supportedValue !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue || value;\n }\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return vendor.supportedValue(prop, value);\n }\n\n return { onProcessRule: onProcessRule, onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}\n\n/***/ }),\n/* 701 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.supportedValue = exports.supportedProperty = exports.prefix = undefined;\n\nvar _prefix = __webpack_require__(223);\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _supportedProperty = __webpack_require__(702);\n\nvar _supportedProperty2 = _interopRequireDefault(_supportedProperty);\n\nvar _supportedValue = __webpack_require__(704);\n\nvar _supportedValue2 = _interopRequireDefault(_supportedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n prefix: _prefix2['default'],\n supportedProperty: _supportedProperty2['default'],\n supportedValue: _supportedValue2['default']\n}; /**\n * CSS Vendor prefix detection and property feature testing.\n *\n * @copyright Oleg Slobodskoi 2015\n * @website https://github.com/jsstyles/css-vendor\n * @license MIT\n */\n\nexports.prefix = _prefix2['default'];\nexports.supportedProperty = _supportedProperty2['default'];\nexports.supportedValue = _supportedValue2['default'];\n\n/***/ }),\n/* 702 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = supportedProperty;\n\nvar _isInBrowser = __webpack_require__(169);\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _prefix = __webpack_require__(223);\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _camelize = __webpack_require__(703);\n\nvar _camelize2 = _interopRequireDefault(_camelize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar el = void 0;\nvar cache = {};\n\nif (_isInBrowser2['default']) {\n el = document.createElement('p');\n\n /**\n * We test every property on vendor prefix requirement.\n * Once tested, result is cached. It gives us up to 70% perf boost.\n * http://jsperf.com/element-style-object-access-vs-plain-object\n *\n * Prefill cache with known css properties to reduce amount of\n * properties we need to feature test at runtime.\n * http://davidwalsh.name/vendor-prefix\n */\n var computed = window.getComputedStyle(document.documentElement, '');\n for (var key in computed) {\n if (!isNaN(key)) cache[computed[key]] = computed[key];\n }\n}\n\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @return {String|Boolean}\n * @api public\n */\nfunction supportedProperty(prop) {\n // For server-side rendering.\n if (!el) return prop;\n\n // We have not tested this prop yet, lets do the test.\n if (cache[prop] != null) return cache[prop];\n\n // Camelization is required because we can't test using\n // css syntax for e.g. in FF.\n // Test if property is supported as it is.\n if ((0, _camelize2['default'])(prop) in el.style) {\n cache[prop] = prop;\n }\n // Test if property is supported with vendor prefix.\n else if (_prefix2['default'].js + (0, _camelize2['default'])('-' + prop) in el.style) {\n cache[prop] = _prefix2['default'].css + prop;\n } else {\n cache[prop] = false;\n }\n\n return cache[prop];\n}\n\n/***/ }),\n/* 703 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = camelize;\nvar regExp = /[-\\s]+(.)?/g;\n\n/**\n * Convert dash separated strings to camel cased.\n *\n * @param {String} str\n * @return {String}\n */\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}\n\n/***/ }),\n/* 704 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = supportedValue;\n\nvar _isInBrowser = __webpack_require__(169);\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _prefix = __webpack_require__(223);\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar cache = {};\nvar el = void 0;\n\nif (_isInBrowser2['default']) el = document.createElement('p');\n\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\nfunction supportedValue(property, value) {\n // For server-side rendering.\n if (!el) return value;\n\n // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n if (typeof value !== 'string' || !isNaN(parseInt(value, 10))) return value;\n\n var cacheKey = property + value;\n\n if (cache[cacheKey] != null) return cache[cacheKey];\n\n // IE can even throw an error in some cases, for e.g. style.content = 'bar'\n try {\n // Test value as it is.\n el.style[property] = value;\n } catch (err) {\n cache[cacheKey] = false;\n return false;\n }\n\n // Value is supported as it is.\n if (el.style[property] !== '') {\n cache[cacheKey] = value;\n } else {\n // Test value with vendor prefix.\n value = _prefix2['default'].css + value;\n\n // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n if (value === '-ms-flex') value = '-ms-flexbox';\n\n el.style[property] = value;\n\n // Value is supported with vendor prefix.\n if (el.style[property] !== '') cache[cacheKey] = value;\n }\n\n if (!cache[cacheKey]) cache[cacheKey] = false;\n\n // Reset style value.\n el.style[property] = '';\n\n return cache[cacheKey];\n}\n\n/***/ }),\n/* 705 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = jssPropsSort;\n/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n function sort(prop0, prop1) {\n return prop0.length - prop1.length;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n for (var prop in props) {\n newStyle[props[prop]] = style[props[prop]];\n }\n return newStyle;\n }\n\n return { onProcessStyle: onProcessStyle };\n}\n\n/***/ }),\n/* 706 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createTypography;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _deepmerge = _interopRequireDefault(__webpack_require__(170));\n\n// < 1kb payload overhead when lodash/merge is > 3kb.\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\n\nfunction createTypography(palette, typography) {\n var _ref = typeof typography === 'function' ? typography(palette) : typography,\n _ref$fontFamily = _ref.fontFamily,\n fontFamily = _ref$fontFamily === void 0 ? '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif' : _ref$fontFamily,\n _ref$fontSize = _ref.fontSize,\n fontSize = _ref$fontSize === void 0 ? 14 : _ref$fontSize,\n _ref$fontWeightLight = _ref.fontWeightLight,\n fontWeightLight = _ref$fontWeightLight === void 0 ? 300 : _ref$fontWeightLight,\n _ref$fontWeightRegula = _ref.fontWeightRegular,\n fontWeightRegular = _ref$fontWeightRegula === void 0 ? 400 : _ref$fontWeightRegula,\n _ref$fontWeightMedium = _ref.fontWeightMedium,\n fontWeightMedium = _ref$fontWeightMedium === void 0 ? 500 : _ref$fontWeightMedium,\n _ref$htmlFontSize = _ref.htmlFontSize,\n htmlFontSize = _ref$htmlFontSize === void 0 ? 16 : _ref$htmlFontSize,\n other = (0, _objectWithoutProperties2.default)(_ref, [\"fontFamily\", \"fontSize\", \"fontWeightLight\", \"fontWeightRegular\", \"fontWeightMedium\", \"htmlFontSize\"]);\n\n var coef = fontSize / 14;\n\n function pxToRem(value) {\n return \"\".concat(value / htmlFontSize * coef, \"rem\");\n }\n\n return (0, _deepmerge.default)({\n pxToRem: pxToRem,\n round: round,\n fontFamily: fontFamily,\n fontSize: fontSize,\n fontWeightLight: fontWeightLight,\n fontWeightRegular: fontWeightRegular,\n fontWeightMedium: fontWeightMedium,\n display4: {\n fontSize: pxToRem(112),\n fontWeight: fontWeightLight,\n fontFamily: fontFamily,\n letterSpacing: '-.04em',\n lineHeight: \"\".concat(round(128 / 112), \"em\"),\n marginLeft: '-.04em',\n color: palette.text.secondary\n },\n display3: {\n fontSize: pxToRem(56),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n letterSpacing: '-.02em',\n lineHeight: \"\".concat(round(73 / 56), \"em\"),\n marginLeft: '-.02em',\n color: palette.text.secondary\n },\n display2: {\n fontSize: pxToRem(45),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(48 / 45), \"em\"),\n marginLeft: '-.02em',\n color: palette.text.secondary\n },\n display1: {\n fontSize: pxToRem(34),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(41 / 34), \"em\"),\n color: palette.text.secondary\n },\n headline: {\n fontSize: pxToRem(24),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(32.5 / 24), \"em\"),\n color: palette.text.primary\n },\n title: {\n fontSize: pxToRem(21),\n fontWeight: fontWeightMedium,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(24.5 / 21), \"em\"),\n color: palette.text.primary\n },\n subheading: {\n fontSize: pxToRem(16),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(24 / 16), \"em\"),\n color: palette.text.primary\n },\n body2: {\n fontSize: pxToRem(14),\n fontWeight: fontWeightMedium,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(24 / 14), \"em\"),\n color: palette.text.primary\n },\n body1: {\n fontSize: pxToRem(14),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(20.5 / 14), \"em\"),\n color: palette.text.primary\n },\n caption: {\n fontSize: pxToRem(12),\n fontWeight: fontWeightRegular,\n fontFamily: fontFamily,\n lineHeight: \"\".concat(round(16.5 / 12), \"em\"),\n color: palette.text.secondary\n },\n button: {\n fontSize: pxToRem(14),\n textTransform: 'uppercase',\n fontWeight: fontWeightMedium,\n fontFamily: fontFamily\n }\n }, other, {\n clone: false // No need to clone deep\n\n });\n}\n\n/***/ }),\n/* 707 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPalette;\nexports.dark = exports.light = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _deepmerge = _interopRequireDefault(__webpack_require__(170));\n\nvar _indigo = _interopRequireDefault(__webpack_require__(366));\n\nvar _pink = _interopRequireDefault(__webpack_require__(367));\n\nvar _grey = _interopRequireDefault(__webpack_require__(368));\n\nvar _red = _interopRequireDefault(__webpack_require__(369));\n\nvar _common = _interopRequireDefault(__webpack_require__(225));\n\nvar _colorManipulator = __webpack_require__(113);\n\n// < 1kb payload overhead when lodash/merge is > 3kb.\nvar light = {\n // The colors used to style the text.\n text: {\n // The most important text.\n primary: 'rgba(0, 0, 0, 0.87)',\n // Secondary text.\n secondary: 'rgba(0, 0, 0, 0.54)',\n // Disabled text have even lower visual prominence.\n disabled: 'rgba(0, 0, 0, 0.38)',\n // Text hints.\n hint: 'rgba(0, 0, 0, 0.38)'\n },\n // The color used to divide different elements.\n divider: 'rgba(0, 0, 0, 0.12)',\n // The background colors used to style the surfaces.\n // Consistency between these values is important.\n background: {\n paper: _common.default.white,\n default: _grey.default[50]\n },\n // The colors used to style the action elements.\n action: {\n // The color of an active action like an icon button.\n active: 'rgba(0, 0, 0, 0.54)',\n // The color of an hovered action.\n hover: 'rgba(0, 0, 0, 0.08)',\n hoverOpacity: 0.08,\n // The color of a selected action.\n selected: 'rgba(0, 0, 0, 0.14)',\n // The color of a disabled action.\n disabled: 'rgba(0, 0, 0, 0.26)',\n // The background color of a disabled action.\n disabledBackground: 'rgba(0, 0, 0, 0.12)'\n }\n};\nexports.light = light;\nvar dark = {\n text: {\n primary: _common.default.white,\n secondary: 'rgba(255, 255, 255, 0.7)',\n disabled: 'rgba(255, 255, 255, 0.5)',\n hint: 'rgba(255, 255, 255, 0.5)',\n icon: 'rgba(255, 255, 255, 0.5)'\n },\n divider: 'rgba(255, 255, 255, 0.12)',\n background: {\n paper: _grey.default[800],\n default: '#303030'\n },\n action: {\n active: _common.default.white,\n hover: 'rgba(255, 255, 255, 0.1)',\n hoverOpacity: 0.1,\n selected: 'rgba(255, 255, 255, 0.2)',\n disabled: 'rgba(255, 255, 255, 0.3)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)'\n }\n};\nexports.dark = dark;\n\nfunction addLightOrDark(intent, direction, shade, tonalOffset) {\n if (!intent[direction]) {\n if (intent.hasOwnProperty(shade)) {\n intent[direction] = intent[shade];\n } else if (direction === 'light') {\n intent.light = (0, _colorManipulator.lighten)(intent.main, tonalOffset);\n } else if (direction === 'dark') {\n intent.dark = (0, _colorManipulator.darken)(intent.main, tonalOffset * 1.5);\n }\n }\n}\n\nfunction createPalette(palette) {\n var _palette$primary = palette.primary,\n primary = _palette$primary === void 0 ? {\n light: _indigo.default[300],\n main: _indigo.default[500],\n dark: _indigo.default[700]\n } : _palette$primary,\n _palette$secondary = palette.secondary,\n secondary = _palette$secondary === void 0 ? {\n light: _pink.default.A200,\n main: _pink.default.A400,\n dark: _pink.default.A700\n } : _palette$secondary,\n _palette$error = palette.error,\n error = _palette$error === void 0 ? {\n light: _red.default[300],\n main: _red.default[500],\n dark: _red.default[700]\n } : _palette$error,\n _palette$type = palette.type,\n type = _palette$type === void 0 ? 'light' : _palette$type,\n _palette$contrastThre = palette.contrastThreshold,\n contrastThreshold = _palette$contrastThre === void 0 ? 3 : _palette$contrastThre,\n _palette$tonalOffset = palette.tonalOffset,\n tonalOffset = _palette$tonalOffset === void 0 ? 0.2 : _palette$tonalOffset,\n other = (0, _objectWithoutProperties2.default)(palette, [\"primary\", \"secondary\", \"error\", \"type\", \"contrastThreshold\", \"tonalOffset\"]);\n\n function getContrastText(background) {\n // Use the same logic as\n // Bootstrap: https://github.com/twbs/bootstrap/blob/1d6e3710dd447de1a200f29e8fa521f8a0908f70/scss/_functions.scss#L59\n // and material-components-web https://github.com/material-components/material-components-web/blob/ac46b8863c4dab9fc22c4c662dc6bd1b65dd652f/packages/mdc-theme/_functions.scss#L54\n var contrastText = (0, _colorManipulator.getContrastRatio)(background, dark.text.primary) >= contrastThreshold ? dark.text.primary : light.text.primary;\n\n if (false) {\n var contrast = (0, _colorManipulator.getContrastRatio)(background, contrastText);\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(contrast >= 3, [\"Material-UI: the contrast ratio of \".concat(contrast, \":1 for \").concat(contrastText, \" on \").concat(background), 'falls below the WACG recommended absolute minimum contrast ratio of 3:1.', 'https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast'].join('\\n')) : void 0;\n }\n\n return contrastText;\n }\n\n function augmentColor(color, mainShade, lightShade, darkShade) {\n if (!color.main && color[mainShade]) {\n color.main = color[mainShade];\n }\n\n addLightOrDark(color, 'light', lightShade, tonalOffset);\n addLightOrDark(color, 'dark', darkShade, tonalOffset);\n\n if (!color.contrastText) {\n color.contrastText = getContrastText(color.main);\n }\n }\n\n augmentColor(primary, 500, 300, 700);\n augmentColor(secondary, 'A400', 'A200', 'A700');\n augmentColor(error, 500, 300, 700);\n var types = {\n dark: dark,\n light: light\n };\n false ? (0, _warning.default)(types[type], \"Material-UI: the palette type `\".concat(type, \"` is not supported.\")) : void 0;\n var paletteOutput = (0, _deepmerge.default)((0, _objectSpread2.default)({\n // A collection of common colors.\n common: _common.default,\n // The palette type, can be light or dark.\n type: type,\n // The colors used to represent primary interface elements for a user.\n primary: primary,\n // The colors used to represent secondary interface elements for a user.\n secondary: secondary,\n // The colors used to represent interface elements that the user should be made aware of.\n error: error,\n // The grey colors.\n grey: _grey.default,\n // Used by `getContrastText()` to maximize the contrast between the background and\n // the text.\n contrastThreshold: contrastThreshold,\n // Take a background color and return the color of the text to maximize the contrast.\n getContrastText: getContrastText,\n // Generate a rich color object.\n augmentColor: augmentColor,\n // Used by the functions below to shift a color's luminance by approximately\n // two indexes within its tonal palette.\n // E.g., shift from Red 500 to Red 300 or Red 700.\n tonalOffset: tonalOffset\n }, types[type]), other, {\n clone: false // No need to clone deep\n\n });\n return paletteOutput;\n}\n\n/***/ }),\n/* 708 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createMixins;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread3 = _interopRequireDefault(__webpack_require__(28));\n\nfunction createMixins(breakpoints, spacing, mixins) {\n var _toolbar;\n\n return (0, _objectSpread3.default)({\n gutters: function gutters() {\n var styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _objectSpread3.default)({\n paddingLeft: spacing.unit * 2,\n paddingRight: spacing.unit * 2\n }, styles, (0, _defineProperty2.default)({}, breakpoints.up('sm'), (0, _objectSpread3.default)({\n paddingLeft: spacing.unit * 3,\n paddingRight: spacing.unit * 3\n }, styles[breakpoints.up('sm')])));\n },\n toolbar: (_toolbar = {\n minHeight: 56\n }, (0, _defineProperty2.default)(_toolbar, \"\".concat(breakpoints.up('xs'), \" and (orientation: landscape)\"), {\n minHeight: 48\n }), (0, _defineProperty2.default)(_toolbar, breakpoints.up('sm'), {\n minHeight: 64\n }), _toolbar)\n }, mixins);\n}\n\n/***/ }),\n/* 709 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar shadowKeyUmbraOpacity = 0.2;\nvar shadowKeyPenumbraOpacity = 0.14;\nvar shadowAmbientShadowOpacity = 0.12;\n\nfunction createShadow() {\n return [\"\".concat(arguments.length <= 0 ? undefined : arguments[0], \"px \").concat(arguments.length <= 1 ? undefined : arguments[1], \"px \").concat(arguments.length <= 2 ? undefined : arguments[2], \"px \").concat(arguments.length <= 3 ? undefined : arguments[3], \"px rgba(0, 0, 0, \").concat(shadowKeyUmbraOpacity, \")\"), \"\".concat(arguments.length <= 4 ? undefined : arguments[4], \"px \").concat(arguments.length <= 5 ? undefined : arguments[5], \"px \").concat(arguments.length <= 6 ? undefined : arguments[6], \"px \").concat(arguments.length <= 7 ? undefined : arguments[7], \"px rgba(0, 0, 0, \").concat(shadowKeyPenumbraOpacity, \")\"), \"\".concat(arguments.length <= 8 ? undefined : arguments[8], \"px \").concat(arguments.length <= 9 ? undefined : arguments[9], \"px \").concat(arguments.length <= 10 ? undefined : arguments[10], \"px \").concat(arguments.length <= 11 ? undefined : arguments[11], \"px rgba(0, 0, 0, \").concat(shadowAmbientShadowOpacity, \")\")].join(',');\n}\n\nvar shadows = ['none', createShadow(0, 1, 3, 0, 0, 1, 1, 0, 0, 2, 1, -1), createShadow(0, 1, 5, 0, 0, 2, 2, 0, 0, 3, 1, -2), createShadow(0, 1, 8, 0, 0, 3, 4, 0, 0, 3, 3, -2), createShadow(0, 2, 4, -1, 0, 4, 5, 0, 0, 1, 10, 0), createShadow(0, 3, 5, -1, 0, 5, 8, 0, 0, 1, 14, 0), createShadow(0, 3, 5, -1, 0, 6, 10, 0, 0, 1, 18, 0), createShadow(0, 4, 5, -2, 0, 7, 10, 1, 0, 2, 16, 1), createShadow(0, 5, 5, -3, 0, 8, 10, 1, 0, 3, 14, 2), createShadow(0, 5, 6, -3, 0, 9, 12, 1, 0, 3, 16, 2), createShadow(0, 6, 6, -3, 0, 10, 14, 1, 0, 4, 18, 3), createShadow(0, 6, 7, -4, 0, 11, 15, 1, 0, 4, 20, 3), createShadow(0, 7, 8, -4, 0, 12, 17, 2, 0, 5, 22, 4), createShadow(0, 7, 8, -4, 0, 13, 19, 2, 0, 5, 24, 4), createShadow(0, 7, 9, -4, 0, 14, 21, 2, 0, 5, 26, 4), createShadow(0, 8, 9, -5, 0, 15, 22, 2, 0, 6, 28, 5), createShadow(0, 8, 10, -5, 0, 16, 24, 2, 0, 6, 30, 5), createShadow(0, 8, 11, -5, 0, 17, 26, 2, 0, 6, 32, 5), createShadow(0, 9, 11, -5, 0, 18, 28, 2, 0, 7, 34, 6), createShadow(0, 9, 12, -6, 0, 19, 29, 2, 0, 7, 36, 6), createShadow(0, 10, 13, -6, 0, 20, 31, 3, 0, 8, 38, 7), createShadow(0, 10, 13, -6, 0, 21, 33, 3, 0, 8, 40, 7), createShadow(0, 10, 14, -6, 0, 22, 35, 3, 0, 8, 42, 7), createShadow(0, 11, 14, -7, 0, 23, 36, 3, 0, 9, 44, 8), createShadow(0, 11, 15, -7, 0, 24, 38, 3, 0, 9, 46, 8)];\nvar _default = shadows;\nexports.default = _default;\n\n/***/ }),\n/* 710 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(711);\n\n/***/ }),\n/* 711 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(712);\nmodule.exports = __webpack_require__(40).Number.isNaN;\n\n\n/***/ }),\n/* 712 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(44);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 713 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n// We need to centralize the zIndex definitions as they work\n// like global values in the browser.\nvar zIndex = {\n mobileStepper: 1000,\n appBar: 1100,\n drawer: 1200,\n modal: 1300,\n snackbar: 1400,\n tooltip: 1500\n};\nvar _default = zIndex;\nexports.default = _default;\n\n/***/ }),\n/* 714 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n // All components align to an 8dp square baseline grid for mobile, tablet, and desktop.\n // https://material.io/guidelines/layout/metrics-keylines.html#metrics-keylines-baseline-grids\n unit: 8\n};\nexports.default = _default;\n\n/***/ }),\n/* 715 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _keys = _interopRequireDefault(__webpack_require__(110));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _deepmerge = _interopRequireDefault(__webpack_require__(170));\n\n// < 1kb payload overhead when lodash/merge is > 3kb.\n// Support for the jss-expand plugin.\nfunction arrayMerge(destination, source) {\n return source;\n}\n\nfunction getStylesCreator(stylesOrCreator) {\n var themingEnabled = typeof stylesOrCreator === 'function';\n\n function create(theme, name) {\n var styles = themingEnabled ? stylesOrCreator(theme) : stylesOrCreator;\n\n if (!name || !theme.overrides || !theme.overrides[name]) {\n return styles;\n }\n\n var overrides = theme.overrides[name];\n var stylesWithOverrides = (0, _objectSpread2.default)({}, styles);\n (0, _keys.default)(overrides).forEach(function (key) {\n false ? (0, _warning.default)(stylesWithOverrides[key], ['Material-UI: you are trying to override a style that does not exist.', \"Fix the `\".concat(key, \"` key of `theme.overrides.\").concat(name, \"`.\")].join('\\n')) : void 0;\n stylesWithOverrides[key] = (0, _deepmerge.default)(stylesWithOverrides[key], overrides[key], {\n arrayMerge: arrayMerge\n });\n });\n return stylesWithOverrides;\n }\n\n return {\n create: create,\n options: {},\n themingEnabled: themingEnabled\n };\n}\n\nvar _default = getStylesCreator;\nexports.default = _default;\n\n/***/ }),\n/* 716 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction getThemeProps(params) {\n var theme = params.theme,\n name = params.name;\n\n if (!name || !theme.props || !theme.props[name]) {\n return {};\n }\n\n return theme.props[name];\n}\n\nvar _default = getThemeProps;\nexports.default = _default;\n\n/***/ }),\n/* 717 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _activeElement = _interopRequireDefault(__webpack_require__(371));\n\nvar _contains = _interopRequireDefault(__webpack_require__(171));\n\nvar _inDOM = _interopRequireDefault(__webpack_require__(172));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _RootRef = _interopRequireDefault(__webpack_require__(372));\n\nvar _Portal = _interopRequireDefault(__webpack_require__(373));\n\nvar _helpers = __webpack_require__(39);\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ModalManager = _interopRequireDefault(__webpack_require__(374));\n\nvar _Backdrop = _interopRequireDefault(__webpack_require__(377));\n\n// @inheritedComponent Portal\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom.default.findDOMNode(container) || defaultContainer;\n}\n\nfunction getHasTransition(props) {\n return props.children ? props.children.props.hasOwnProperty('in') : false;\n}\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n width: '100%',\n height: '100%',\n position: 'fixed',\n zIndex: theme.zIndex.modal,\n top: 0,\n left: 0\n },\n hidden: {\n visibility: 'hidden'\n }\n };\n};\n\nexports.styles = styles;\n\nvar Modal =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Modal, _React$Component);\n (0, _createClass2.default)(Modal, null, [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n if (nextProps.open) {\n return {\n exited: false\n };\n } else if (!getHasTransition(nextProps)) {\n // Otherwise let handleExited take care of marking exited.\n return {\n exited: true\n };\n }\n\n return null;\n }\n }]);\n\n function Modal(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Modal);\n _this = (0, _possibleConstructorReturn2.default)(this, (Modal.__proto__ || (0, _getPrototypeOf.default)(Modal)).call(this, props, context));\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"dialogElement\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mounted\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mountNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRendered\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.autoFocus();\n\n if (_this.props.onRendered) {\n _this.props.onRendered();\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleOpen\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n var doc = (0, _ownerDocument.default)(_this.mountNode);\n var container = getContainer(_this.props.container, doc.body);\n\n _this.props.manager.add((0, _assertThisInitialized2.default)(_this), container);\n\n doc.addEventListener('keydown', _this.handleDocumentKeyDown);\n doc.addEventListener('focus', _this.enforceFocus, true);\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.props.manager.remove((0, _assertThisInitialized2.default)(_this));\n\n var doc = (0, _ownerDocument.default)(_this.mountNode);\n doc.removeEventListener('keydown', _this.handleDocumentKeyDown);\n doc.removeEventListener('focus', _this.enforceFocus);\n\n _this.restoreLastFocus();\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExited\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n exited: true\n });\n\n _this.handleClose();\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBackdropClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n\n if (_this.props.onBackdropClick) {\n _this.props.onBackdropClick(event);\n }\n\n if (!_this.props.disableBackdropClick && _this.props.onClose) {\n _this.props.onClose(event, 'backdropClick');\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDocumentKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (!_this.isTopModal() || (0, _keycode.default)(event) !== 'esc') {\n return;\n }\n\n if (_this.props.onEscapeKeyDown) {\n _this.props.onEscapeKeyDown(event);\n }\n\n if (!_this.props.disableEscapeKeyDown && _this.props.onClose) {\n _this.props.onClose(event, 'escapeKeyDown');\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"checkForFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_inDOM.default) {\n _this.lastFocus = (0, _activeElement.default)();\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"enforceFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.props.disableEnforceFocus || !_this.mounted || !_this.isTopModal()) {\n return;\n }\n\n var currentActiveElement = (0, _activeElement.default)((0, _ownerDocument.default)(_this.mountNode));\n\n if (_this.dialogElement && !(0, _contains.default)(_this.dialogElement, currentActiveElement)) {\n _this.dialogElement.focus();\n }\n }\n });\n _this.state = {\n exited: !_this.props.open\n };\n return _this;\n }\n\n (0, _createClass2.default)(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n\n if (this.props.open) {\n this.handleOpen();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (!prevProps.open && this.props.open) {\n this.checkForFocus();\n }\n\n if (prevProps.open && !this.props.open && !getHasTransition(this.props)) {\n // Otherwise handleExited will call this.\n this.handleClose();\n } else if (!prevProps.open && this.props.open) {\n this.handleOpen();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n\n if (this.props.open || getHasTransition(this.props) && !this.state.exited) {\n this.handleClose();\n }\n }\n }, {\n key: \"autoFocus\",\n value: function autoFocus() {\n if (this.props.disableAutoFocus) {\n return;\n }\n\n var currentActiveElement = (0, _activeElement.default)((0, _ownerDocument.default)(this.mountNode));\n\n if (this.dialogElement && !(0, _contains.default)(this.dialogElement, currentActiveElement)) {\n this.lastFocus = currentActiveElement;\n\n if (!this.dialogElement.hasAttribute('tabIndex')) {\n false ? (0, _warning.default)(false, ['Material-UI: the modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to \"-1\".'].join('\\n')) : void 0;\n this.dialogElement.setAttribute('tabIndex', -1);\n }\n\n this.dialogElement.focus();\n }\n }\n }, {\n key: \"restoreLastFocus\",\n value: function restoreLastFocus() {\n if (this.props.disableRestoreFocus) {\n return;\n }\n\n if (this.lastFocus) {\n // Not all elements in IE11 have a focus method.\n // Because IE11 market share is low, we accept the restore focus being broken\n // and we silent the issue.\n if (this.lastFocus.focus) {\n this.lastFocus.focus();\n }\n\n this.lastFocus = null;\n }\n }\n }, {\n key: \"isTopModal\",\n value: function isTopModal() {\n return this.props.manager.isTopModal(this);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n BackdropComponent = _props.BackdropComponent,\n BackdropProps = _props.BackdropProps,\n children = _props.children,\n classes = _props.classes,\n className = _props.className,\n container = _props.container,\n disableAutoFocus = _props.disableAutoFocus,\n disableBackdropClick = _props.disableBackdropClick,\n disableEnforceFocus = _props.disableEnforceFocus,\n disableEscapeKeyDown = _props.disableEscapeKeyDown,\n disableRestoreFocus = _props.disableRestoreFocus,\n hideBackdrop = _props.hideBackdrop,\n keepMounted = _props.keepMounted,\n onBackdropClick = _props.onBackdropClick,\n onClose = _props.onClose,\n onEscapeKeyDown = _props.onEscapeKeyDown,\n onRendered = _props.onRendered,\n open = _props.open,\n manager = _props.manager,\n other = (0, _objectWithoutProperties2.default)(_props, [\"BackdropComponent\", \"BackdropProps\", \"children\", \"classes\", \"className\", \"container\", \"disableAutoFocus\", \"disableBackdropClick\", \"disableEnforceFocus\", \"disableEscapeKeyDown\", \"disableRestoreFocus\", \"hideBackdrop\", \"keepMounted\", \"onBackdropClick\", \"onClose\", \"onEscapeKeyDown\", \"onRendered\", \"open\", \"manager\"]);\n var exited = this.state.exited;\n var hasTransition = getHasTransition(this.props);\n var childProps = {};\n\n if (!keepMounted && !open && (!hasTransition || exited)) {\n return null;\n } // It's a Transition like component\n\n\n if (hasTransition) {\n childProps.onExited = (0, _helpers.createChainedFunction)(this.handleExited, children.props.onExited);\n }\n\n if (children.props.role === undefined) {\n childProps.role = children.props.role || 'document';\n }\n\n if (children.props.tabIndex === undefined) {\n childProps.tabIndex = children.props.tabIndex || '-1';\n }\n\n return _react.default.createElement(_Portal.default, {\n ref: function ref(node) {\n _this2.mountNode = node ? node.getMountNode() : node;\n },\n container: container,\n onRendered: this.handleRendered\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className, (0, _defineProperty2.default)({}, classes.hidden, exited))\n }, other), hideBackdrop ? null : _react.default.createElement(BackdropComponent, (0, _extends2.default)({\n open: open,\n onClick: this.handleBackdropClick\n }, BackdropProps)), _react.default.createElement(_RootRef.default, {\n rootRef: function rootRef(node) {\n _this2.dialogElement = node;\n }\n }, _react.default.cloneElement(children, childProps))));\n }\n }]);\n return Modal;\n}(_react.default.Component);\n\nModal.propTypes = false ? {\n /**\n * A backdrop component. Useful for custom backdrop rendering.\n */\n BackdropComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Properties applied to the `Backdrop` element.\n */\n BackdropProps: _propTypes.default.object,\n\n /**\n * A single child content element.\n */\n children: _propTypes.default.element,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * If `true`, the modal will not automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes.\n * This also works correctly with any modal children that have the `disableAutoFocus` prop.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n */\n disableAutoFocus: _propTypes.default.bool,\n\n /**\n * If `true`, clicking the backdrop will not fire any callback.\n */\n disableBackdropClick: _propTypes.default.bool,\n\n /**\n * If `true`, the modal will not prevent focus from leaving the modal while open.\n *\n * Generally this should never be set to `true` as it makes the modal less\n * accessible to assistive technologies, like screen readers.\n */\n disableEnforceFocus: _propTypes.default.bool,\n\n /**\n * If `true`, hitting escape will not fire any callback.\n */\n disableEscapeKeyDown: _propTypes.default.bool,\n\n /**\n * If `true`, the modal will not restore focus to previously focused element once\n * modal is hidden.\n */\n disableRestoreFocus: _propTypes.default.bool,\n\n /**\n * If `true`, the backdrop is not rendered.\n */\n hideBackdrop: _propTypes.default.bool,\n\n /**\n * Always keep the children in the DOM.\n * This property can be useful in SEO situation or\n * when you want to maximize the responsiveness of the Modal.\n */\n keepMounted: _propTypes.default.bool,\n\n /**\n * A modal manager used to track and manage the state of open\n * Modals. Useful when customizing how modals interact within a container.\n */\n manager: _propTypes.default.object,\n\n /**\n * Callback fired when the backdrop is clicked.\n */\n onBackdropClick: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * The `reason` parameter can optionally be used to control the response to `onClose`.\n *\n * @param {object} event The event source of the callback\n * @param {string} reason Can be:`\"escapeKeyDown\"`, `\"backdropClick\"`\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the escape key is pressed,\n * `disableEscapeKeyDown` is false and the modal is in focus.\n */\n onEscapeKeyDown: _propTypes.default.func,\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n * It signals that the `open={true}` property took effect.\n */\n onRendered: _propTypes.default.func,\n\n /**\n * If `true`, the modal is open.\n */\n open: _propTypes.default.bool.isRequired\n} : {};\nModal.defaultProps = {\n disableAutoFocus: false,\n disableBackdropClick: false,\n disableEnforceFocus: false,\n disableEscapeKeyDown: false,\n disableRestoreFocus: false,\n hideBackdrop: false,\n keepMounted: false,\n // Modals don't open on the server so this won't conflict with concurrent requests.\n manager: new _ModalManager.default(),\n BackdropComponent: _Backdrop.default\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n flip: false,\n name: 'MuiModal'\n})((0, _reactLifecyclesCompat.polyfill)(Modal));\n\nexports.default = _default;\n\n/***/ }),\n/* 718 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _exactProp = _interopRequireDefault(__webpack_require__(228));\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom.default.findDOMNode(container) || defaultContainer;\n}\n\nfunction getOwnerDocument(element) {\n return (0, _ownerDocument.default)(_reactDom.default.findDOMNode(element));\n}\n/**\n * This component shares many concepts with\n * [react-overlays](https://react-bootstrap.github.io/react-overlays/#portals)\n * But has been forked in order to fix some bugs, reduce the number of dependencies\n * and take the control of our destiny.\n */\n\n\nvar Portal =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Portal, _React$Component);\n\n function Portal() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Portal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Portal.__proto__ || (0, _getPrototypeOf.default)(Portal)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getMountNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n return _this.mountNode;\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Portal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setContainer(this.props.container);\n this.forceUpdate(this.props.onRendered);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.container !== this.props.container) {\n this.setContainer(this.props.container);\n this.forceUpdate();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mountNode = null;\n }\n }, {\n key: \"setContainer\",\n value: function setContainer(container) {\n this.mountNode = getContainer(container, getOwnerDocument(this).body);\n }\n /**\n * @public\n */\n\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return this.mountNode ? _reactDom.default.createPortal(children, this.mountNode) : null;\n }\n }]);\n return Portal;\n}(_react.default.Component);\n\nPortal.propTypes = false ? {\n /**\n * The children to render into the `container`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will have the portal children appended to it.\n * By default, it's using the body of the top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * Callback fired once the children has been mounted into the `container`.\n */\n onRendered: _propTypes.default.func\n} : {};\nPortal.propTypes = false ? (0, _exactProp.default)(Portal.propTypes, 'Portal') : {};\nvar _default = Portal;\nexports.default = _default;\n\n/***/ }),\n/* 719 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _exactProp = _interopRequireDefault(__webpack_require__(228));\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom.default.findDOMNode(container) || defaultContainer;\n}\n\nfunction getOwnerDocument(element) {\n return (0, _ownerDocument.default)(_reactDom.default.findDOMNode(element));\n}\n/**\n * @ignore - internal component.\n *\n * This module will soon be gone. We should drop it as soon as react@15.x support stop.\n */\n\n\nvar LegacyPortal =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(LegacyPortal, _React$Component);\n\n function LegacyPortal() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, LegacyPortal);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = LegacyPortal.__proto__ || (0, _getPrototypeOf.default)(LegacyPortal)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getMountNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n return _this.mountNode;\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mountOverlayTarget\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (!_this.overlayTarget) {\n _this.overlayTarget = document.createElement('div');\n _this.mountNode = getContainer(_this.props.container, getOwnerDocument((0, _assertThisInitialized2.default)(_this)).body);\n\n _this.mountNode.appendChild(_this.overlayTarget);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"unmountOverlayTarget\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.overlayTarget) {\n _this.mountNode.removeChild(_this.overlayTarget);\n\n _this.overlayTarget = null;\n }\n\n _this.mountNode = null;\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"unrenderOverlay\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.overlayTarget) {\n _reactDom.default.unmountComponentAtNode(_this.overlayTarget);\n\n _this.overlayInstance = null;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"renderOverlay\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n var overlay = _this.props.children;\n\n _this.mountOverlayTarget();\n\n var initialRender = !_this.overlayInstance;\n _this.overlayInstance = _reactDom.default.unstable_renderSubtreeIntoContainer((0, _assertThisInitialized2.default)(_this), overlay, _this.overlayTarget, function () {\n if (initialRender && _this.props.onRendered) {\n _this.props.onRendered();\n }\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(LegacyPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n this.renderOverlay();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (this.overlayTarget && prevProps.container !== this.props.container) {\n this.mountNode.removeChild(this.overlayTarget);\n this.mountNode = getContainer(this.props.container, getOwnerDocument(this).body);\n this.mountNode.appendChild(this.overlayTarget);\n }\n\n this.renderOverlay();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n this.unrenderOverlay();\n this.unmountOverlayTarget();\n }\n /**\n * @public\n */\n\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n return LegacyPortal;\n}(_react.default.Component);\n\nLegacyPortal.propTypes = false ? {\n children: _propTypes.default.element.isRequired,\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n onRendered: _propTypes.default.func\n} : {};\nLegacyPortal.propTypes = false ? (0, _exactProp.default)(LegacyPortal.propTypes, 'LegacyPortal') : {};\nvar _default = LegacyPortal;\nexports.default = _default;\n\n/***/ }),\n/* 720 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(__webpack_require__(375));\n\nvar _hyphenateStyle = _interopRequireDefault(__webpack_require__(722));\n\nvar _getComputedStyle2 = _interopRequireDefault(__webpack_require__(724));\n\nvar _removeStyle = _interopRequireDefault(__webpack_require__(725));\n\nvar _properties = __webpack_require__(726);\n\nvar _isTransform = _interopRequireDefault(__webpack_require__(727));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 721 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 722 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(__webpack_require__(723));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 723 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 724 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(__webpack_require__(375));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 725 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 726 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(__webpack_require__(172));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}\n\n/***/ }),\n/* 727 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 728 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isBody = isBody;\nexports.default = isOverflowing;\n\nvar _isWindow = _interopRequireDefault(__webpack_require__(729));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _ownerWindow = _interopRequireDefault(__webpack_require__(173));\n\nfunction isBody(node) {\n return node && node.tagName.toLowerCase() === 'body';\n} // Do we have a scroll bar?\n\n\nfunction isOverflowing(container) {\n var doc = (0, _ownerDocument.default)(container);\n var win = (0, _ownerWindow.default)(doc);\n /* istanbul ignore next */\n\n if (!(0, _isWindow.default)(doc) && !isBody(container)) {\n return container.scrollHeight > container.clientHeight;\n } // Takes in account potential non zero margin on the body.\n\n\n var style = win.getComputedStyle(doc.body);\n var marginLeft = parseInt(style.getPropertyValue('margin-left'), 10);\n var marginRight = parseInt(style.getPropertyValue('margin-right'), 10);\n return marginLeft + doc.body.clientWidth + marginRight < win.innerWidth;\n}\n\n/***/ }),\n/* 729 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 730 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\nvar BLACKLIST = ['template', 'script', 'style'];\n\nfunction isHidable(node) {\n return node.nodeType === 1 && BLACKLIST.indexOf(node.tagName.toLowerCase()) === -1;\n}\n\nfunction siblings(container, mount, callback) {\n mount = [].concat(mount); // eslint-disable-line no-param-reassign\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n callback(node);\n }\n });\n}\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}\n\n/***/ }),\n/* 731 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = false ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = false ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;\n\n/***/ }),\n/* 732 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n var elevations = {};\n theme.shadows.forEach(function (shadow, index) {\n elevations[\"elevation\".concat(index)] = {\n boxShadow: shadow\n };\n });\n return (0, _objectSpread2.default)({\n root: {\n backgroundColor: theme.palette.background.paper\n },\n rounded: {\n borderRadius: 2\n }\n }, elevations);\n};\n\nexports.styles = styles;\n\nfunction Paper(props) {\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n square = props.square,\n elevation = props.elevation,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"square\", \"elevation\"]);\n false ? (0, _warning.default)(elevation >= 0 && elevation < 25, \"Material-UI: this elevation `\".concat(elevation, \"` is not implemented.\")) : void 0;\n var className = (0, _classnames.default)(classes.root, classes[\"elevation\".concat(elevation)], (0, _defineProperty2.default)({}, classes.rounded, !square), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nPaper.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Shadow depth, corresponds to `dp` in the spec.\n * It's accepting values between 0 and 24 inclusive.\n */\n elevation: _propTypes.default.number,\n\n /**\n * If `true`, rounded corners are disabled.\n */\n square: _propTypes.default.bool\n} : {};\nPaper.defaultProps = {\n component: 'div',\n elevation: 2,\n square: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiPaper'\n})(Paper);\n\nexports.default = _default;\n\n/***/ }),\n/* 733 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _reactHelpers = __webpack_require__(230);\n\n__webpack_require__(57);\n\n// So we don't have any override priority issue.\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n flex: '0 0 auto',\n margin: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit / 2, \"px\")\n },\n action: {\n margin: \"0 \".concat(theme.spacing.unit / 2, \"px\"),\n minWidth: 64\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogActions(props) {\n var disableActionSpacing = props.disableActionSpacing,\n children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"disableActionSpacing\", \"children\", \"classes\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), disableActionSpacing ? children : (0, _reactHelpers.cloneChildrenWithClassName)(children, classes.action));\n}\n\nDialogActions.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the dialog actions do not have additional margin.\n */\n disableActionSpacing: _propTypes.default.bool\n} : {};\nDialogActions.defaultProps = {\n disableActionSpacing: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogActions'\n})(DialogActions);\n\nexports.default = _default;\n\n/***/ }),\n/* 734 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _colorManipulator = __webpack_require__(113);\n\nvar _ButtonBase = _interopRequireDefault(__webpack_require__(176));\n\nvar _helpers = __webpack_require__(39);\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.typography.button, {\n lineHeight: '1.4em',\n // Improve readability for multiline button.\n boxSizing: 'border-box',\n minWidth: theme.spacing.unit * 11,\n minHeight: 36,\n padding: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit * 2, \"px\"),\n borderRadius: 2,\n color: theme.palette.text.primary,\n transition: theme.transitions.create(['background-color', 'box-shadow'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.text.primary, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n }),\n label: {\n width: '100%',\n display: 'inherit',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n },\n flatPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n flatSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n colorInherit: {\n color: 'inherit'\n },\n raised: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n backgroundColor: theme.palette.grey[300],\n boxShadow: theme.shadows[2],\n '&$focusVisible': {\n boxShadow: theme.shadows[6]\n },\n '&:active': {\n boxShadow: theme.shadows[8]\n },\n '&$disabled': {\n color: theme.palette.action.disabled,\n boxShadow: theme.shadows[0],\n backgroundColor: theme.palette.action.disabledBackground\n },\n '&:hover': {\n backgroundColor: theme.palette.grey.A100,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.grey[300]\n },\n '&$disabled': {\n backgroundColor: theme.palette.action.disabledBackground\n }\n }\n },\n raisedPrimary: {\n color: theme.palette.primary.contrastText,\n backgroundColor: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.primary.main\n }\n }\n },\n raisedSecondary: {\n color: theme.palette.secondary.contrastText,\n backgroundColor: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: theme.palette.secondary.dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: theme.palette.secondary.main\n }\n }\n },\n focusVisible: {},\n disabled: {},\n fab: {\n borderRadius: '50%',\n padding: 0,\n minWidth: 0,\n width: 56,\n fontSize: 24,\n height: 56,\n boxShadow: theme.shadows[6],\n '&:active': {\n boxShadow: theme.shadows[12]\n }\n },\n mini: {\n width: 40,\n height: 40\n },\n sizeSmall: {\n padding: \"\".concat(theme.spacing.unit - 1, \"px \").concat(theme.spacing.unit, \"px\"),\n minWidth: theme.spacing.unit * 8,\n minHeight: 32,\n fontSize: theme.typography.pxToRem(13)\n },\n sizeLarge: {\n padding: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit * 3, \"px\"),\n minWidth: theme.spacing.unit * 14,\n minHeight: 40,\n fontSize: theme.typography.pxToRem(15)\n },\n fullWidth: {\n width: '100%'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Button(props) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n disabled = props.disabled,\n disableFocusRipple = props.disableFocusRipple,\n fullWidth = props.fullWidth,\n focusVisibleClassName = props.focusVisibleClassName,\n mini = props.mini,\n size = props.size,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"fullWidth\", \"focusVisibleClassName\", \"mini\", \"size\", \"variant\"]);\n var fab = variant === 'fab';\n var raised = variant === 'raised';\n var flat = !raised && !fab;\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.raised, raised || fab), (0, _defineProperty2.default)(_classNames, classes.fab, fab), (0, _defineProperty2.default)(_classNames, classes.mini, fab && mini), (0, _defineProperty2.default)(_classNames, classes.colorInherit, color === 'inherit'), (0, _defineProperty2.default)(_classNames, classes.flatPrimary, flat && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.flatSecondary, flat && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.raisedPrimary, !flat && color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.raisedSecondary, !flat && color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes[\"size\".concat((0, _helpers.capitalize)(size))], size !== 'medium'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), classNameProp);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: className,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: (0, _classnames.default)(classes.focusVisible, focusVisibleClassName)\n }, other), _react.default.createElement(\"span\", {\n className: classes.label\n }, children));\n}\n\nButton.propTypes = false ? {\n /**\n * The content of the button.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n * The default value is a `button`.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the keyboard focus ripple will be disabled.\n * `disableRipple` must also be true.\n */\n disableFocusRipple: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n focusVisibleClassName: _propTypes.default.string,\n\n /**\n * If `true`, the button will take up the full width of its container.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: _propTypes.default.string,\n\n /**\n * If `true`, and `variant` is `'fab'`, will use mini floating action button styling.\n */\n mini: _propTypes.default.bool,\n\n /**\n * The size of the button.\n * `small` is equivalent to the dense button styling.\n */\n size: _propTypes.default.oneOf(['small', 'medium', 'large']),\n\n /**\n * @ignore\n */\n type: _propTypes.default.string,\n\n /**\n * The type of button.\n */\n variant: _propTypes.default.oneOf(['flat', 'raised', 'fab'])\n} : {};\nButton.defaultProps = {\n color: 'default',\n disabled: false,\n disableFocusRipple: false,\n fullWidth: false,\n mini: false,\n size: 'medium',\n type: 'button',\n variant: 'flat'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiButton'\n})(Button);\n\nexports.default = _default;\n\n/***/ }),\n/* 735 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _ownerWindow = _interopRequireDefault(__webpack_require__(173));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _focusVisible = __webpack_require__(736);\n\nvar _TouchRipple = _interopRequireDefault(__webpack_require__(737));\n\nvar _createRippleHandler = _interopRequireDefault(__webpack_require__(744));\n\nvar styles = {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n // Remove grey highlight\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n textDecoration: 'none',\n // So we take precedent over the style of a native
    element.\n color: 'inherit',\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n '&$disabled': {\n pointerEvents: 'none',\n // Disable link interactions\n cursor: 'default'\n }\n },\n disabled: {},\n focusVisible: {}\n};\n/**\n * `ButtonBase` contains as few styles as possible.\n * It aims to be a simple building block for creating a button.\n * It contains a load of style reset and some focus/ripple logic.\n */\n\nexports.styles = styles;\n\nvar ButtonBase =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(ButtonBase, _React$Component);\n\n function ButtonBase() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, ButtonBase);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ButtonBase.__proto__ || (0, _getPrototypeOf.default)(ButtonBase)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {}\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"onFocusVisibleHandler\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.keyDown = false;\n\n _this.setState({\n focusVisible: true\n });\n\n if (_this.props.onFocusVisible) {\n _this.props.onFocusVisible(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"onRippleRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.ripple = node;\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ripple\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"keyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"button\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"focusVisibleTimeout\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"focusVisibleCheckTime\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: 50\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"focusVisibleMaxCheckTimes\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: 5\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props = _this.props,\n component = _this$props.component,\n focusRipple = _this$props.focusRipple,\n onKeyDown = _this$props.onKeyDown,\n onClick = _this$props.onClick;\n var key = (0, _keycode.default)(event); // Check if key is already down to avoid repeats being counted as multiple activations\n\n if (focusRipple && !_this.keyDown && _this.state.focusVisible && _this.ripple && key === 'space') {\n _this.keyDown = true;\n event.persist();\n\n _this.ripple.stop(event, function () {\n _this.ripple.start(event);\n });\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n } // Keyboard accessibility for non interactive elements\n\n\n if (event.target === event.currentTarget && component && component !== 'button' && (key === 'space' || key === 'enter')) {\n event.preventDefault();\n\n if (onClick) {\n onClick(event);\n }\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyUp\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.focusRipple && (0, _keycode.default)(event) === 'space' && _this.ripple && _this.state.focusVisible) {\n _this.keyDown = false;\n event.persist();\n\n _this.ripple.stop(event, function () {\n return _this.ripple.pulsate(event);\n });\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseDown', 'start', function () {\n clearTimeout(_this.focusVisibleTimeout);\n\n if (_this.state.focusVisible) {\n _this.setState({\n focusVisible: false\n });\n }\n })\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseUp\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseUp', 'stop')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseLeave\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'MouseLeave', 'stop', function (event) {\n if (_this.state.focusVisible) {\n event.preventDefault();\n }\n })\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchStart\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchStart', 'start')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchEnd\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchEnd', 'stop')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchMove\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'TouchMove', 'stop')\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _createRippleHandler.default)((0, _assertThisInitialized2.default)(_this), 'Blur', 'stop', function () {\n clearTimeout(_this.focusVisibleTimeout);\n\n if (_this.state.focusVisible) {\n _this.setState({\n focusVisible: false\n });\n }\n })\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.disabled) {\n return;\n } // Fix for https://github.com/facebook/react/issues/7769\n\n\n if (!_this.button) {\n _this.button = event.currentTarget;\n }\n\n event.persist();\n (0, _focusVisible.detectFocusVisible)((0, _assertThisInitialized2.default)(_this), _this.button, function () {\n _this.onFocusVisibleHandler(event);\n });\n\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(ButtonBase, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n this.button = _reactDom.default.findDOMNode(this);\n (0, _focusVisible.listenForFocusKeys)((0, _ownerWindow.default)(this.button));\n\n if (this.props.action) {\n this.props.action({\n focusVisible: function focusVisible() {\n _this2.setState({\n focusVisible: true\n });\n\n _this2.button.focus();\n }\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (this.props.focusRipple && !this.props.disableRipple && !prevState.focusVisible && this.state.focusVisible) {\n this.ripple.pulsate();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.button = null;\n clearTimeout(this.focusVisibleTimeout);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n action = _props.action,\n buttonRef = _props.buttonRef,\n centerRipple = _props.centerRipple,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n component = _props.component,\n disabled = _props.disabled,\n disableRipple = _props.disableRipple,\n focusRipple = _props.focusRipple,\n focusVisibleClassName = _props.focusVisibleClassName,\n onBlur = _props.onBlur,\n onFocus = _props.onFocus,\n onFocusVisible = _props.onFocusVisible,\n onKeyDown = _props.onKeyDown,\n onKeyUp = _props.onKeyUp,\n onMouseDown = _props.onMouseDown,\n onMouseLeave = _props.onMouseLeave,\n onMouseUp = _props.onMouseUp,\n onTouchEnd = _props.onTouchEnd,\n onTouchMove = _props.onTouchMove,\n onTouchStart = _props.onTouchStart,\n tabIndex = _props.tabIndex,\n TouchRippleProps = _props.TouchRippleProps,\n type = _props.type,\n other = (0, _objectWithoutProperties2.default)(_props, [\"action\", \"buttonRef\", \"centerRipple\", \"children\", \"classes\", \"className\", \"component\", \"disabled\", \"disableRipple\", \"focusRipple\", \"focusVisibleClassName\", \"onBlur\", \"onFocus\", \"onFocusVisible\", \"onKeyDown\", \"onKeyUp\", \"onMouseDown\", \"onMouseLeave\", \"onMouseUp\", \"onTouchEnd\", \"onTouchMove\", \"onTouchStart\", \"tabIndex\", \"TouchRippleProps\", \"type\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.focusVisible, this.state.focusVisible), (0, _defineProperty2.default)(_classNames, focusVisibleClassName, this.state.focusVisible), _classNames), classNameProp);\n var buttonProps = {};\n var ComponentProp = component;\n\n if (!ComponentProp) {\n if (other.href) {\n ComponentProp = 'a';\n } else {\n ComponentProp = 'button';\n }\n }\n\n if (ComponentProp === 'button') {\n buttonProps.type = type || 'button';\n buttonProps.disabled = disabled;\n } else {\n buttonProps.role = 'button';\n }\n\n return _react.default.createElement(ComponentProp, (0, _extends2.default)({\n onBlur: this.handleBlur,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onMouseDown: this.handleMouseDown,\n onMouseLeave: this.handleMouseLeave,\n onMouseUp: this.handleMouseUp,\n onTouchEnd: this.handleTouchEnd,\n onTouchMove: this.handleTouchMove,\n onTouchStart: this.handleTouchStart,\n tabIndex: disabled ? '-1' : tabIndex,\n className: className,\n ref: buttonRef\n }, buttonProps, other), children, !disableRipple && !disabled ? _react.default.createElement(_TouchRipple.default, (0, _extends2.default)({\n innerRef: this.onRippleRef,\n center: centerRipple\n }, TouchRippleProps)) : null);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (typeof prevState.focusVisible === 'undefined') {\n return {\n focusVisible: false,\n lastDisabled: nextProps.disabled\n };\n } // The blur won't fire when the disabled state is set on a focused input.\n // We need to book keep the focused state manually.\n\n\n if (!prevState.prevState && nextProps.disabled && prevState.focusVisible) {\n return {\n focusVisible: false,\n lastDisabled: nextProps.disabled\n };\n }\n\n return {\n lastDisabled: nextProps.disabled\n };\n }\n }]);\n return ButtonBase;\n}(_react.default.Component);\n\nButtonBase.propTypes = false ? {\n /**\n * Callback fired when the component mounts.\n * This is useful when you want to trigger an action programmatically.\n * It currently only supports `focusVisible()` action.\n *\n * @param {object} actions This object contains all possible actions\n * that can be triggered programmatically.\n */\n action: _propTypes.default.func,\n\n /**\n * Use that property to pass a ref callback to the native button component.\n */\n buttonRef: _propTypes.default.func,\n\n /**\n * If `true`, the ripples will be centered.\n * They won't start at the cursor interaction position.\n */\n centerRipple: _propTypes.default.bool,\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n * The default value is a `button`.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the base button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple effect will be disabled.\n */\n disableRipple: _propTypes.default.bool,\n\n /**\n * If `true`, the base button will have a keyboard focus ripple.\n * `disableRipple` must also be `false`.\n */\n focusRipple: _propTypes.default.bool,\n\n /**\n * This property can help a person know which element has the keyboard focus.\n * The class name will be applied when the element gain the focus throught a keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible feature](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rational for using this feature [is explain here](https://github.com/WICG/focus-visible/blob/master/explainer.md).\n */\n focusVisibleClassName: _propTypes.default.string,\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onClick: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onKeyDown: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onKeyUp: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseDown: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseLeave: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseUp: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onTouchEnd: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onTouchMove: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onTouchStart: _propTypes.default.func,\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * @ignore\n */\n tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * Properties applied to the `TouchRipple` element.\n */\n TouchRippleProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n type: _propTypes.default.string\n} : {};\nButtonBase.defaultProps = {\n centerRipple: false,\n disableRipple: false,\n focusRipple: false,\n tabIndex: '0',\n type: 'button'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiButtonBase'\n})((0, _reactLifecyclesCompat.polyfill)(ButtonBase));\n\nexports.default = _default;\n\n/***/ }),\n/* 736 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.detectFocusVisible = detectFocusVisible;\nexports.listenForFocusKeys = listenForFocusKeys;\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _contains = _interopRequireDefault(__webpack_require__(171));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\n// weak\nvar internal = {\n focusKeyPressed: false,\n keyUpEventTimeout: -1\n};\n\nfunction detectFocusVisible(instance, element, callback) {\n var attempt = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n false ? (0, _warning.default)(instance.focusVisibleCheckTime, 'Material-UI: missing instance.focusVisibleCheckTime') : void 0;\n false ? (0, _warning.default)(instance.focusVisibleMaxCheckTimes, 'Material-UI: missing instance.focusVisibleMaxCheckTimes') : void 0;\n instance.focusVisibleTimeout = setTimeout(function () {\n var doc = (0, _ownerDocument.default)(element);\n\n if (internal.focusKeyPressed && (doc.activeElement === element || (0, _contains.default)(element, doc.activeElement))) {\n callback();\n } else if (attempt < instance.focusVisibleMaxCheckTimes) {\n detectFocusVisible(instance, element, callback, attempt + 1);\n }\n }, instance.focusVisibleCheckTime);\n}\n\nvar FOCUS_KEYS = ['tab', 'enter', 'space', 'esc', 'up', 'down', 'left', 'right'];\n\nfunction isFocusKey(event) {\n return FOCUS_KEYS.indexOf((0, _keycode.default)(event)) !== -1;\n}\n\nvar handleKeyUpEvent = function handleKeyUpEvent(event) {\n if (isFocusKey(event)) {\n internal.focusKeyPressed = true; // Let's consider that the user is using a keyboard during a window frame of 1s.\n\n clearTimeout(internal.keyUpEventTimeout);\n internal.keyUpEventTimeout = setTimeout(function () {\n internal.focusKeyPressed = false;\n }, 1e3);\n }\n};\n\nfunction listenForFocusKeys(win) {\n // The event listener will only be added once per window.\n // Duplicate event listeners will be ignored by addEventListener.\n // Also, this logic is client side only, we don't need a teardown.\n win.addEventListener('keyup', handleKeyUpEvent);\n}\n\n/***/ }),\n/* 737 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = exports.DELAY_RIPPLE = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(231));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _TransitionGroup = _interopRequireDefault(__webpack_require__(741));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Ripple = _interopRequireDefault(__webpack_require__(743));\n\nvar DURATION = 550;\nvar DELAY_RIPPLE = 80;\nexports.DELAY_RIPPLE = DELAY_RIPPLE;\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'block',\n position: 'absolute',\n overflow: 'hidden',\n borderRadius: 'inherit',\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n pointerEvents: 'none',\n zIndex: 0\n },\n ripple: {\n width: 50,\n height: 50,\n left: 0,\n top: 0,\n opacity: 0,\n position: 'absolute'\n },\n rippleVisible: {\n opacity: 0.3,\n transform: 'scale(1)',\n animation: \"mui-ripple-enter \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n ripplePulsate: {\n animationDuration: \"\".concat(theme.transitions.duration.shorter, \"ms\")\n },\n child: {\n opacity: 1,\n display: 'block',\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n backgroundColor: 'currentColor'\n },\n childLeaving: {\n opacity: 0,\n animation: \"mui-ripple-exit \".concat(DURATION, \"ms \").concat(theme.transitions.easing.easeInOut)\n },\n childPulsate: {\n position: 'absolute',\n left: 0,\n top: 0,\n animation: \"mui-ripple-pulsate 2500ms \".concat(theme.transitions.easing.easeInOut, \" 200ms infinite\")\n },\n '@keyframes mui-ripple-enter': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.1\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 0.3\n }\n },\n '@keyframes mui-ripple-exit': {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n },\n '@keyframes mui-ripple-pulsate': {\n '0%': {\n transform: 'scale(1)'\n },\n '50%': {\n transform: 'scale(0.92)'\n },\n '100%': {\n transform: 'scale(1)'\n }\n }\n };\n};\n\nexports.styles = styles;\n\nvar TouchRipple =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n (0, _inherits2.default)(TouchRipple, _React$PureComponent);\n\n function TouchRipple() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, TouchRipple);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TouchRipple.__proto__ || (0, _getPrototypeOf.default)(TouchRipple)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n nextKey: 0,\n ripples: []\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoringMouseDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"startTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"startTimerCommit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"pulsate\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.start({}, {\n pulsate: true\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"start\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var cb = arguments.length > 2 ? arguments[2] : undefined;\n var _options$pulsate = options.pulsate,\n pulsate = _options$pulsate === void 0 ? false : _options$pulsate,\n _options$center = options.center,\n center = _options$center === void 0 ? _this.props.center || options.pulsate : _options$center,\n _options$fakeElement = options.fakeElement,\n fakeElement = _options$fakeElement === void 0 ? false : _options$fakeElement;\n\n if (event.type === 'mousedown' && _this.ignoringMouseDown) {\n _this.ignoringMouseDown = false;\n return;\n }\n\n if (event.type === 'touchstart') {\n _this.ignoringMouseDown = true;\n }\n\n var element = fakeElement ? null : _reactDom.default.findDOMNode((0, _assertThisInitialized2.default)(_this));\n var rect = element ? element.getBoundingClientRect() : {\n width: 0,\n height: 0,\n left: 0,\n top: 0\n }; // Get the size of the ripple\n\n var rippleX;\n var rippleY;\n var rippleSize;\n\n if (center || event.clientX === 0 && event.clientY === 0 || !event.clientX && !event.touches) {\n rippleX = Math.round(rect.width / 2);\n rippleY = Math.round(rect.height / 2);\n } else {\n var clientX = event.clientX ? event.clientX : event.touches[0].clientX;\n var clientY = event.clientY ? event.clientY : event.touches[0].clientY;\n rippleX = Math.round(clientX - rect.left);\n rippleY = Math.round(clientY - rect.top);\n }\n\n if (center) {\n rippleSize = Math.sqrt((2 * Math.pow(rect.width, 2) + Math.pow(rect.height, 2)) / 3); // For some reason the animation is broken on Mobile Chrome if the size if even.\n\n if (rippleSize % 2 === 0) {\n rippleSize += 1;\n }\n } else {\n var sizeX = Math.max(Math.abs((element ? element.clientWidth : 0) - rippleX), rippleX) * 2 + 2;\n var sizeY = Math.max(Math.abs((element ? element.clientHeight : 0) - rippleY), rippleY) * 2 + 2;\n rippleSize = Math.sqrt(Math.pow(sizeX, 2) + Math.pow(sizeY, 2));\n } // Touche devices\n\n\n if (event.touches) {\n // Prepare the ripple effect.\n _this.startTimerCommit = function () {\n _this.startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }; // Deplay the execution of the ripple effect.\n\n\n _this.startTimer = setTimeout(function () {\n _this.startTimerCommit();\n\n _this.startTimerCommit = null;\n }, DELAY_RIPPLE); // We have to make a tradeoff with this value.\n } else {\n _this.startCommit({\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize,\n cb: cb\n });\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"startCommit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(params) {\n var pulsate = params.pulsate,\n rippleX = params.rippleX,\n rippleY = params.rippleY,\n rippleSize = params.rippleSize,\n cb = params.cb;\n var ripples = _this.state.ripples; // Add a ripple to the ripples array.\n\n ripples = (0, _toConsumableArray2.default)(ripples).concat([_react.default.createElement(_Ripple.default, {\n key: _this.state.nextKey,\n classes: _this.props.classes,\n timeout: {\n exit: DURATION,\n enter: DURATION\n },\n pulsate: pulsate,\n rippleX: rippleX,\n rippleY: rippleY,\n rippleSize: rippleSize\n })]);\n\n _this.setState({\n nextKey: _this.state.nextKey + 1,\n ripples: ripples\n }, cb);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"stop\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event, cb) {\n clearTimeout(_this.startTimer);\n var ripples = _this.state.ripples; // The touch interaction occures to quickly.\n // We still want to show ripple effect.\n\n if (event.type === 'touchend' && _this.startTimerCommit) {\n event.persist();\n\n _this.startTimerCommit();\n\n _this.startTimerCommit = null;\n _this.startTimer = setTimeout(function () {\n _this.stop(event, cb);\n }, 0);\n return;\n }\n\n _this.startTimerCommit = null;\n\n if (ripples && ripples.length) {\n _this.setState({\n ripples: ripples.slice(1)\n }, cb);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(TouchRipple, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.startTimer);\n } // Used to filter out mouse emulated events on mobile.\n\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n center = _props.center,\n classes = _props.classes,\n className = _props.className,\n other = (0, _objectWithoutProperties2.default)(_props, [\"center\", \"classes\", \"className\"]);\n return _react.default.createElement(_TransitionGroup.default, (0, _extends2.default)({\n component: \"span\",\n enter: true,\n exit: true,\n className: (0, _classnames.default)(classes.root, className)\n }, other), this.state.ripples);\n }\n }]);\n return TouchRipple;\n}(_react.default.PureComponent);\n\nTouchRipple.propTypes = false ? {\n /**\n * If `true`, the ripple starts at the center of the component\n * rather than at the point of interaction.\n */\n center: _propTypes.default.bool,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nTouchRipple.defaultProps = {\n center: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n flip: false,\n name: 'MuiTouchRipple'\n})(TouchRipple);\n\nexports.default = _default;\n\n/***/ }),\n/* 738 */\n/***/ (function(module, exports) {\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nmodule.exports = _arrayWithoutHoles;\n\n/***/ }),\n/* 739 */\n/***/ (function(module, exports) {\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\n\n/***/ }),\n/* 740 */\n/***/ (function(module, exports) {\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nmodule.exports = _nonIterableSpread;\n\n/***/ }),\n/* 741 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _ChildMapping = __webpack_require__(742);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = false ? {\n /**\n * `` renders a `
    ` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
    ` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 742 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = __webpack_require__(0);\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}\n\n/***/ }),\n/* 743 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _Transition = _interopRequireDefault(__webpack_require__(175));\n\n/**\n * @ignore - internal component.\n */\nvar Ripple =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Ripple, _React$Component);\n\n function Ripple() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Ripple);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Ripple.__proto__ || (0, _getPrototypeOf.default)(Ripple)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n visible: false,\n leaving: false\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n visible: true\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n leaving: true\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Ripple, [{\n key: \"render\",\n value: function render() {\n var _classNames, _classNames2;\n\n var _props = this.props,\n classes = _props.classes,\n classNameProp = _props.className,\n pulsate = _props.pulsate,\n rippleX = _props.rippleX,\n rippleY = _props.rippleY,\n rippleSize = _props.rippleSize,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"pulsate\", \"rippleX\", \"rippleY\", \"rippleSize\"]);\n var _state = this.state,\n visible = _state.visible,\n leaving = _state.leaving;\n var rippleClassName = (0, _classnames.default)(classes.ripple, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.rippleVisible, visible), (0, _defineProperty2.default)(_classNames, classes.ripplePulsate, pulsate), _classNames), classNameProp);\n var rippleStyles = {\n width: rippleSize,\n height: rippleSize,\n top: -(rippleSize / 2) + rippleY,\n left: -(rippleSize / 2) + rippleX\n };\n var childClassName = (0, _classnames.default)(classes.child, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.childLeaving, leaving), (0, _defineProperty2.default)(_classNames2, classes.childPulsate, pulsate), _classNames2));\n return _react.default.createElement(_Transition.default, (0, _extends2.default)({\n onEnter: this.handleEnter,\n onExit: this.handleExit\n }, other), _react.default.createElement(\"span\", {\n className: rippleClassName,\n style: rippleStyles\n }, _react.default.createElement(\"span\", {\n className: childClassName\n })));\n }\n }]);\n return Ripple;\n}(_react.default.Component);\n\nRipple.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the ripple pulsates, typically indicating the keyboard focus state of an element.\n */\n pulsate: _propTypes.default.bool,\n\n /**\n * Diameter of the ripple.\n */\n rippleSize: _propTypes.default.number,\n\n /**\n * Horizontal position of the ripple center.\n */\n rippleX: _propTypes.default.number,\n\n /**\n * Vertical position of the ripple center.\n */\n rippleY: _propTypes.default.number\n} : {};\nRipple.defaultProps = {\n pulsate: false\n};\nvar _default = Ripple;\nexports.default = _default;\n\n/***/ }),\n/* 744 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nfunction createRippleHandler(instance, eventName, action, cb) {\n return function handleEvent(event) {\n if (cb) {\n cb.call(instance, event);\n }\n\n if (event.defaultPrevented) {\n return false;\n }\n\n if (instance.ripple) {\n instance.ripple[action](event);\n }\n\n if (instance.props && typeof instance.props[\"on\".concat(eventName)] === 'function') {\n instance.props[\"on\".concat(eventName)](event);\n }\n\n return true;\n };\n}\n\nvar _default = createRippleHandler;\nexports.default = _default;\n\n/***/ }),\n/* 745 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar styles = function styles(theme) {\n return {\n root: {\n margin: 0,\n padding: \"\".concat(theme.spacing.unit * 3, \"px \").concat(theme.spacing.unit * 3, \"px 20px \").concat(theme.spacing.unit * 3, \"px\"),\n flex: '0 0 auto'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogTitle(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n disableTypography = props.disableTypography,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableTypography\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), disableTypography ? children : _react.default.createElement(_Typography.default, {\n variant: \"title\"\n }, children));\n}\n\nDialogTitle.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the children won't be wrapped by a typography component.\n * For instance, this can be useful to render an h4 instead of the default h2.\n */\n disableTypography: _propTypes.default.bool\n} : {};\nDialogTitle.defaultProps = {\n disableTypography: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogTitle'\n})(DialogTitle);\n\nexports.default = _default;\n\n/***/ }),\n/* 746 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'block',\n margin: 0\n },\n display4: theme.typography.display4,\n display3: theme.typography.display3,\n display2: theme.typography.display2,\n display1: theme.typography.display1,\n headline: theme.typography.headline,\n title: theme.typography.title,\n subheading: theme.typography.subheading,\n body2: theme.typography.body2,\n body1: theme.typography.body1,\n caption: theme.typography.caption,\n button: theme.typography.button,\n alignLeft: {\n textAlign: 'left'\n },\n alignCenter: {\n textAlign: 'center'\n },\n alignRight: {\n textAlign: 'right'\n },\n alignJustify: {\n textAlign: 'justify'\n },\n noWrap: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n },\n gutterBottom: {\n marginBottom: '0.35em'\n },\n paragraph: {\n marginBottom: theme.spacing.unit * 2\n },\n colorInherit: {\n color: 'inherit'\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n colorTextSecondary: {\n color: theme.palette.text.secondary\n },\n colorError: {\n color: theme.palette.error.main\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Typography(props) {\n var _classNames;\n\n var align = props.align,\n classes = props.classes,\n classNameProp = props.className,\n componentProp = props.component,\n color = props.color,\n gutterBottom = props.gutterBottom,\n headlineMapping = props.headlineMapping,\n noWrap = props.noWrap,\n paragraph = props.paragraph,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"align\", \"classes\", \"className\", \"component\", \"color\", \"gutterBottom\", \"headlineMapping\", \"noWrap\", \"paragraph\", \"variant\"]);\n var className = (0, _classnames.default)(classes.root, classes[variant], (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.noWrap, noWrap), (0, _defineProperty2.default)(_classNames, classes.gutterBottom, gutterBottom), (0, _defineProperty2.default)(_classNames, classes.paragraph, paragraph), (0, _defineProperty2.default)(_classNames, classes[\"align\".concat((0, _helpers.capitalize)(align))], align !== 'inherit'), _classNames), classNameProp);\n var Component = componentProp || (paragraph ? 'p' : headlineMapping[variant]) || 'span';\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nTypography.propTypes = false ? {\n /**\n * Set the text-align on the component.\n */\n align: _propTypes.default.oneOf(['inherit', 'left', 'center', 'right', 'justify']),\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['inherit', 'primary', 'textSecondary', 'secondary', 'error', 'default']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n * By default, it maps the variant to a good default headline component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n gutterBottom: _propTypes.default.bool,\n\n /**\n * We are empirically mapping the variant property to a range of different DOM element types.\n * For instance, h1 to h6. If you wish to change that mapping, you can provide your own.\n * Alternatively, you can use the `component` property.\n */\n headlineMapping: _propTypes.default.object,\n\n /**\n * If `true`, the text will not wrap, but instead will truncate with an ellipsis.\n */\n noWrap: _propTypes.default.bool,\n\n /**\n * If `true`, the text will have a bottom margin.\n */\n paragraph: _propTypes.default.bool,\n\n /**\n * Applies the theme typography styles.\n */\n variant: _propTypes.default.oneOf(['display4', 'display3', 'display2', 'display1', 'headline', 'title', 'subheading', 'body2', 'body1', 'caption', 'button'])\n} : {};\nTypography.defaultProps = {\n align: 'inherit',\n color: 'default',\n gutterBottom: false,\n headlineMapping: {\n display4: 'h1',\n display3: 'h1',\n display2: 'h1',\n display1: 'h1',\n headline: 'h1',\n title: 'h2',\n subheading: 'h3',\n body2: 'aside',\n body1: 'p'\n },\n noWrap: false,\n paragraph: false,\n variant: 'body1'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTypography'\n})(Typography);\n\nexports.default = _default;\n\n/***/ }),\n/* 747 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n var spacing = theme.spacing.unit * 3;\n return {\n root: {\n flex: '1 1 auto',\n overflowY: 'auto',\n WebkitOverflowScrolling: 'touch',\n // Add iOS momentum scrolling.\n padding: \"0 \".concat(spacing, \"px \").concat(spacing, \"px \").concat(spacing, \"px\"),\n '&:first-child': {\n paddingTop: spacing\n }\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogContent(props) {\n var classes = props.classes,\n children = props.children,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"children\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nDialogContent.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogContent'\n})(DialogContent);\n\nexports.default = _default;\n\n/***/ }),\n/* 748 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\n// @inheritedComponent Typography\nvar styles = function styles(theme) {\n return {\n root: {\n color: theme.palette.text.secondary\n }\n };\n};\n\nexports.styles = styles;\n\nfunction DialogContentText(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.createElement(_Typography.default, (0, _extends2.default)({\n component: \"p\",\n variant: \"subheading\",\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nDialogContentText.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiDialogContentText'\n})(DialogContentText);\n\nexports.default = _default;\n\n/***/ }),\n/* 749 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireWildcard = __webpack_require__(208);\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _withWidth = _interopRequireWildcard(__webpack_require__(750));\n\n/**\n * Dialog will responsively be full screen *at or below* the given breakpoint\n * (defaults to 'sm' for mobile devices).\n * Notice that this Higher-order Component is incompatible with server side rendering.\n */\nvar withMobileDialog = function withMobileDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (Component) {\n var _options$breakpoint = options.breakpoint,\n breakpoint = _options$breakpoint === void 0 ? 'sm' : _options$breakpoint;\n\n function WithMobileDialog(props) {\n return _react.default.createElement(Component, (0, _extends2.default)({\n fullScreen: (0, _withWidth.isWidthDown)(breakpoint, props.width)\n }, props));\n }\n\n WithMobileDialog.propTypes = false ? {\n width: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']).isRequired\n } : {};\n return (0, _withWidth.default)()(WithMobileDialog);\n };\n};\n\nvar _default = withMobileDialog;\nexports.default = _default;\n\n/***/ }),\n/* 750 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.isWidthDown = exports.isWidthUp = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _wrapDisplayName = _interopRequireDefault(__webpack_require__(134));\n\nvar _hoistNonReactStatics = _interopRequireDefault(__webpack_require__(109));\n\nvar _withTheme = _interopRequireDefault(__webpack_require__(115));\n\nvar _createBreakpoints = __webpack_require__(365);\n\n// By default, returns true if screen width is the same or greater than the given breakpoint.\nvar isWidthUp = function isWidthUp(breakpoint, width) {\n var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (inclusive) {\n return _createBreakpoints.keys.indexOf(breakpoint) <= _createBreakpoints.keys.indexOf(width);\n }\n\n return _createBreakpoints.keys.indexOf(breakpoint) < _createBreakpoints.keys.indexOf(width);\n}; // By default, returns true if screen width is the same or less than the given breakpoint.\n\n\nexports.isWidthUp = isWidthUp;\n\nvar isWidthDown = function isWidthDown(breakpoint, width) {\n var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n if (inclusive) {\n return _createBreakpoints.keys.indexOf(width) <= _createBreakpoints.keys.indexOf(breakpoint);\n }\n\n return _createBreakpoints.keys.indexOf(width) < _createBreakpoints.keys.indexOf(breakpoint);\n};\n\nexports.isWidthDown = isWidthDown;\n\nvar withWidth = function withWidth() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return function (Component) {\n var _options$resizeInterv = options.resizeInterval,\n resizeInterval = _options$resizeInterv === void 0 ? 166 : _options$resizeInterv,\n _options$withTheme = options.withTheme,\n withThemeOption = _options$withTheme === void 0 ? false : _options$withTheme;\n\n var WithWidth =\n /*#__PURE__*/\n function (_React$Component) {\n (0, _inherits2.default)(WithWidth, _React$Component);\n\n function WithWidth() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, WithWidth);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = WithWidth.__proto__ || (0, _getPrototypeOf.default)(WithWidth)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n width: undefined\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n _this.updateWidth(window.innerWidth);\n }, resizeInterval)\n }), _temp));\n }\n\n (0, _createClass2.default)(WithWidth, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.updateWidth(window.innerWidth);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleResize.cancel();\n }\n }, {\n key: \"updateWidth\",\n value: function updateWidth(innerWidth) {\n var breakpoints = this.props.theme.breakpoints;\n var width = null;\n /**\n * Start with the slowest value as low end devices often have a small screen.\n *\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n var index = 1;\n\n while (width === null && index < _createBreakpoints.keys.length) {\n var currentWidth = _createBreakpoints.keys[index]; // @media are inclusive, so reproduce the behavior here.\n\n if (innerWidth < breakpoints.values[currentWidth]) {\n width = _createBreakpoints.keys[index - 1];\n break;\n }\n\n index += 1;\n }\n\n width = width || 'xl';\n\n if (width !== this.state.width) {\n this.setState({\n width: width\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n initialWidth = _props.initialWidth,\n theme = _props.theme,\n width = _props.width,\n other = (0, _objectWithoutProperties2.default)(_props, [\"initialWidth\", \"theme\", \"width\"]);\n var props = (0, _objectSpread2.default)({\n width: width || this.state.width || initialWidth\n }, other);\n var more = {};\n\n if (withThemeOption) {\n more.theme = theme;\n } // When rendering the component on the server,\n // we have no idea about the client browser screen width.\n // In order to prevent blinks and help the reconciliation of the React tree\n // we are not rendering the child component.\n //\n // An alternative is to use the `initialWidth` property.\n\n\n if (props.width === undefined) {\n return null;\n }\n\n return _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }, _react.default.createElement(Component, (0, _extends2.default)({}, more, props)));\n }\n }]);\n return WithWidth;\n }(_react.default.Component);\n\n WithWidth.propTypes = false ? {\n /**\n * As `window.innerWidth` is unavailable on the server,\n * we default to rendering an empty componenent during the first mount.\n * In some situation you might want to use an heristic to approximate\n * the screen width of the client browser screen width.\n *\n * For instance, you could be using the user-agent or the client-hints.\n * http://caniuse.com/#search=client%20hint\n */\n initialWidth: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * Bypass the width calculation logic.\n */\n width: _propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl'])\n } : {};\n\n if (false) {\n WithWidth.displayName = (0, _wrapDisplayName.default)(Component, 'WithWidth');\n }\n\n (0, _hoistNonReactStatics.default)(WithWidth, Component);\n return (0, _withTheme.default)()(WithWidth);\n };\n};\n\nvar _default = withWidth;\nexports.default = _default;\n\n/***/ }),\n/* 751 */\n/***/ (function(module, exports) {\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\n\n/***/ }),\n/* 752 */\n/***/ (function(module, exports) {\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\n\n/***/ }),\n/* 753 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _typeof = __webpack_require__(378);\n\nvar assertThisInitialized = __webpack_require__(754);\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\n\n/***/ }),\n/* 754 */\n/***/ (function(module, exports) {\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\n\n/***/ }),\n/* 755 */\n/***/ (function(module, exports) {\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nmodule.exports = _inherits;\n\n/***/ }),\n/* 756 */\n/***/ (function(module, exports) {\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\n\n/***/ }),\n/* 757 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar defineProperty = __webpack_require__(758);\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nmodule.exports = _objectSpread;\n\n/***/ }),\n/* 758 */\n/***/ (function(module, exports) {\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\n\n/***/ }),\n/* 759 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar root = __webpack_require__(61);\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n/***/ }),\n/* 760 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Symbol = __webpack_require__(138);\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n/***/ }),\n/* 761 */\n/***/ (function(module, exports) {\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n/***/ }),\n/* 762 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\nvar bind = __webpack_require__(382);\nvar Axios = __webpack_require__(763);\nvar defaults = __webpack_require__(232);\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = __webpack_require__(387);\naxios.CancelToken = __webpack_require__(777);\naxios.isCancel = __webpack_require__(386);\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = __webpack_require__(778);\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n/***/ }),\n/* 763 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar defaults = __webpack_require__(232);\nvar utils = __webpack_require__(53);\nvar InterceptorManager = __webpack_require__(772);\nvar dispatchRequest = __webpack_require__(773);\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n/***/ }),\n/* 764 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n\n\n/***/ }),\n/* 765 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar createError = __webpack_require__(385);\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n\n\n/***/ }),\n/* 766 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n/***/ }),\n/* 767 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n\n\n/***/ }),\n/* 768 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n/***/ }),\n/* 769 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n/***/ }),\n/* 770 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n/***/ }),\n/* 771 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n/***/ }),\n/* 772 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n/***/ }),\n/* 773 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\nvar transformData = __webpack_require__(774);\nvar isCancel = __webpack_require__(386);\nvar defaults = __webpack_require__(232);\nvar isAbsoluteURL = __webpack_require__(775);\nvar combineURLs = __webpack_require__(776);\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n/***/ }),\n/* 774 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar utils = __webpack_require__(53);\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n/***/ }),\n/* 775 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n/***/ }),\n/* 776 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n/***/ }),\n/* 777 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar Cancel = __webpack_require__(387);\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n/***/ }),\n/* 778 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n/***/ }),\n/* 779 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 780 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getImageUrl;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getUrl;\n/* unused harmony export test */\n/* unused harmony export toPath */\nfunction getImageUrl(path){// https://www.educoder.net\n// https://testbdweb.trustie.net\nvar local='http://localhost:3000';if(window.location.port==3007){return local+'/'+path;}return'/'+path;}function getUrl(path,goTest){// https://www.educoder.net\n// https://testbdweb.trustie.net\n// 如果想所有url定位到测试版,可以反注释掉下面这行\n// goTest = true\n// testbdweb.educoder.net testbdweb.trustie.net\nvar local=goTest?'http://testbdweb.educoder.net':'http://localhost:3000';if(window.location.port==3007){return''+local+(path?path:'');}return''+(path?path:'');}function test(path){return''+path;}function toPath(path){window.open(path,'_blank');}// export default queryString\n\n/***/ }),\n/* 781 */\n/***/ (function(module, exports) {\n\nvar queryString={stringify:function stringify(params){var noParams=true;var paramsUrl='';for(var key in params){noParams=false;paramsUrl+=key+'='+params[key]+'&';}if(noParams){return'';}paramsUrl=paramsUrl.substring(0,paramsUrl.length-1);return paramsUrl;},parse:function parse(search){// ?a=1&b=2\nif(!search){return{};}if(search.startsWith('?')){search=search.substring(1);}if(!search){return{};}var keyValArray=search.split('&');var result={};keyValArray.forEach(function(keyValItem){var keyAndVal=keyValItem.split('=');result[keyAndVal[0]]=keyAndVal[1];});return result;}/*\t\r\n\tquery-string用不了\r\n\r\n\tFailed to minify the code from this file:\r\n\r\n\t ./node_modules/_query-string@6.1.0@query-string/index.js:8\r\n\r\n\tRead more here: http://bit.ly/2tRViJ9\r\n*/};module.exports=queryString;\n\n/***/ }),\n/* 782 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = SnackbarHOC;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar__ = __webpack_require__(388);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade__ = __webpack_require__(174);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:{};return function wrap(WrappedComponent){return function(_Component){_inherits(Wrapper,_Component);function Wrapper(props){_classCallCheck(this,Wrapper);var _this=_possibleConstructorReturn(this,(Wrapper.__proto__||Object.getPrototypeOf(Wrapper)).call(this,props));_this.showSnackbar=_this.showSnackbar.bind(_this);_this.state={snackbarText:'',snackbarOpen:false};return _this;}_createClass(Wrapper,[{key:'handleSnackbarClose',value:function handleSnackbarClose(){this.setState({snackbarOpen:false,snackbarVertical:'',snackbarHorizontal:''});}// 全局的snackbar this.props.showSnackbar调用即可\n},{key:'showSnackbar',value:function showSnackbar(text,vertical,horizontal){this.setState({snackbarOpen:true,snackbarText:text,snackbarVertical:vertical,snackbarHorizontal:horizontal});}},{key:'render',value:function render(){var _this2=this;var _state=this.state,snackbarOpen=_state.snackbarOpen,snackbarText=_state.snackbarText,snackbarHorizontal=_state.snackbarHorizontal,snackbarVertical=_state.snackbarVertical;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_material_ui_Snackbar___default.a,{className:\"rootSnackbar\",open:this.state.snackbarOpen,autoHideDuration:3000,anchorOrigin:{vertical:this.state.snackbarVertical||'top',horizontal:this.state.snackbarHorizontal||'center'},onClose:function onClose(){return _this2.handleSnackbarClose();},transition:__WEBPACK_IMPORTED_MODULE_2_material_ui_transitions_Fade___default.a,SnackbarContentProps:{'aria-describedby':'message-id'},resumeHideDuration:2000,message:__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'message-id'},this.state.snackbarText)}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(WrappedComponent,Object.assign({},this.props,{showSnackbar:this.showSnackbar})));}}]);return Wrapper;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);};}\n\n/***/ }),\n/* 783 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread8 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _transitions = __webpack_require__(114);\n\nvar _ClickAwayListener = _interopRequireDefault(__webpack_require__(784));\n\nvar _helpers = __webpack_require__(39);\n\nvar _Slide = _interopRequireDefault(__webpack_require__(389));\n\nvar _SnackbarContent = _interopRequireDefault(__webpack_require__(390));\n\nvar styles = function styles(theme) {\n var gutter = theme.spacing.unit * 3;\n var top = {\n top: 0\n };\n var bottom = {\n bottom: 0\n };\n var right = {\n justifyContent: 'flex-end'\n };\n var left = {\n justifyContent: 'flex-start'\n };\n var topSpace = {\n top: gutter\n };\n var bottomSpace = {\n bottom: gutter\n };\n var rightSpace = {\n right: gutter\n };\n var leftSpace = {\n left: gutter\n };\n var center = {\n left: '50%',\n right: 'auto',\n transform: 'translateX(-50%)'\n };\n return {\n root: {\n zIndex: theme.zIndex.snackbar,\n position: 'fixed',\n display: 'flex',\n left: 0,\n right: 0,\n justifyContent: 'center',\n alignItems: 'center'\n },\n anchorOriginTopCenter: (0, _objectSpread8.default)({}, top, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({}, center))),\n anchorOriginBottomCenter: (0, _objectSpread8.default)({}, bottom, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({}, center))),\n anchorOriginTopRight: (0, _objectSpread8.default)({}, top, right, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n left: 'auto'\n }, topSpace, rightSpace))),\n anchorOriginBottomRight: (0, _objectSpread8.default)({}, bottom, right, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n left: 'auto'\n }, bottomSpace, rightSpace))),\n anchorOriginTopLeft: (0, _objectSpread8.default)({}, top, left, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n right: 'auto'\n }, topSpace, leftSpace))),\n anchorOriginBottomLeft: (0, _objectSpread8.default)({}, bottom, left, (0, _defineProperty2.default)({}, theme.breakpoints.up('md'), (0, _objectSpread8.default)({\n right: 'auto'\n }, bottomSpace, leftSpace)))\n };\n};\n\nexports.styles = styles;\n\nvar Snackbar =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Snackbar, _React$Component);\n\n function Snackbar() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Snackbar);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Snackbar.__proto__ || (0, _getPrototypeOf.default)(Snackbar)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {}\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"timerAutoHide\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onMouseEnter) {\n _this.props.onMouseEnter(event);\n }\n\n _this.handlePause();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleMouseLeave\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave(event);\n }\n\n _this.handleResume();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClickAway\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onClose) {\n _this.props.onClose(event, 'clickaway');\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handlePause\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n clearTimeout(_this.timerAutoHide);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResume\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.props.autoHideDuration != null) {\n if (_this.props.resumeHideDuration !== undefined) {\n _this.setAutoHideTimer(_this.props.resumeHideDuration);\n\n return;\n }\n\n _this.setAutoHideTimer((_this.props.autoHideDuration || 0) * 0.5);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExited\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.setState({\n exited: true\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Snackbar, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.open) {\n this.setAutoHideTimer();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.open !== this.props.open) {\n if (this.props.open) {\n this.setAutoHideTimer();\n } else {\n clearTimeout(this.timerAutoHide);\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timerAutoHide);\n } // Timer that controls delay before snackbar auto hides\n\n }, {\n key: \"setAutoHideTimer\",\n value: function setAutoHideTimer() {\n var _this2 = this;\n\n var autoHideDuration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n if (!this.props.onClose || this.props.autoHideDuration == null) {\n return;\n }\n\n clearTimeout(this.timerAutoHide);\n this.timerAutoHide = setTimeout(function () {\n if (!_this2.props.onClose || _this2.props.autoHideDuration == null) {\n return;\n }\n\n _this2.props.onClose(null, 'timeout');\n }, autoHideDuration || this.props.autoHideDuration || 0);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n action = _props.action,\n _props$anchorOrigin = _props.anchorOrigin,\n vertical = _props$anchorOrigin.vertical,\n horizontal = _props$anchorOrigin.horizontal,\n autoHideDuration = _props.autoHideDuration,\n children = _props.children,\n classes = _props.classes,\n className = _props.className,\n ContentProps = _props.ContentProps,\n disableWindowBlurListener = _props.disableWindowBlurListener,\n message = _props.message,\n onClose = _props.onClose,\n onEnter = _props.onEnter,\n onEntered = _props.onEntered,\n onEntering = _props.onEntering,\n onExit = _props.onExit,\n onExited = _props.onExited,\n onExiting = _props.onExiting,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n open = _props.open,\n resumeHideDuration = _props.resumeHideDuration,\n TransitionComponent = _props.TransitionComponent,\n transitionDuration = _props.transitionDuration,\n TransitionProps = _props.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(_props, [\"action\", \"anchorOrigin\", \"autoHideDuration\", \"children\", \"classes\", \"className\", \"ContentProps\", \"disableWindowBlurListener\", \"message\", \"onClose\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"onMouseEnter\", \"onMouseLeave\", \"open\", \"resumeHideDuration\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]); // So we only render active snackbars.\n\n if (!open && this.state.exited) {\n return null;\n }\n\n return _react.default.createElement(_ClickAwayListener.default, {\n onClickAway: this.handleClickAway\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, classes[\"anchorOrigin\".concat((0, _helpers.capitalize)(vertical)).concat((0, _helpers.capitalize)(horizontal))], className),\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, other), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onFocus: disableWindowBlurListener ? undefined : this.handleResume,\n onBlur: disableWindowBlurListener ? undefined : this.handlePause\n }), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n onEnter: onEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n onExit: onExit,\n onExited: (0, _helpers.createChainedFunction)(this.handleExited, onExited),\n onExiting: onExiting,\n timeout: transitionDuration,\n direction: vertical === 'top' ? 'down' : 'up'\n }, TransitionProps), children || _react.default.createElement(_SnackbarContent.default, (0, _extends2.default)({\n message: message,\n action: action\n }, ContentProps)))));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (typeof prevState.exited === 'undefined') {\n return {\n exited: !nextProps.open\n };\n }\n\n if (nextProps.open) {\n return {\n exited: false\n };\n }\n\n return null;\n }\n }]);\n return Snackbar;\n}(_react.default.Component);\n\nSnackbar.propTypes = false ? {\n /**\n * The action to display.\n */\n action: _propTypes.default.node,\n\n /**\n * The anchor of the `Snackbar`.\n */\n anchorOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * The number of milliseconds to wait before automatically calling the\n * `onClose` function. `onClose` should then set the state of the `open`\n * prop to hide the Snackbar. This behavior is disabled by default with\n * the `null` value.\n */\n autoHideDuration: _propTypes.default.number,\n\n /**\n * If you wish the take control over the children of the component you can use this property.\n * When used, you replace the `SnackbarContent` component with the children.\n */\n children: _propTypes.default.element,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * Properties applied to the `SnackbarContent` element.\n */\n ContentProps: _propTypes.default.object,\n\n /**\n * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.\n */\n disableWindowBlurListener: _propTypes.default.bool,\n\n /**\n * When displaying multiple consecutive Snackbars from a parent rendering a single\n * , add the key property to ensure independent treatment of each message.\n * e.g. , otherwise, the message may update-in-place and\n * features such as autoHideDuration may be canceled.\n */\n key: _propTypes.default.any,\n\n /**\n * The message to display.\n */\n message: _propTypes.default.node,\n\n /**\n * Callback fired when the component requests to be closed.\n * Typically `onClose` is used to set state in the parent component,\n * which is used to control the `Snackbar` `open` prop.\n * The `reason` parameter can optionally be used to control the response to `onClose`,\n * for example ignoring `clickaway`.\n *\n * @param {object} event The event source of the callback\n * @param {string} reason Can be:`\"timeout\"` (`autoHideDuration` expired) or: `\"clickaway\"`\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the transition is entering.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the transition has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the transition is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired before the transition is exiting.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the transition has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the transition is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseEnter: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onMouseLeave: _propTypes.default.func,\n\n /**\n * If true, `Snackbar` is open.\n */\n open: _propTypes.default.bool,\n\n /**\n * The number of milliseconds to wait before dismissing after user interaction.\n * If `autoHideDuration` property isn't specified, it does nothing.\n * If `autoHideDuration` property is specified but `resumeHideDuration` isn't,\n * we default to `autoHideDuration / 2` ms.\n */\n resumeHideDuration: _propTypes.default.number,\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n })]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nSnackbar.defaultProps = {\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'center'\n },\n disableWindowBlurListener: false,\n TransitionComponent: _Slide.default,\n transitionDuration: {\n enter: _transitions.duration.enteringScreen,\n exit: _transitions.duration.leavingScreen\n }\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n flip: false,\n name: 'MuiSnackbar'\n})((0, _reactLifecyclesCompat.polyfill)(Snackbar));\n\nexports.default = _default;\n\n/***/ }),\n/* 784 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\n// @inheritedComponent EventListener\nvar isDescendant = function isDescendant(el, target) {\n if (target !== null && target.parentNode) {\n return el === target || isDescendant(el, target.parentNode);\n }\n\n return false;\n};\n/**\n * Listen for click events that are triggered outside of the component children.\n */\n\n\nvar ClickAwayListener =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(ClickAwayListener, _React$Component);\n\n function ClickAwayListener() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, ClickAwayListener);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = ClickAwayListener.__proto__ || (0, _getPrototypeOf.default)(ClickAwayListener)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"mounted\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClickAway\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // Ignore events that have been `event.preventDefault()` marked.\n if (event.defaultPrevented) {\n return;\n } // IE11 support, which trigger the handleClickAway even after the unbind\n\n\n if (!_this.mounted) {\n return;\n }\n\n var el = _reactDom.default.findDOMNode((0, _assertThisInitialized2.default)(_this));\n\n var doc = (0, _ownerDocument.default)(el);\n\n if (doc.documentElement && doc.documentElement.contains(event.target) && !isDescendant(el, event.target)) {\n _this.props.onClickAway(event);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(ClickAwayListener, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.mounted = true;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.mounted = false;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n mouseEvent = _props.mouseEvent,\n touchEvent = _props.touchEvent,\n onClickAway = _props.onClickAway,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"mouseEvent\", \"touchEvent\", \"onClickAway\"]);\n var listenerProps = {};\n\n if (mouseEvent !== false) {\n listenerProps[mouseEvent] = this.handleClickAway;\n }\n\n if (touchEvent !== false) {\n listenerProps[touchEvent] = this.handleClickAway;\n }\n\n return _react.default.createElement(_reactEventListener.default, (0, _extends2.default)({\n target: \"document\"\n }, listenerProps, other), children);\n }\n }]);\n return ClickAwayListener;\n}(_react.default.Component);\n\nClickAwayListener.propTypes = false ? {\n children: _propTypes.default.node.isRequired,\n mouseEvent: _propTypes.default.oneOf(['onClick', 'onMouseDown', 'onMouseUp', false]),\n onClickAway: _propTypes.default.func.isRequired,\n touchEvent: _propTypes.default.oneOf(['onTouchStart', 'onTouchEnd', false])\n} : {};\nClickAwayListener.defaultProps = {\n mouseEvent: 'onMouseUp',\n touchEvent: 'onTouchEnd'\n};\nvar _default = ClickAwayListener;\nexports.default = _default;\n\n/***/ }),\n/* 785 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SHOW_LOGIN_DIALOG_EVENT; });\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = trigger;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = on;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = off;\nvar $=window.$;var SHOW_LOGIN_DIALOG_EVENT='SHOW_LOGIN_DIALOG_EVENT';function trigger(eventName,data){$(window).trigger(eventName,data);}function on(eventName,callback){$(window).on(eventName,function(event,data){callback&&callback(event,data);});}function off(eventName){$(window).off(eventName);}\n\n/***/ }),\n/* 786 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = updatePageParams;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_educoder__ = __webpack_require__(42);\nfunction updatePageParams(pageNum,props){var url=props.match.url;var _search=props.location.search;var parsed={};if(_search){parsed=__WEBPACK_IMPORTED_MODULE_0_educoder__[\"j\" /* queryString */].parse(_search);}// 修改page參數\nparsed.page=pageNum;props.history.push(url+'?'+__WEBPACK_IMPORTED_MODULE_0_educoder__[\"j\" /* queryString */].stringify(parsed));}\n\n/***/ }),\n/* 787 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = bytesToSize;\nfunction bytesToSize(bytes){var sizes=['Bytes','KB','MB','GB','TB'];if(bytes==0)return'0 Byte';var i=parseInt(Math.floor(Math.log(bytes)/Math.log(1024)));return Math.round(bytes/Math.pow(1024,i),2)+' '+sizes[i];}\n\n/***/ }),\n/* 788 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = isDev;\nfunction isDev(){return window.location.port===\"3007\";}\n\n/***/ }),\n/* 789 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = toStore;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = fromStore;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_store__ = __webpack_require__(790);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_store__);\nfunction toStore(key,val){var _config=__WEBPACK_IMPORTED_MODULE_0_store___default.a.get('__ec');if(!_config)_config={};_config[key]=val;__WEBPACK_IMPORTED_MODULE_0_store___default.a.set('__ec',_config);}function fromStore(key,defaultVal){var _config=__WEBPACK_IMPORTED_MODULE_0_store___default.a.get('__ec');if(!_config)return defaultVal;return _config[key]===undefined?defaultVal:_config[key];}\n\n/***/ }),\n/* 790 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar engine = __webpack_require__(791)\n\nvar storages = __webpack_require__(792)\nvar plugins = [__webpack_require__(799)]\n\nmodule.exports = engine.createStore(storages, plugins)\n\n\n/***/ }),\n/* 791 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar util = __webpack_require__(117)\nvar slice = util.slice\nvar pluck = util.pluck\nvar each = util.each\nvar bind = util.bind\nvar create = util.create\nvar isList = util.isList\nvar isFunction = util.isFunction\nvar isObject = util.isObject\n\nmodule.exports = {\n\tcreateStore: createStore\n}\n\nvar storeAPI = {\n\tversion: '2.0.12',\n\tenabled: false,\n\t\n\t// get returns the value of the given key. If that value\n\t// is undefined, it returns optionalDefaultValue instead.\n\tget: function(key, optionalDefaultValue) {\n\t\tvar data = this.storage.read(this._namespacePrefix + key)\n\t\treturn this._deserialize(data, optionalDefaultValue)\n\t},\n\n\t// set will store the given value at key and returns value.\n\t// Calling set with value === undefined is equivalent to calling remove.\n\tset: function(key, value) {\n\t\tif (value === undefined) {\n\t\t\treturn this.remove(key)\n\t\t}\n\t\tthis.storage.write(this._namespacePrefix + key, this._serialize(value))\n\t\treturn value\n\t},\n\n\t// remove deletes the key and value stored at the given key.\n\tremove: function(key) {\n\t\tthis.storage.remove(this._namespacePrefix + key)\n\t},\n\n\t// each will call the given callback once for each key-value pair\n\t// in this store.\n\teach: function(callback) {\n\t\tvar self = this\n\t\tthis.storage.each(function(val, namespacedKey) {\n\t\t\tcallback.call(self, self._deserialize(val), (namespacedKey || '').replace(self._namespaceRegexp, ''))\n\t\t})\n\t},\n\n\t// clearAll will remove all the stored key-value pairs in this store.\n\tclearAll: function() {\n\t\tthis.storage.clearAll()\n\t},\n\n\t// additional functionality that can't live in plugins\n\t// ---------------------------------------------------\n\n\t// hasNamespace returns true if this store instance has the given namespace.\n\thasNamespace: function(namespace) {\n\t\treturn (this._namespacePrefix == '__storejs_'+namespace+'_')\n\t},\n\n\t// createStore creates a store.js instance with the first\n\t// functioning storage in the list of storage candidates,\n\t// and applies the the given mixins to the instance.\n\tcreateStore: function() {\n\t\treturn createStore.apply(this, arguments)\n\t},\n\t\n\taddPlugin: function(plugin) {\n\t\tthis._addPlugin(plugin)\n\t},\n\t\n\tnamespace: function(namespace) {\n\t\treturn createStore(this.storage, this.plugins, namespace)\n\t}\n}\n\nfunction _warn() {\n\tvar _console = (typeof console == 'undefined' ? null : console)\n\tif (!_console) { return }\n\tvar fn = (_console.warn ? _console.warn : _console.log)\n\tfn.apply(_console, arguments)\n}\n\nfunction createStore(storages, plugins, namespace) {\n\tif (!namespace) {\n\t\tnamespace = ''\n\t}\n\tif (storages && !isList(storages)) {\n\t\tstorages = [storages]\n\t}\n\tif (plugins && !isList(plugins)) {\n\t\tplugins = [plugins]\n\t}\n\n\tvar namespacePrefix = (namespace ? '__storejs_'+namespace+'_' : '')\n\tvar namespaceRegexp = (namespace ? new RegExp('^'+namespacePrefix) : null)\n\tvar legalNamespaces = /^[a-zA-Z0-9_\\-]*$/ // alpha-numeric + underscore and dash\n\tif (!legalNamespaces.test(namespace)) {\n\t\tthrow new Error('store.js namespaces can only have alphanumerics + underscores and dashes')\n\t}\n\t\n\tvar _privateStoreProps = {\n\t\t_namespacePrefix: namespacePrefix,\n\t\t_namespaceRegexp: namespaceRegexp,\n\n\t\t_testStorage: function(storage) {\n\t\t\ttry {\n\t\t\t\tvar testStr = '__storejs__test__'\n\t\t\t\tstorage.write(testStr, testStr)\n\t\t\t\tvar ok = (storage.read(testStr) === testStr)\n\t\t\t\tstorage.remove(testStr)\n\t\t\t\treturn ok\n\t\t\t} catch(e) {\n\t\t\t\treturn false\n\t\t\t}\n\t\t},\n\n\t\t_assignPluginFnProp: function(pluginFnProp, propName) {\n\t\t\tvar oldFn = this[propName]\n\t\t\tthis[propName] = function pluginFn() {\n\t\t\t\tvar args = slice(arguments, 0)\n\t\t\t\tvar self = this\n\n\t\t\t\t// super_fn calls the old function which was overwritten by\n\t\t\t\t// this mixin.\n\t\t\t\tfunction super_fn() {\n\t\t\t\t\tif (!oldFn) { return }\n\t\t\t\t\teach(arguments, function(arg, i) {\n\t\t\t\t\t\targs[i] = arg\n\t\t\t\t\t})\n\t\t\t\t\treturn oldFn.apply(self, args)\n\t\t\t\t}\n\n\t\t\t\t// Give mixing function access to super_fn by prefixing all mixin function\n\t\t\t\t// arguments with super_fn.\n\t\t\t\tvar newFnArgs = [super_fn].concat(args)\n\n\t\t\t\treturn pluginFnProp.apply(self, newFnArgs)\n\t\t\t}\n\t\t},\n\n\t\t_serialize: function(obj) {\n\t\t\treturn JSON.stringify(obj)\n\t\t},\n\n\t\t_deserialize: function(strVal, defaultVal) {\n\t\t\tif (!strVal) { return defaultVal }\n\t\t\t// It is possible that a raw string value has been previously stored\n\t\t\t// in a storage without using store.js, meaning it will be a raw\n\t\t\t// string value instead of a JSON serialized string. By defaulting\n\t\t\t// to the raw string value in case of a JSON parse error, we allow\n\t\t\t// for past stored values to be forwards-compatible with store.js\n\t\t\tvar val = ''\n\t\t\ttry { val = JSON.parse(strVal) }\n\t\t\tcatch(e) { val = strVal }\n\n\t\t\treturn (val !== undefined ? val : defaultVal)\n\t\t},\n\t\t\n\t\t_addStorage: function(storage) {\n\t\t\tif (this.enabled) { return }\n\t\t\tif (this._testStorage(storage)) {\n\t\t\t\tthis.storage = storage\n\t\t\t\tthis.enabled = true\n\t\t\t}\n\t\t},\n\n\t\t_addPlugin: function(plugin) {\n\t\t\tvar self = this\n\n\t\t\t// If the plugin is an array, then add all plugins in the array.\n\t\t\t// This allows for a plugin to depend on other plugins.\n\t\t\tif (isList(plugin)) {\n\t\t\t\teach(plugin, function(plugin) {\n\t\t\t\t\tself._addPlugin(plugin)\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Keep track of all plugins we've seen so far, so that we\n\t\t\t// don't add any of them twice.\n\t\t\tvar seenPlugin = pluck(this.plugins, function(seenPlugin) {\n\t\t\t\treturn (plugin === seenPlugin)\n\t\t\t})\n\t\t\tif (seenPlugin) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.plugins.push(plugin)\n\n\t\t\t// Check that the plugin is properly formed\n\t\t\tif (!isFunction(plugin)) {\n\t\t\t\tthrow new Error('Plugins must be function values that return objects')\n\t\t\t}\n\n\t\t\tvar pluginProperties = plugin.call(this)\n\t\t\tif (!isObject(pluginProperties)) {\n\t\t\t\tthrow new Error('Plugins must return an object of function properties')\n\t\t\t}\n\n\t\t\t// Add the plugin function properties to this store instance.\n\t\t\teach(pluginProperties, function(pluginFnProp, propName) {\n\t\t\t\tif (!isFunction(pluginFnProp)) {\n\t\t\t\t\tthrow new Error('Bad plugin property: '+propName+' from plugin '+plugin.name+'. Plugins should only return functions.')\n\t\t\t\t}\n\t\t\t\tself._assignPluginFnProp(pluginFnProp, propName)\n\t\t\t})\n\t\t},\n\t\t\n\t\t// Put deprecated properties in the private API, so as to not expose it to accidential\n\t\t// discovery through inspection of the store object.\n\t\t\n\t\t// Deprecated: addStorage\n\t\taddStorage: function(storage) {\n\t\t\t_warn('store.addStorage(storage) is deprecated. Use createStore([storages])')\n\t\t\tthis._addStorage(storage)\n\t\t}\n\t}\n\n\tvar store = create(_privateStoreProps, storeAPI, {\n\t\tplugins: []\n\t})\n\tstore.raw = {}\n\teach(store, function(prop, propName) {\n\t\tif (isFunction(prop)) {\n\t\t\tstore.raw[propName] = bind(store, prop)\t\t\t\n\t\t}\n\t})\n\teach(storages, function(storage) {\n\t\tstore._addStorage(storage)\n\t})\n\teach(plugins, function(plugin) {\n\t\tstore._addPlugin(plugin)\n\t})\n\treturn store\n}\n\n\n/***/ }),\n/* 792 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = [\n\t// Listed in order of usage preference\n\t__webpack_require__(793),\n\t__webpack_require__(794),\n\t__webpack_require__(795),\n\t__webpack_require__(796),\n\t__webpack_require__(797),\n\t__webpack_require__(798)\n]\n\n\n/***/ }),\n/* 793 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'localStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nfunction localStorage() {\n\treturn Global.localStorage\n}\n\nfunction read(key) {\n\treturn localStorage().getItem(key)\n}\n\nfunction write(key, data) {\n\treturn localStorage().setItem(key, data)\n}\n\nfunction each(fn) {\n\tfor (var i = localStorage().length - 1; i >= 0; i--) {\n\t\tvar key = localStorage().key(i)\n\t\tfn(read(key), key)\n\t}\n}\n\nfunction remove(key) {\n\treturn localStorage().removeItem(key)\n}\n\nfunction clearAll() {\n\treturn localStorage().clear()\n}\n\n\n/***/ }),\n/* 794 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// oldFF-globalStorage provides storage for Firefox\n// versions 6 and 7, where no localStorage, etc\n// is available.\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'oldFF-globalStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar globalStorage = Global.globalStorage\n\nfunction read(key) {\n\treturn globalStorage[key]\n}\n\nfunction write(key, data) {\n\tglobalStorage[key] = data\n}\n\nfunction each(fn) {\n\tfor (var i = globalStorage.length - 1; i >= 0; i--) {\n\t\tvar key = globalStorage.key(i)\n\t\tfn(globalStorage[key], key)\n\t}\n}\n\nfunction remove(key) {\n\treturn globalStorage.removeItem(key)\n}\n\nfunction clearAll() {\n\teach(function(key, _) {\n\t\tdelete globalStorage[key]\n\t})\n}\n\n\n/***/ }),\n/* 795 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// oldIE-userDataStorage provides storage for Internet Explorer\n// versions 6 and 7, where no localStorage, sessionStorage, etc\n// is available.\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'oldIE-userDataStorage',\n\twrite: write,\n\tread: read,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar storageName = 'storejs'\nvar doc = Global.document\nvar _withStorageEl = _makeIEStorageElFunction()\nvar disable = (Global.navigator ? Global.navigator.userAgent : '').match(/ (MSIE 8|MSIE 9|MSIE 10)\\./) // MSIE 9.x, MSIE 10.x\n\nfunction write(unfixedKey, data) {\n\tif (disable) { return }\n\tvar fixedKey = fixKey(unfixedKey)\n\t_withStorageEl(function(storageEl) {\n\t\tstorageEl.setAttribute(fixedKey, data)\n\t\tstorageEl.save(storageName)\n\t})\n}\n\nfunction read(unfixedKey) {\n\tif (disable) { return }\n\tvar fixedKey = fixKey(unfixedKey)\n\tvar res = null\n\t_withStorageEl(function(storageEl) {\n\t\tres = storageEl.getAttribute(fixedKey)\n\t})\n\treturn res\n}\n\nfunction each(callback) {\n\t_withStorageEl(function(storageEl) {\n\t\tvar attributes = storageEl.XMLDocument.documentElement.attributes\n\t\tfor (var i=attributes.length-1; i>=0; i--) {\n\t\t\tvar attr = attributes[i]\n\t\t\tcallback(storageEl.getAttribute(attr.name), attr.name)\n\t\t}\n\t})\n}\n\nfunction remove(unfixedKey) {\n\tvar fixedKey = fixKey(unfixedKey)\n\t_withStorageEl(function(storageEl) {\n\t\tstorageEl.removeAttribute(fixedKey)\n\t\tstorageEl.save(storageName)\n\t})\n}\n\nfunction clearAll() {\n\t_withStorageEl(function(storageEl) {\n\t\tvar attributes = storageEl.XMLDocument.documentElement.attributes\n\t\tstorageEl.load(storageName)\n\t\tfor (var i=attributes.length-1; i>=0; i--) {\n\t\t\tstorageEl.removeAttribute(attributes[i].name)\n\t\t}\n\t\tstorageEl.save(storageName)\n\t})\n}\n\n// Helpers\n//////////\n\n// In IE7, keys cannot start with a digit or contain certain chars.\n// See https://github.com/marcuswestin/store.js/issues/40\n// See https://github.com/marcuswestin/store.js/issues/83\nvar forbiddenCharsRegex = new RegExp(\"[!\\\"#$%&'()*+,/\\\\\\\\:;<=>?@[\\\\]^`{|}~]\", \"g\")\nfunction fixKey(key) {\n\treturn key.replace(/^\\d/, '___$&').replace(forbiddenCharsRegex, '___')\n}\n\nfunction _makeIEStorageElFunction() {\n\tif (!doc || !doc.documentElement || !doc.documentElement.addBehavior) {\n\t\treturn null\n\t}\n\tvar scriptTag = 'script',\n\t\tstorageOwner,\n\t\tstorageContainer,\n\t\tstorageEl\n\n\t// Since #userData storage applies only to specific paths, we need to\n\t// somehow link our data to a specific path. We choose /favicon.ico\n\t// as a pretty safe option, since all browsers already make a request to\n\t// this URL anyway and being a 404 will not hurt us here. We wrap an\n\t// iframe pointing to the favicon in an ActiveXObject(htmlfile) object\n\t// (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)\n\t// since the iframe access rules appear to allow direct access and\n\t// manipulation of the document element, even for a 404 page. This\n\t// document can be used instead of the current document (which would\n\t// have been limited to the current path) to perform #userData storage.\n\ttry {\n\t\t/* global ActiveXObject */\n\t\tstorageContainer = new ActiveXObject('htmlfile')\n\t\tstorageContainer.open()\n\t\tstorageContainer.write('<'+scriptTag+'>document.w=window')\n\t\tstorageContainer.close()\n\t\tstorageOwner = storageContainer.w.frames[0].document\n\t\tstorageEl = storageOwner.createElement('div')\n\t} catch(e) {\n\t\t// somehow ActiveXObject instantiation failed (perhaps some special\n\t\t// security settings or otherwse), fall back to per-path storage\n\t\tstorageEl = doc.createElement('div')\n\t\tstorageOwner = doc.body\n\t}\n\n\treturn function(storeFunction) {\n\t\tvar args = [].slice.call(arguments, 0)\n\t\targs.unshift(storageEl)\n\t\t// See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx\n\t\t// and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx\n\t\tstorageOwner.appendChild(storageEl)\n\t\tstorageEl.addBehavior('#default#userData')\n\t\tstorageEl.load(storageName)\n\t\tstoreFunction.apply(this, args)\n\t\tstorageOwner.removeChild(storageEl)\n\t\treturn\n\t}\n}\n\n\n/***/ }),\n/* 796 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// cookieStorage is useful Safari private browser mode, where localStorage\n// doesn't work but cookies do. This implementation is adopted from\n// https://developer.mozilla.org/en-US/docs/Web/API/Storage/LocalStorage\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\nvar trim = util.trim\n\nmodule.exports = {\n\tname: 'cookieStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar doc = Global.document\n\nfunction read(key) {\n\tif (!key || !_has(key)) { return null }\n\tvar regexpStr = \"(?:^|.*;\\\\s*)\" +\n\t\tescape(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") +\n\t\t\"\\\\s*\\\\=\\\\s*((?:[^;](?!;))*[^;]?).*\"\n\treturn unescape(doc.cookie.replace(new RegExp(regexpStr), \"$1\"))\n}\n\nfunction each(callback) {\n\tvar cookies = doc.cookie.split(/; ?/g)\n\tfor (var i = cookies.length - 1; i >= 0; i--) {\n\t\tif (!trim(cookies[i])) {\n\t\t\tcontinue\n\t\t}\n\t\tvar kvp = cookies[i].split('=')\n\t\tvar key = unescape(kvp[0])\n\t\tvar val = unescape(kvp[1])\n\t\tcallback(val, key)\n\t}\n}\n\nfunction write(key, data) {\n\tif(!key) { return }\n\tdoc.cookie = escape(key) + \"=\" + escape(data) + \"; expires=Tue, 19 Jan 2038 03:14:07 GMT; path=/\"\n}\n\nfunction remove(key) {\n\tif (!key || !_has(key)) {\n\t\treturn\n\t}\n\tdoc.cookie = escape(key) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/\"\n}\n\nfunction clearAll() {\n\teach(function(_, key) {\n\t\tremove(key)\n\t})\n}\n\nfunction _has(key) {\n\treturn (new RegExp(\"(?:^|;\\\\s*)\" + escape(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(doc.cookie)\n}\n\n\n/***/ }),\n/* 797 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar util = __webpack_require__(117)\nvar Global = util.Global\n\nmodule.exports = {\n\tname: 'sessionStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll\n}\n\nfunction sessionStorage() {\n\treturn Global.sessionStorage\n}\n\nfunction read(key) {\n\treturn sessionStorage().getItem(key)\n}\n\nfunction write(key, data) {\n\treturn sessionStorage().setItem(key, data)\n}\n\nfunction each(fn) {\n\tfor (var i = sessionStorage().length - 1; i >= 0; i--) {\n\t\tvar key = sessionStorage().key(i)\n\t\tfn(read(key), key)\n\t}\n}\n\nfunction remove(key) {\n\treturn sessionStorage().removeItem(key)\n}\n\nfunction clearAll() {\n\treturn sessionStorage().clear()\n}\n\n\n/***/ }),\n/* 798 */\n/***/ (function(module, exports) {\n\n// memoryStorage is a useful last fallback to ensure that the store\n// is functions (meaning store.get(), store.set(), etc will all function).\n// However, stored values will not persist when the browser navigates to\n// a new page or reloads the current page.\n\nmodule.exports = {\n\tname: 'memoryStorage',\n\tread: read,\n\twrite: write,\n\teach: each,\n\tremove: remove,\n\tclearAll: clearAll,\n}\n\nvar memoryStorage = {}\n\nfunction read(key) {\n\treturn memoryStorage[key]\n}\n\nfunction write(key, data) {\n\tmemoryStorage[key] = data\n}\n\nfunction each(callback) {\n\tfor (var key in memoryStorage) {\n\t\tif (memoryStorage.hasOwnProperty(key)) {\n\t\t\tcallback(memoryStorage[key], key)\n\t\t}\n\t}\n}\n\nfunction remove(key) {\n\tdelete memoryStorage[key]\n}\n\nfunction clearAll(key) {\n\tmemoryStorage = {}\n}\n\n\n/***/ }),\n/* 799 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = json2Plugin\n\nfunction json2Plugin() {\n\t__webpack_require__(800)\n\treturn {}\n}\n\n\n/***/ }),\n/* 800 */\n/***/ (function(module, exports) {\n\n/* eslint-disable */\n\n// json2.js\n// 2016-10-28\n// Public Domain.\n// NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\n// See http://www.JSON.org/js.html\n// This code should be minified before deployment.\n// See http://javascript.crockford.com/jsmin.html\n\n// USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO\n// NOT CONTROL.\n\n// This file creates a global JSON object containing two methods: stringify\n// and parse. This file provides the ES5 JSON capability to ES3 systems.\n// If a project might run on IE8 or earlier, then this file should be included.\n// This file does nothing on ES5 systems.\n\n// JSON.stringify(value, replacer, space)\n// value any JavaScript value, usually an object or array.\n// replacer an optional parameter that determines how object\n// values are stringified for objects. It can be a\n// function or an array of strings.\n// space an optional parameter that specifies the indentation\n// of nested structures. If it is omitted, the text will\n// be packed without extra whitespace. If it is a number,\n// it will specify the number of spaces to indent at each\n// level. If it is a string (such as \"\\t\" or \" \"),\n// it contains the characters used to indent at each level.\n// This method produces a JSON text from a JavaScript value.\n// When an object value is found, if the object contains a toJSON\n// method, its toJSON method will be called and the result will be\n// stringified. A toJSON method does not serialize: it returns the\n// value represented by the name/value pair that should be serialized,\n// or undefined if nothing should be serialized. The toJSON method\n// will be passed the key associated with the value, and this will be\n// bound to the value.\n\n// For example, this would serialize Dates as ISO strings.\n\n// Date.prototype.toJSON = function (key) {\n// function f(n) {\n// // Format integers to have at least two digits.\n// return (n < 10)\n// ? \"0\" + n\n// : n;\n// }\n// return this.getUTCFullYear() + \"-\" +\n// f(this.getUTCMonth() + 1) + \"-\" +\n// f(this.getUTCDate()) + \"T\" +\n// f(this.getUTCHours()) + \":\" +\n// f(this.getUTCMinutes()) + \":\" +\n// f(this.getUTCSeconds()) + \"Z\";\n// };\n\n// You can provide an optional replacer method. It will be passed the\n// key and value of each member, with this bound to the containing\n// object. The value that is returned from your method will be\n// serialized. If your method returns undefined, then the member will\n// be excluded from the serialization.\n\n// If the replacer parameter is an array of strings, then it will be\n// used to select the members to be serialized. It filters the results\n// such that only members with keys listed in the replacer array are\n// stringified.\n\n// Values that do not have JSON representations, such as undefined or\n// functions, will not be serialized. Such values in objects will be\n// dropped; in arrays they will be replaced with null. You can use\n// a replacer function to replace those with JSON values.\n\n// JSON.stringify(undefined) returns undefined.\n\n// The optional space parameter produces a stringification of the\n// value that is filled with line breaks and indentation to make it\n// easier to read.\n\n// If the space parameter is a non-empty string, then that string will\n// be used for indentation. If the space parameter is a number, then\n// the indentation will be that many spaces.\n\n// Example:\n\n// text = JSON.stringify([\"e\", {pluribus: \"unum\"}]);\n// // text is '[\"e\",{\"pluribus\":\"unum\"}]'\n\n// text = JSON.stringify([\"e\", {pluribus: \"unum\"}], null, \"\\t\");\n// // text is '[\\n\\t\"e\",\\n\\t{\\n\\t\\t\"pluribus\": \"unum\"\\n\\t}\\n]'\n\n// text = JSON.stringify([new Date()], function (key, value) {\n// return this[key] instanceof Date\n// ? \"Date(\" + this[key] + \")\"\n// : value;\n// });\n// // text is '[\"Date(---current time---)\"]'\n\n// JSON.parse(text, reviver)\n// This method parses a JSON text to produce an object or array.\n// It can throw a SyntaxError exception.\n\n// The optional reviver parameter is a function that can filter and\n// transform the results. It receives each of the keys and values,\n// and its return value is used instead of the original value.\n// If it returns what it received, then the structure is not modified.\n// If it returns undefined then the member is deleted.\n\n// Example:\n\n// // Parse the text. Values that look like ISO date strings will\n// // be converted to Date objects.\n\n// myData = JSON.parse(text, function (key, value) {\n// var a;\n// if (typeof value === \"string\") {\n// a =\n// /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n// if (a) {\n// return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],\n// +a[5], +a[6]));\n// }\n// }\n// return value;\n// });\n\n// myData = JSON.parse('[\"Date(09/09/2001)\"]', function (key, value) {\n// var d;\n// if (typeof value === \"string\" &&\n// value.slice(0, 5) === \"Date(\" &&\n// value.slice(-1) === \")\") {\n// d = new Date(value.slice(5, -1));\n// if (d) {\n// return d;\n// }\n// }\n// return value;\n// });\n\n// This is a reference implementation. You are free to copy, modify, or\n// redistribute.\n\n/*jslint\n eval, for, this\n*/\n\n/*property\n JSON, apply, call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours,\n getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join,\n lastIndex, length, parse, prototype, push, replace, slice, stringify,\n test, toJSON, toString, valueOf\n*/\n\n\n// Create a JSON object only if one does not already exist. We create the\n// methods in a closure to avoid creating global variables.\n\nif (typeof JSON !== \"object\") {\n JSON = {};\n}\n\n(function () {\n \"use strict\";\n\n var rx_one = /^[\\],:{}\\s]*$/;\n var rx_two = /\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g;\n var rx_three = /\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g;\n var rx_four = /(?:^|:|,)(?:\\s*\\[)+/g;\n var rx_escapable = /[\\\\\"\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n var rx_dangerous = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\n\n function f(n) {\n // Format integers to have at least two digits.\n return n < 10\n ? \"0\" + n\n : n;\n }\n\n function this_value() {\n return this.valueOf();\n }\n\n if (typeof Date.prototype.toJSON !== \"function\") {\n\n Date.prototype.toJSON = function () {\n\n return isFinite(this.valueOf())\n ? this.getUTCFullYear() + \"-\" +\n f(this.getUTCMonth() + 1) + \"-\" +\n f(this.getUTCDate()) + \"T\" +\n f(this.getUTCHours()) + \":\" +\n f(this.getUTCMinutes()) + \":\" +\n f(this.getUTCSeconds()) + \"Z\"\n : null;\n };\n\n Boolean.prototype.toJSON = this_value;\n Number.prototype.toJSON = this_value;\n String.prototype.toJSON = this_value;\n }\n\n var gap;\n var indent;\n var meta;\n var rep;\n\n\n function quote(string) {\n\n// If the string contains no control characters, no quote characters, and no\n// backslash characters, then we can safely slap some quotes around it.\n// Otherwise we must also replace the offending characters with safe escape\n// sequences.\n\n rx_escapable.lastIndex = 0;\n return rx_escapable.test(string)\n ? \"\\\"\" + string.replace(rx_escapable, function (a) {\n var c = meta[a];\n return typeof c === \"string\"\n ? c\n : \"\\\\u\" + (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4);\n }) + \"\\\"\"\n : \"\\\"\" + string + \"\\\"\";\n }\n\n\n function str(key, holder) {\n\n// Produce a string from holder[key].\n\n var i; // The loop counter.\n var k; // The member key.\n var v; // The member value.\n var length;\n var mind = gap;\n var partial;\n var value = holder[key];\n\n// If the value has a toJSON method, call it to obtain a replacement value.\n\n if (value && typeof value === \"object\" &&\n typeof value.toJSON === \"function\") {\n value = value.toJSON(key);\n }\n\n// If we were called with a replacer function, then call the replacer to\n// obtain a replacement value.\n\n if (typeof rep === \"function\") {\n value = rep.call(holder, key, value);\n }\n\n// What happens next depends on the value's type.\n\n switch (typeof value) {\n case \"string\":\n return quote(value);\n\n case \"number\":\n\n// JSON numbers must be finite. Encode non-finite numbers as null.\n\n return isFinite(value)\n ? String(value)\n : \"null\";\n\n case \"boolean\":\n case \"null\":\n\n// If the value is a boolean or null, convert it to a string. Note:\n// typeof null does not produce \"null\". The case is included here in\n// the remote chance that this gets fixed someday.\n\n return String(value);\n\n// If the type is \"object\", we might be dealing with an object or an array or\n// null.\n\n case \"object\":\n\n// Due to a specification blunder in ECMAScript, typeof null is \"object\",\n// so watch out for that case.\n\n if (!value) {\n return \"null\";\n }\n\n// Make an array to hold the partial results of stringifying this object value.\n\n gap += indent;\n partial = [];\n\n// Is the value an array?\n\n if (Object.prototype.toString.apply(value) === \"[object Array]\") {\n\n// The value is an array. Stringify every element. Use null as a placeholder\n// for non-JSON values.\n\n length = value.length;\n for (i = 0; i < length; i += 1) {\n partial[i] = str(i, value) || \"null\";\n }\n\n// Join all of the elements together, separated with commas, and wrap them in\n// brackets.\n\n v = partial.length === 0\n ? \"[]\"\n : gap\n ? \"[\\n\" + gap + partial.join(\",\\n\" + gap) + \"\\n\" + mind + \"]\"\n : \"[\" + partial.join(\",\") + \"]\";\n gap = mind;\n return v;\n }\n\n// If the replacer is an array, use it to select the members to be stringified.\n\n if (rep && typeof rep === \"object\") {\n length = rep.length;\n for (i = 0; i < length; i += 1) {\n if (typeof rep[i] === \"string\") {\n k = rep[i];\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (\n gap\n ? \": \"\n : \":\"\n ) + v);\n }\n }\n }\n } else {\n\n// Otherwise, iterate through all of the keys in the object.\n\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = str(k, value);\n if (v) {\n partial.push(quote(k) + (\n gap\n ? \": \"\n : \":\"\n ) + v);\n }\n }\n }\n }\n\n// Join all of the member texts together, separated with commas,\n// and wrap them in braces.\n\n v = partial.length === 0\n ? \"{}\"\n : gap\n ? \"{\\n\" + gap + partial.join(\",\\n\" + gap) + \"\\n\" + mind + \"}\"\n : \"{\" + partial.join(\",\") + \"}\";\n gap = mind;\n return v;\n }\n }\n\n// If the JSON object does not yet have a stringify method, give it one.\n\n if (typeof JSON.stringify !== \"function\") {\n meta = { // table of character substitutions\n \"\\b\": \"\\\\b\",\n \"\\t\": \"\\\\t\",\n \"\\n\": \"\\\\n\",\n \"\\f\": \"\\\\f\",\n \"\\r\": \"\\\\r\",\n \"\\\"\": \"\\\\\\\"\",\n \"\\\\\": \"\\\\\\\\\"\n };\n JSON.stringify = function (value, replacer, space) {\n\n// The stringify method takes a value and an optional replacer, and an optional\n// space parameter, and returns a JSON text. The replacer can be a function\n// that can replace values, or an array of strings that will select the keys.\n// A default replacer method can be provided. Use of the space parameter can\n// produce text that is more easily readable.\n\n var i;\n gap = \"\";\n indent = \"\";\n\n// If the space parameter is a number, make an indent string containing that\n// many spaces.\n\n if (typeof space === \"number\") {\n for (i = 0; i < space; i += 1) {\n indent += \" \";\n }\n\n// If the space parameter is a string, it will be used as the indent string.\n\n } else if (typeof space === \"string\") {\n indent = space;\n }\n\n// If there is a replacer, it must be a function or an array.\n// Otherwise, throw an error.\n\n rep = replacer;\n if (replacer && typeof replacer !== \"function\" &&\n (typeof replacer !== \"object\" ||\n typeof replacer.length !== \"number\")) {\n throw new Error(\"JSON.stringify\");\n }\n\n// Make a fake root object containing our value under the key of \"\".\n// Return the result of stringifying the value.\n\n return str(\"\", {\"\": value});\n };\n }\n\n\n// If the JSON object does not yet have a parse method, give it one.\n\n if (typeof JSON.parse !== \"function\") {\n JSON.parse = function (text, reviver) {\n\n// The parse method takes a text and an optional reviver function, and returns\n// a JavaScript value if the text is a valid JSON text.\n\n var j;\n\n function walk(holder, key) {\n\n// The walk method is used to recursively walk the resulting structure so\n// that modifications can be made.\n\n var k;\n var v;\n var value = holder[key];\n if (value && typeof value === \"object\") {\n for (k in value) {\n if (Object.prototype.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }\n\n\n// Parsing happens in four stages. In the first stage, we replace certain\n// Unicode characters with escape sequences. JavaScript handles many characters\n// incorrectly, either silently deleting them, or treating them as line endings.\n\n text = String(text);\n rx_dangerous.lastIndex = 0;\n if (rx_dangerous.test(text)) {\n text = text.replace(rx_dangerous, function (a) {\n return \"\\\\u\" +\n (\"0000\" + a.charCodeAt(0).toString(16)).slice(-4);\n });\n }\n\n// In the second stage, we run the text against regular expressions that look\n// for non-JSON patterns. We are especially concerned with \"()\" and \"new\"\n// because they can cause invocation, and \"=\" because it can cause mutation.\n// But just to be safe, we want to reject all unexpected forms.\n\n// We split the second stage into 4 regexp operations in order to work around\n// crippling inefficiencies in IE's and Safari's regexp engines. First we\n// replace the JSON backslash pairs with \"@\" (a non-JSON character). Second, we\n// replace all simple value tokens with \"]\" characters. Third, we delete all\n// open brackets that follow a colon or comma or that begin the text. Finally,\n// we look to see that the remaining characters are only whitespace or \"]\" or\n// \",\" or \":\" or \"{\" or \"}\". If that is so, then the text is safe for eval.\n\n if (\n rx_one.test(\n text\n .replace(rx_two, \"@\")\n .replace(rx_three, \"]\")\n .replace(rx_four, \"\")\n )\n ) {\n\n// In the third stage we use the eval function to compile the text into a\n// JavaScript structure. The \"{\" operator is subject to a syntactic ambiguity\n// in JavaScript: it can begin a block or an object literal. We wrap the text\n// in parens to eliminate the ambiguity.\n\n j = eval(\"(\" + text + \")\");\n\n// In the optional fourth stage, we recursively walk the new structure, passing\n// each name/value pair to a reviver function for possible transformation.\n\n return (typeof reviver === \"function\")\n ? walk({\"\": j}, \"\")\n : j;\n }\n\n// If the text is not JSON parseable, then a SyntaxError is thrown.\n\n throw new SyntaxError(\"JSON.parse\");\n };\n }\n}());\n\n/***/ }),\n/* 801 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(81);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i0&&challenge.status===2?'+'+challenge.experience:challenge.experience;// const showGold = (challenge.gold > 0 && challenge.status === 2) ? '+' + challenge.gold : challenge.gold\nreturn __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:__WEBPACK_IMPORTED_MODULE_6_classnames___default()(\"panel-list\",{'current':currentChallenge.position-1===index}),key:index},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'currentSelected'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:' clearfix -task-list-inner',id:'game_status_118'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('h4',{className:' -task-list-title fl'},shixun.status<2||challenge.status===2||challenges[index-1]&&challenges[index-1].status===2||shixun.task_pass||myshixun_manager===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__[\"b\" /* Link */],{to:'/tasks/'+challenge.identifier,onClick:onChallengesDrawerClose},index+1,'. ',challenge.subject):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',null,index+1,'. ',challenge.subject)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'fr'},challenge.status===2?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{'data-tip-down':'\\u5DF2\\u5B8C\\u6210',className:'fa fa-check-circle color-light-green fr font-16 mt5 -text-danger w20_center'}):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{'data-tip-down':'\\u5F85\\u5B8C\\u6210',className:'fa fa-check-circle fr font-16 mt5 color-light-grey w20_center'})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{display:'flex'},className:'grades with80 ml20 '+(challenge.status===2?'':'notFinish')},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'font-12 mr15 info-partly '+(challenge.status===2&&challenge.experience>0?'positive ':'negative'),id:'shixun_exp_118'},'\\u7ECF\\u9A8C\\u503C',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'ml5'},showExp)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'font-12 mr15 info-partly '+(challenge.status===2&&challenge.experience>0?'positive ':'negative'),id:'shixun_grade_118'},'\\u91D1\\u5E01',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'ml5'},showExp)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:' font-12 mr15 info-partly',id:'shixun_tag_118'},challenge.tag_count?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,'\\u6280\\u80FD\\u6807\\u7B7E',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'ml5'},challenge.tag_count||'无')):'')),shixun.status>=2&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'rateRow'},challenge.status===2&&challenge.star===0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'unstar'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starTip'},'\\u7ED9\\u4E2A\\u8BC4\\u5206\\u5427\\uFF1A'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_rate__[\"a\" /* default */],{defaultValue:0,onChange:function onChange(value){return _this2.props.onStarChange(challenge,index,value);}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starNumber',onClick:function onClick(){return _this2.props.saveChallengeStar(challenge,index);}},'\\u8BC4\\u4EF7')):challenge.status===2&&challenge.star>0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'stared'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starTip'},'\\u5DF2\\u8BC4\\u5206\\uFF1A'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_rate__[\"a\" /* default */],{defaultValue:challenge.star,disabled:true}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'starNumber'},challenge.star,'\\u5206')):'')));});return taskArray;}},{key:'render',value:function render(){var taskListLoading=this.props.taskListLoading;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'page--over'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'col-width-3 -scroll',style:{height:'100%'},id:'all_task_index'},taskListLoading?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{marginLeft:'auto',marginRight:'auto',marginTop:'40%',display:'block'}}):this.renderTasks()));}/*\r\n \t\t\r\n\t\t
    \r\n\t\t\t\t \t

    全部任务

    \r\n\t\t\t \t
    \r\n \t*/}]);return TaskList;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (TaskList);\n\n/***/ }),\n/* 805 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar SIZE = 50;\n\nfunction getRelativeValue(value, min, max) {\n var clampedValue = Math.min(Math.max(min, value), max);\n return (clampedValue - min) / (max - min);\n}\n\nfunction easeOut(t) {\n t = getRelativeValue(t, 0, 1); // https://gist.github.com/gre/1650294\n\n t = (t -= 1) * t * t + 1;\n return t;\n}\n\nfunction easeIn(t) {\n return t * t;\n}\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-block'\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n svg: {},\n svgIndeterminate: {\n animation: 'mui-progress-circular-rotate 1.4s linear infinite'\n },\n circle: {\n stroke: 'currentColor',\n strokeLinecap: 'round'\n },\n circleIndeterminate: {\n animation: 'mui-progress-circular-dash 1.4s ease-in-out infinite',\n // Some default value that looks fine waiting for the animation to kicks in.\n strokeDasharray: '80px, 200px',\n strokeDashoffset: '0px' // Add the unit to fix a Edge 16 and below bug.\n\n },\n '@keyframes mui-progress-circular-rotate': {\n '100%': {\n transform: 'rotate(360deg)'\n }\n },\n '@keyframes mui-progress-circular-dash': {\n '0%': {\n strokeDasharray: '1px, 200px',\n strokeDashoffset: '0px'\n },\n '50%': {\n strokeDasharray: '100px, 200px',\n strokeDashoffset: '-15px'\n },\n '100%': {\n strokeDasharray: '100px, 200px',\n strokeDashoffset: '-120px'\n }\n }\n };\n};\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\n\n\nexports.styles = styles;\n\nfunction CircularProgress(props) {\n var classes = props.classes,\n className = props.className,\n color = props.color,\n size = props.size,\n style = props.style,\n thickness = props.thickness,\n value = props.value,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"size\", \"style\", \"thickness\", \"value\", \"variant\"]);\n var circleStyle = {};\n var rootStyle = {};\n var rootProps = {};\n\n if (variant === 'determinate' || variant === 'static') {\n var circumference = 2 * Math.PI * (SIZE / 2 - 5);\n circleStyle.strokeDasharray = circumference.toFixed(3);\n rootProps['aria-valuenow'] = Math.round(value);\n\n if (variant === 'static') {\n circleStyle.strokeDashoffset = \"\".concat(((100 - value) / 100 * circumference).toFixed(3), \"px\");\n rootStyle.transform = 'rotate(-90deg)';\n } else {\n circleStyle.strokeDashoffset = \"\".concat((easeIn((100 - value) / 100) * circumference).toFixed(3), \"px\");\n rootStyle.transform = \"rotate(\".concat((easeOut(value / 70) * 270).toFixed(3), \"deg)\");\n }\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), className),\n style: (0, _objectSpread2.default)({\n width: size,\n height: size\n }, rootStyle, style),\n role: \"progressbar\"\n }, rootProps, other), _react.default.createElement(\"svg\", {\n className: (0, _classnames.default)(classes.svg, (0, _defineProperty2.default)({}, classes.svgIndeterminate, variant === 'indeterminate')),\n viewBox: \"0 0 \".concat(SIZE, \" \").concat(SIZE)\n }, _react.default.createElement(\"circle\", {\n className: (0, _classnames.default)(classes.circle, (0, _defineProperty2.default)({}, classes.circleIndeterminate, variant === 'indeterminate')),\n style: circleStyle,\n cx: SIZE / 2,\n cy: SIZE / 2,\n r: SIZE / 2 - 5,\n fill: \"none\",\n strokeWidth: thickness\n })));\n}\n\nCircularProgress.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['primary', 'secondary', 'inherit']),\n\n /**\n * The size of the circle.\n */\n size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * @ignore\n */\n style: _propTypes.default.object,\n\n /**\n * The thickness of the circle.\n */\n thickness: _propTypes.default.number,\n\n /**\n * The value of the progress indicator for the determinate and static variants.\n * Value between 0 and 100.\n */\n value: _propTypes.default.number,\n\n /**\n * The variant of progress indicator. Use indeterminate\n * when there is no progress value.\n */\n variant: _propTypes.default.oneOf(['determinate', 'indeterminate', 'static'])\n} : {};\nCircularProgress.defaultProps = {\n color: 'primary',\n size: 40,\n thickness: 3.6,\n value: 0,\n variant: 'indeterminate'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiCircularProgress',\n flip: false\n})(CircularProgress);\n\nexports.default = _default;\n\n/***/ }),\n/* 806 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _colorManipulator = __webpack_require__(113);\n\nvar TRANSITION_DURATION = 4; // 400ms\n\nvar styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n overflow: 'hidden',\n height: 5\n },\n colorPrimary: {\n backgroundColor: (0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6)\n },\n colorSecondary: {\n backgroundColor: (0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.4)\n },\n buffer: {\n backgroundColor: 'transparent'\n },\n query: {\n transform: 'rotate(180deg)'\n },\n dashed: {\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%',\n animation: 'buffer 3s infinite linear'\n },\n dashedColorPrimary: {\n backgroundImage: \"radial-gradient(\".concat((0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6), \" 0%, \").concat((0, _colorManipulator.lighten)(theme.palette.primary.light, 0.6), \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0px -23px'\n },\n dashedColorSecondary: {\n backgroundImage: \"radial-gradient(\".concat((0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.4), \" 0%, \").concat((0, _colorManipulator.lighten)(theme.palette.secondary.light, 0.6), \" 16%, transparent 42%)\"),\n backgroundSize: '10px 10px',\n backgroundPosition: '0px -23px'\n },\n bar: {\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left'\n },\n barColorPrimary: {\n backgroundColor: theme.palette.primary.main\n },\n barColorSecondary: {\n backgroundColor: theme.palette.secondary.main\n },\n bar1Indeterminate: {\n width: 'auto',\n willChange: 'left, right',\n animation: 'mui-indeterminate1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite'\n },\n bar2Indeterminate: {\n width: 'auto',\n willChange: 'left, right',\n animation: 'mui-indeterminate2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite',\n animationDelay: '1.15s'\n },\n bar1Determinate: {\n willChange: 'transform',\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n bar1Buffer: {\n zIndex: 1,\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n bar2Buffer: {\n transition: \"transform .\".concat(TRANSITION_DURATION, \"s linear\")\n },\n // Legends:\n // || represents the viewport\n // - represents a light background\n // x represents a dark background\n '@keyframes mui-indeterminate1': {\n // |-----|---x-||-----||-----|\n '0%': {\n left: '-35%',\n right: '100%'\n },\n // |-----|-----||-----||xxxx-|\n '60%': {\n left: '100%',\n right: '-90%'\n },\n '100%': {\n left: '100%',\n right: '-90%'\n }\n },\n '@keyframes mui-indeterminate2': {\n // |xxxxx|xxxxx||-----||-----|\n '0%': {\n left: '-200%',\n right: '100%'\n },\n // |-----|-----||-----||-x----|\n '60%': {\n left: '107%',\n right: '-8%'\n },\n '100%': {\n left: '107%',\n right: '-8%'\n }\n },\n '@keyframes buffer': {\n '0%': {\n opacity: 1,\n backgroundPosition: '0px -23px'\n },\n '50%': {\n opacity: 0,\n backgroundPosition: '0px -23px'\n },\n '100%': {\n opacity: 1,\n backgroundPosition: '-200px -23px'\n }\n }\n };\n};\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\n\n\nexports.styles = styles;\n\nfunction LinearProgress(props) {\n var _classNames, _classNames2, _classNames3, _classNames4;\n\n var classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n value = props.value,\n valueBuffer = props.valueBuffer,\n variant = props.variant,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"value\", \"valueBuffer\", \"variant\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.colorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames, classes.colorSecondary, color === 'secondary'), (0, _defineProperty2.default)(_classNames, classes.buffer, variant === 'buffer'), (0, _defineProperty2.default)(_classNames, classes.query, variant === 'query'), _classNames), classNameProp);\n var dashedClass = (0, _classnames.default)(classes.dashed, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.dashedColorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames2, classes.dashedColorSecondary, color === 'secondary'), _classNames2));\n var bar1ClassName = (0, _classnames.default)(classes.bar, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.barColorPrimary, color === 'primary'), (0, _defineProperty2.default)(_classNames3, classes.barColorSecondary, color === 'secondary'), (0, _defineProperty2.default)(_classNames3, classes.bar1Indeterminate, variant === 'indeterminate' || variant === 'query'), (0, _defineProperty2.default)(_classNames3, classes.bar1Determinate, variant === 'determinate'), (0, _defineProperty2.default)(_classNames3, classes.bar1Buffer, variant === 'buffer'), _classNames3));\n var bar2ClassName = (0, _classnames.default)(classes.bar, (_classNames4 = {}, (0, _defineProperty2.default)(_classNames4, classes.barColorPrimary, color === 'primary' && variant !== 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.colorPrimary, color === 'primary' && variant === 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.barColorSecondary, color === 'secondary' && variant !== 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.colorSecondary, color === 'secondary' && variant === 'buffer'), (0, _defineProperty2.default)(_classNames4, classes.bar2Indeterminate, variant === 'indeterminate' || variant === 'query'), (0, _defineProperty2.default)(_classNames4, classes.bar2Buffer, variant === 'buffer'), _classNames4));\n var rootProps = {};\n var inlineStyles = {\n bar1: {},\n bar2: {}\n };\n\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n inlineStyles.bar1.transform = \"scaleX(\".concat(value / 100, \")\");\n } else {\n false ? (0, _warning.default)(false, 'Material-UI: you need to provide a value property ' + 'when using the determinate or buffer variant of LinearProgress .') : void 0;\n }\n }\n\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n inlineStyles.bar2.transform = \"scaleX(\".concat((valueBuffer || 0) / 100, \")\");\n } else {\n false ? (0, _warning.default)(false, 'Material-UI: you need to provide a valueBuffer property ' + 'when using the buffer variant of LinearProgress.') : void 0;\n }\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: className,\n role: \"progressbar\"\n }, rootProps, other), variant === 'buffer' ? _react.default.createElement(\"div\", {\n className: dashedClass\n }) : null, _react.default.createElement(\"div\", {\n className: bar1ClassName,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : _react.default.createElement(\"div\", {\n className: bar2ClassName,\n style: inlineStyles.bar2\n }));\n}\n\nLinearProgress.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['primary', 'secondary']),\n\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: _propTypes.default.number,\n\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: _propTypes.default.number,\n\n /**\n * The variant of progress indicator. Use indeterminate or query\n * when there is no progress value.\n */\n variant: _propTypes.default.oneOf(['determinate', 'indeterminate', 'buffer', 'query'])\n} : {};\nLinearProgress.defaultProps = {\n color: 'primary',\n variant: 'indeterminate'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiLinearProgress'\n})(LinearProgress);\n\nexports.default = _default;\n\n/***/ }),\n/* 807 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_lifecycles_compat__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(808);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Star__ = __webpack_require__(809);\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nvar Rate =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Rate, _React$Component);\n\n function Rate(props) {\n var _this;\n\n _classCallCheck(this, Rate);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Rate).call(this, props));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onHover\", function (event, index) {\n var onHoverChange = _this.props.onHoverChange;\n\n var hoverValue = _this.getStarValue(index, event.pageX);\n\n var cleanedValue = _this.state.cleanedValue;\n\n if (hoverValue !== cleanedValue) {\n _this.setState({\n hoverValue: hoverValue,\n cleanedValue: null\n });\n }\n\n onHoverChange(hoverValue);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onMouseLeave\", function () {\n var onHoverChange = _this.props.onHoverChange;\n\n _this.setState({\n hoverValue: undefined,\n cleanedValue: null\n });\n\n onHoverChange(undefined);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onClick\", function (event, index) {\n var allowClear = _this.props.allowClear;\n var value = _this.state.value;\n\n var newValue = _this.getStarValue(index, event.pageX);\n\n var isReset = false;\n\n if (allowClear) {\n isReset = newValue === value;\n }\n\n _this.onMouseLeave(true);\n\n _this.changeValue(isReset ? 0 : newValue);\n\n _this.setState({\n cleanedValue: isReset ? newValue : null\n });\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onFocus\", function () {\n var onFocus = _this.props.onFocus;\n\n _this.setState({\n focused: true\n });\n\n if (onFocus) {\n onFocus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onBlur\", function () {\n var onBlur = _this.props.onBlur;\n\n _this.setState({\n focused: false\n });\n\n if (onBlur) {\n onBlur();\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onKeyDown\", function (event) {\n var keyCode = event.keyCode;\n var _this$props = _this.props,\n count = _this$props.count,\n allowHalf = _this$props.allowHalf,\n onKeyDown = _this$props.onKeyDown;\n var value = _this.state.value;\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].RIGHT && value < count) {\n if (allowHalf) {\n value += 0.5;\n } else {\n value += 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].LEFT && value > 0) {\n if (allowHalf) {\n value -= 0.5;\n } else {\n value -= 1;\n }\n\n _this.changeValue(value);\n\n event.preventDefault();\n }\n\n if (onKeyDown) {\n onKeyDown(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"saveRef\", function (index) {\n return function (node) {\n _this.stars[index] = node;\n };\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"saveRate\", function (node) {\n _this.rate = node;\n });\n\n var _value = props.value;\n\n if (_value === undefined) {\n _value = props.defaultValue;\n }\n\n _this.stars = {};\n _this.state = {\n value: _value,\n focused: false,\n cleanedValue: null\n };\n return _this;\n }\n\n _createClass(Rate, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props2 = this.props,\n autoFocus = _this$props2.autoFocus,\n disabled = _this$props2.disabled;\n\n if (autoFocus && !disabled) {\n this.focus();\n }\n }\n }, {\n key: \"getStarDOM\",\n value: function getStarDOM(index) {\n return __WEBPACK_IMPORTED_MODULE_1_react_dom___default.a.findDOMNode(this.stars[index]);\n }\n }, {\n key: \"getStarValue\",\n value: function getStarValue(index, x) {\n var allowHalf = this.props.allowHalf;\n var value = index + 1;\n\n if (allowHalf) {\n var starEle = this.getStarDOM(index);\n var leftDis = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"a\" /* getOffsetLeft */])(starEle);\n var width = starEle.clientWidth;\n\n if (x - leftDis < width / 2) {\n value -= 0.5;\n }\n }\n\n return value;\n }\n }, {\n key: \"focus\",\n value: function focus() {\n var disabled = this.props.disabled;\n\n if (!disabled) {\n this.rate.focus();\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n var disabled = this.props.disabled;\n\n if (!disabled) {\n this.rate.focus();\n }\n }\n }, {\n key: \"changeValue\",\n value: function changeValue(value) {\n var onChange = this.props.onChange;\n\n if (!('value' in this.props)) {\n this.setState({\n value: value\n });\n }\n\n onChange(value);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n count = _this$props3.count,\n allowHalf = _this$props3.allowHalf,\n style = _this$props3.style,\n prefixCls = _this$props3.prefixCls,\n disabled = _this$props3.disabled,\n className = _this$props3.className,\n character = _this$props3.character,\n characterRender = _this$props3.characterRender,\n tabIndex = _this$props3.tabIndex;\n var _this$state = this.state,\n value = _this$state.value,\n hoverValue = _this$state.hoverValue,\n focused = _this$state.focused;\n var stars = [];\n var disabledClass = disabled ? \"\".concat(prefixCls, \"-disabled\") : '';\n\n for (var index = 0; index < count; index++) {\n stars.push(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Star__[\"a\" /* default */], {\n ref: this.saveRef(index),\n index: index,\n count: count,\n disabled: disabled,\n prefixCls: \"\".concat(prefixCls, \"-star\"),\n allowHalf: allowHalf,\n value: hoverValue === undefined ? value : hoverValue,\n onClick: this.onClick,\n onHover: this.onHover,\n key: index,\n character: character,\n characterRender: characterRender,\n focused: focused\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"ul\", {\n className: __WEBPACK_IMPORTED_MODULE_3_classnames___default()(prefixCls, disabledClass, className),\n style: style,\n onMouseLeave: disabled ? null : this.onMouseLeave,\n tabIndex: disabled ? -1 : tabIndex,\n onFocus: disabled ? null : this.onFocus,\n onBlur: disabled ? null : this.onBlur,\n onKeyDown: disabled ? null : this.onKeyDown,\n ref: this.saveRate,\n role: \"radiogroup\"\n }, stars);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, state) {\n if ('value' in nextProps && nextProps.value !== undefined) {\n return _objectSpread({}, state, {\n value: nextProps.value\n });\n }\n\n return state;\n }\n }]);\n\n return Rate;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\n_defineProperty(Rate, \"propTypes\", {\n disabled: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n value: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n defaultValue: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n count: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n allowHalf: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n allowClear: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,\n style: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.object,\n prefixCls: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n onChange: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n onHoverChange: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n className: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,\n character: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node,\n characterRender: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n tabIndex: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,\n onFocus: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n onBlur: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n onKeyDown: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,\n autoFocus: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool\n});\n\n_defineProperty(Rate, \"defaultProps\", {\n defaultValue: 0,\n count: 5,\n allowHalf: false,\n allowClear: true,\n style: {},\n prefixCls: 'rc-rate',\n onChange: noop,\n character: '★',\n onHoverChange: noop,\n tabIndex: 0\n});\n\nObject(__WEBPACK_IMPORTED_MODULE_4_react_lifecycles_compat__[\"polyfill\"])(Rate);\n/* harmony default export */ __webpack_exports__[\"a\"] = (Rate);\n\n/***/ }),\n/* 808 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getOffsetLeft;\n/* eslint-disable import/prefer-default-export */\nfunction getScroll(w, top) {\n var ret = top ? w.pageYOffset : w.pageXOffset;\n var method = top ? 'scrollTop' : 'scrollLeft';\n\n if (typeof ret !== 'number') {\n var d = w.document; // ie6,7,8 standard mode\n\n ret = d.documentElement[method];\n\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n\n return ret;\n}\n\nfunction getClientPosition(elem) {\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n var box = elem.getBoundingClientRect();\n x = box.left;\n y = box.top;\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\n\nfunction getOffsetLeft(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n return pos.left;\n}\n\n/***/ }),\n/* 809 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Star; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nvar Star =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Star, _React$Component);\n\n function Star() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Star);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Star)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onHover\", function (e) {\n var _this$props = _this.props,\n onHover = _this$props.onHover,\n index = _this$props.index;\n onHover(e, index);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onClick\", function (e) {\n var _this$props2 = _this.props,\n onClick = _this$props2.onClick,\n index = _this$props2.index;\n onClick(e, index);\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onKeyDown\", function (e) {\n var _this$props3 = _this.props,\n onClick = _this$props3.onClick,\n index = _this$props3.index;\n\n if (e.keyCode === 13) {\n onClick(e, index);\n }\n });\n\n return _this;\n }\n\n _createClass(Star, [{\n key: \"getClassName\",\n value: function getClassName() {\n var _this$props4 = this.props,\n prefixCls = _this$props4.prefixCls,\n index = _this$props4.index,\n value = _this$props4.value,\n allowHalf = _this$props4.allowHalf,\n focused = _this$props4.focused;\n var starValue = index + 1;\n var className = prefixCls;\n\n if (value === 0 && index === 0 && focused) {\n className += \" \".concat(prefixCls, \"-focused\");\n } else if (allowHalf && value + 0.5 === starValue) {\n className += \" \".concat(prefixCls, \"-half \").concat(prefixCls, \"-active\");\n\n if (focused) {\n className += \" \".concat(prefixCls, \"-focused\");\n }\n } else {\n className += starValue <= value ? \" \".concat(prefixCls, \"-full\") : \" \".concat(prefixCls, \"-zero\");\n\n if (starValue === value && focused) {\n className += \" \".concat(prefixCls, \"-focused\");\n }\n }\n\n return className;\n }\n }, {\n key: \"render\",\n value: function render() {\n var onHover = this.onHover,\n onClick = this.onClick,\n onKeyDown = this.onKeyDown;\n var _this$props5 = this.props,\n disabled = _this$props5.disabled,\n prefixCls = _this$props5.prefixCls,\n character = _this$props5.character,\n characterRender = _this$props5.characterRender,\n index = _this$props5.index,\n count = _this$props5.count,\n value = _this$props5.value;\n var start = __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"li\", {\n className: this.getClassName()\n }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", {\n onClick: disabled ? null : onClick,\n onKeyDown: disabled ? null : onKeyDown,\n onMouseMove: disabled ? null : onHover,\n role: \"radio\",\n \"aria-checked\": value > index ? 'true' : 'false',\n \"aria-posinset\": index + 1,\n \"aria-setsize\": count,\n tabIndex: 0\n }, __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-first\")\n }, character), __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-second\")\n }, character)));\n\n if (characterRender) {\n start = characterRender(start, this.props);\n }\n\n return start;\n }\n }]);\n\n return Star;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\n_defineProperty(Star, \"propTypes\", {\n value: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,\n index: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,\n prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n allowHalf: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n disabled: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n onHover: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n character: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,\n characterRender: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n focused: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n count: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number\n});\n\n\n\n/***/ }),\n/* 810 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 811 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 812 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Drawer__ = __webpack_require__(118);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Drawer___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Drawer__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__taskList_TaskListContainer__ = __webpack_require__(392);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layers_TaskResultLayer__ = __webpack_require__(815);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_Tooltip__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_Tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_material_ui_Tooltip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_moment__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_moment__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n')) : void 0;\n return localTheme(this.outerTheme);\n }\n\n if (!this.outerTheme) {\n return localTheme;\n }\n\n return (0, _objectSpread2.default)({}, this.outerTheme, localTheme);\n }\n }, {\n key: \"render\",\n value: function render() {\n // TODO move the sheetsManager property to a different component.\n // warning(\n // typeof window !== 'undefined' || this.props.sheetsManager,\n // [\n // 'Material-UI: you need to provide a sheetsManager to the MuiThemeProvider ' +\n // 'when rendering on the server.',\n // 'If you do not, you might experience a memory leak',\n // ].join('\\n'),\n // );\n return this.props.children;\n }\n }]);\n return MuiThemeProvider;\n}(_react.default.Component);\n\nMuiThemeProvider.propTypes = false ? {\n /**\n * You can only provide a single element with react@15, a node with react@16.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * You can disable the generation of the styles with this option.\n * It can be useful when traversing the React tree outside of the HTML\n * rendering step on the server.\n * Let's say you are using react-apollo to extract all\n * the queries made by the interface server side.\n * You can significantly speed up the traversal with this property.\n */\n disableStylesGeneration: _propTypes.default.bool,\n\n /**\n * The sheetsManager is used to deduplicate style sheet injection in the page.\n * It's deduplicating using the (theme, styles) couple.\n * On the server, you should provide a new instance for each request.\n */\n sheetsManager: _propTypes.default.object,\n\n /**\n * A theme object.\n */\n theme: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]).isRequired\n} : {};\nMuiThemeProvider.propTypes = false ? (0, _exactProp.default)(MuiThemeProvider.propTypes, 'MuiThemeProvider') : {};\nMuiThemeProvider.childContextTypes = (0, _objectSpread2.default)({}, _themeListener.default.contextTypes, {\n muiThemeProviderOptions: _propTypes.default.object\n});\nMuiThemeProvider.contextTypes = (0, _objectSpread2.default)({}, _themeListener.default.contextTypes, {\n muiThemeProviderOptions: _propTypes.default.object\n});\nvar _default = MuiThemeProvider;\nexports.default = _default;\n\n/***/ }),\n/* 814 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nfunction createBroadcast (initialState) {\n var listeners = {};\n var id = 1;\n var _state = initialState;\n\n function getState () {\n return _state\n }\n\n function setState (state) {\n _state = state;\n var keys = Object.keys(listeners);\n var i = 0;\n var len = keys.length;\n for (; i < len; i++) {\n // if a listener gets unsubscribed during setState we just skip it\n if (listeners[keys[i]]) { listeners[keys[i]](state); }\n }\n }\n\n // subscribe to changes and return the subscriptionId\n function subscribe (listener) {\n if (typeof listener !== 'function') {\n throw new Error('listener must be a function.')\n }\n var currentId = id;\n listeners[currentId] = listener;\n id += 1;\n return currentId\n }\n\n // remove subscription by removing the listener function\n function unsubscribe (id) {\n listeners[id] = undefined;\n }\n\n return { getState: getState, setState: setState, subscribe: subscribe, unsubscribe: unsubscribe }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (createBroadcast);\n\n\n/***/ }),\n/* 815 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_rate__ = __webpack_require__(178);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__TaskResultLayer_css__ = __webpack_require__(393);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__TaskResultLayer_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__TaskResultLayer_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png__ = __webpack_require__(816);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png__ = __webpack_require__(817);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png__ = __webpack_require__(818);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_educoder__ = __webpack_require__(42);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i=2){// 没点评星 && 未评星 && 实训已发布(模拟实战可以继续)\nshowSnackbar('请先给该任务评星,谢谢。');return;}// 点击了查看效果,而非查看下一关\nif(!goNext){if(challenge.showWebDisplayButton===true&&challenge.webDisplayUrl){// 打开web效果查看页面\nwindow.open(challenge.webDisplayUrl,'_blank');return;}else{Object(__WEBPACK_IMPORTED_MODULE_8_educoder__[\"l\" /* trigger */])('showWebDisplayEvent');}}if(!game.star){// 当前关卡没有评星,评星后再跳转\nthis.props.saveChallengeStar(game,challenge.position);}// 跳转到下一关\n// https://stackoverflow.com/questions/29244731/react-router-how-to-manually-invoke-link\n// this.context.router.push('/sample');\nif(goNext===true){if(next_game){// https://www.trustie.net/issues/18573\nthis.goNext=true;}// 隐藏掉效果查看页面\nwindow.$('#picture_display').hide();}this.props.onGamePassed();this.setState({stared:false});}},{key:'_fakeRanking',value:function _fakeRanking(){var cost_time=this.props.game.cost_time;if(cost_time>60*10){return Math.floor(Math.random()*11)+20;}return Math.floor((600-cost_time)/600*100);}},{key:'render',value:function render(){var _this2=this;if(!this.props.challenge||!this.props.challenge.id){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null);}var shixun=this.props.shixun;var stared=this.state.stared;var _props2=this.props,currentGamePassed=_props2.currentGamePassed,currentPassedGameGainGold=_props2.currentPassedGameGainGold,currentPassedGameGainExperience=_props2.currentPassedGameGainExperience,game_count=_props2.game_count,challenge=_props2.challenge,next_game=_props2.next_game,game=_props2.game,closeTaskResultLayer=_props2.closeTaskResultLayer;// TODO closeTaskResultLayer的时候没有调用评星接口\n// 如果时最后一关,图片要换\nvar isLastGame=game_count===challenge.position;// false //\n// TODO 这个用法有点蹩脚\nif(this.goNext&&next_game){this.goNext=false;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router__[\"Redirect\"],{push:true,to:'/tasks/'+next_game});}if(shixun.status<=1){// 模拟实战\ngame.star=8;// 跳过评星\n}var titleObj={title:game.star?'':'请先给该任务评星,谢谢。'// const fakeRanking = this.fakeRanking;\n};return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,currentGamePassed?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'taskResultLayer'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'pr passTaskContent',style:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'far fa-times-circle closeIcon',onClick:closeTaskResultLayer,title:'\\u5173\\u95ED'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('img',{src:isLastGame?__WEBPACK_IMPORTED_MODULE_5__images_tpi_passall_png___default.a:__WEBPACK_IMPORTED_MODULE_6__images_tpi_passpart_png___default.a,width:'652px',className:'passTaskImg'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'winpPerson expGold'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'inline'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:' goldring'}),currentPassedGameGainGold>=0?'+'+currentPassedGameGainGold:'+0'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'inline exp'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('img',{src:__WEBPACK_IMPORTED_MODULE_7__images_tpi_empiricgreen_png___default.a,className:' mt5 fl'}),currentPassedGameGainExperience>=0?'+'+currentPassedGameGainExperience:'+0')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'winPanel'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),!game.star?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'rateLabel '},'\\u60A8\\u7684\\u8BC4\\u4EF7\\u51B3\\u5B9A\\u8001\\u5E08\\u7684\\u6C5F\\u6E56\\u5730\\u4F4D~'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_rc_rate__[\"a\" /* default */],{defaultValue:0,allowClear:false,onChange:function onChange(value){return _this2.onStarChange(_this2.props.game,_this2.props.challenge.position,value);}})):'',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',Object.assign({href:'javascript:void(0)',className:'passed '+(stared||game.star?'stared':'')},titleObj,{onClick:function onClick(){return _this2.onFinish(true);}}),next_game?'下一关':'完成'),challenge.showLanguagePictrue&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',Object.assign({href:'javascript:void(0)',className:'passed '+(stared||game.star?'stared':'')},titleObj,{onClick:function onClick(){return _this2.onFinish();}}),'查看效果'))))):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null));}}]);return TaskResultLayer;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (TaskResultLayer);\n\n/***/ }),\n/* 816 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"static/media/passall.46817e26.png\";\n\n/***/ }),\n/* 817 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"static/media/passpart.4aaf3e6b.png\";\n\n/***/ }),\n/* 818 */\n/***/ (function(module, exports) {\n\nmodule.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEMUNCRTZCNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEMUNCRTZDNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0QxQ0JFNjk0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0QxQ0JFNkE0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6xcnMrAAABN0lEQVR42qzTsUtCURTH8fskisZoa4ogcGhpcYuW+gsk+icyGiyEoNVB0i3EWYJwaG2Koj+gBiEqqIasRQlCHCJ8fU+cB4fLldS68BHO755zeQ/vi7L3q4vOuRMsu9HWNTZT/NTHGHY6U5cDMm78lUm5P65/OaDtZXsoB3or2PWythxQ9cInFHBrsjvNHr3eqhxQxIsJS5jAlsl29GlLJpOZooQ979HmsY9zHOMUZ8hjwfTJTC/iIkkR4RIruvmJJXQxhVhfaVr3ryCDcfIvSMM2+lpP4ghveMahGe5rb+z/jTeomXoNG1hH1uQ17f1ZySskaxYPmNH6FR9Ia/0O+XY6gy6SbByYes4MO93r/HYT5V40A3kzcGeCB3whF8hzujfUt3CBhqkbmo30McnFaan8oKZvAQYAarBDzHlRpVIAAAAASUVORK5CYII=\"\n\n/***/ }),\n/* 819 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _reactPopper = __webpack_require__(820);\n\nvar _helpers = __webpack_require__(39);\n\nvar _RootRef = _interopRequireDefault(__webpack_require__(372));\n\nvar _Portal = _interopRequireDefault(__webpack_require__(373));\n\nvar _common = _interopRequireDefault(__webpack_require__(225));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\n/* eslint-disable react/no-multi-comp, no-underscore-dangle */\nvar styles = function styles(theme) {\n return {\n // Will be gone once we drop React 15.x support.\n root: {\n display: 'inline-block',\n flexDirection: 'inherit' // Makes the wrapper more transparent.\n\n },\n popper: {\n zIndex: theme.zIndex.tooltip,\n pointerEvents: 'none',\n '&$open': {\n pointerEvents: 'auto'\n }\n },\n open: {},\n tooltip: {\n backgroundColor: theme.palette.grey[700],\n borderRadius: 2,\n color: _common.default.white,\n fontFamily: theme.typography.fontFamily,\n opacity: 0,\n transform: 'scale(0)',\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shortest,\n easing: theme.transitions.easing.easeIn\n }),\n minHeight: 0,\n padding: \"\".concat(theme.spacing.unit / 2, \"px \").concat(theme.spacing.unit, \"px\"),\n fontSize: theme.typography.pxToRem(10),\n lineHeight: \"\".concat(theme.typography.round(14 / 10), \"em\"),\n '&$open': {\n opacity: 0.9,\n transform: 'scale(1)',\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shortest,\n easing: theme.transitions.easing.easeOut\n })\n }\n },\n touch: {\n padding: \"\".concat(theme.spacing.unit, \"px \").concat(theme.spacing.unit * 2, \"px\"),\n fontSize: theme.typography.pxToRem(14),\n lineHeight: \"\".concat(theme.typography.round(16 / 14), \"em\")\n },\n tooltipPlacementLeft: (0, _defineProperty2.default)({\n transformOrigin: 'right center',\n margin: \"0 \".concat(theme.spacing.unit * 3, \"px\")\n }, theme.breakpoints.up('sm'), {\n margin: '0 14px'\n }),\n tooltipPlacementRight: (0, _defineProperty2.default)({\n transformOrigin: 'left center',\n margin: \"0 \".concat(theme.spacing.unit * 3, \"px\")\n }, theme.breakpoints.up('sm'), {\n margin: '0 14px'\n }),\n tooltipPlacementTop: (0, _defineProperty2.default)({\n transformOrigin: 'center bottom',\n margin: \"\".concat(theme.spacing.unit * 3, \"px 0\")\n }, theme.breakpoints.up('sm'), {\n margin: '14px 0'\n }),\n tooltipPlacementBottom: (0, _defineProperty2.default)({\n transformOrigin: 'center top',\n margin: \"\".concat(theme.spacing.unit * 3, \"px 0\")\n }, theme.breakpoints.up('sm'), {\n margin: '14px 0'\n })\n };\n};\n\nexports.styles = styles;\n\nfunction flipPlacement(placement) {\n switch (placement) {\n case 'bottom-end':\n return 'bottom-start';\n\n case 'bottom-start':\n return 'bottom-end';\n\n case 'top-end':\n return 'top-start';\n\n case 'top-start':\n return 'top-end';\n\n default:\n return placement;\n }\n}\n\nvar Tooltip =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Tooltip, _React$Component);\n\n function Tooltip(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Tooltip);\n _this = (0, _possibleConstructorReturn2.default)(this, (Tooltip.__proto__ || (0, _getPrototypeOf.default)(Tooltip)).call(this, props, context));\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {}\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"enterTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"leaveTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"touchTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"closeTimer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"popper\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"children\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoreNonTouchEvents\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n if (_this.popper) {\n _this.popper._popper.scheduleUpdate();\n }\n }, 166)\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props = _this.props,\n children = _this$props.children,\n enterDelay = _this$props.enterDelay;\n var childrenProps = children.props;\n\n if (event.type === 'focus' && childrenProps.onFocus) {\n childrenProps.onFocus(event);\n }\n\n if (event.type === 'mouseover' && childrenProps.onMouseOver) {\n childrenProps.onMouseOver(event);\n }\n\n if (_this.ignoreNonTouchEvents && event.type !== 'touchstart') {\n return;\n }\n\n clearTimeout(_this.enterTimer);\n clearTimeout(_this.leaveTimer);\n\n if (enterDelay) {\n event.persist();\n _this.enterTimer = setTimeout(function () {\n _this.handleOpen(event);\n }, enterDelay);\n } else {\n _this.handleOpen(event);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleOpen\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (!_this.isControlled) {\n _this.setState({\n open: true\n });\n }\n\n if (_this.props.onOpen) {\n _this.props.onOpen(event, true);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleLeave\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props2 = _this.props,\n children = _this$props2.children,\n leaveDelay = _this$props2.leaveDelay;\n var childrenProps = children.props;\n\n if (event.type === 'blur' && childrenProps.onBlur) {\n childrenProps.onBlur(event);\n }\n\n if (event.type === 'mouseleave' && childrenProps.onMouseLeave) {\n childrenProps.onMouseLeave(event);\n }\n\n clearTimeout(_this.enterTimer);\n clearTimeout(_this.leaveTimer);\n\n if (leaveDelay) {\n event.persist();\n _this.leaveTimer = setTimeout(function () {\n _this.handleClose(event);\n }, leaveDelay);\n } else {\n _this.handleClose(event);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (!_this.isControlled) {\n _this.setState({\n open: false\n });\n }\n\n if (_this.props.onClose) {\n _this.props.onClose(event, false);\n }\n\n clearTimeout(_this.closeTimer);\n _this.closeTimer = setTimeout(function () {\n _this.ignoreNonTouchEvents = false;\n }, _this.props.theme.transitions.duration.shortest);\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchStart\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.ignoreNonTouchEvents = true;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n enterTouchDelay = _this$props3.enterTouchDelay;\n var childrenProps = children.props;\n\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n\n clearTimeout(_this.leaveTimer);\n clearTimeout(_this.closeTimer);\n clearTimeout(_this.touchTimer);\n event.persist();\n _this.touchTimer = setTimeout(function () {\n _this.handleEnter(event);\n }, enterTouchDelay);\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleTouchEnd\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n var _this$props4 = _this.props,\n children = _this$props4.children,\n leaveTouchDelay = _this$props4.leaveTouchDelay;\n var childrenProps = children.props;\n\n if (childrenProps.onTouchEnd) {\n childrenProps.onTouchEnd(event);\n }\n\n clearTimeout(_this.touchTimer);\n clearTimeout(_this.leaveTimer);\n event.persist();\n _this.leaveTimer = setTimeout(function () {\n _this.handleClose(event);\n }, leaveTouchDelay);\n }\n });\n _this.isControlled = props.open != null;\n\n if (!_this.isControlled) {\n // not controlled, use internal state\n _this.state.open = false;\n }\n\n return _this;\n }\n\n (0, _createClass2.default)(Tooltip, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n false ? (0, _warning.default)(!this.children || !this.children.disabled || !this.children.tagName.toLowerCase() === 'button', ['Material-UI: you are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Place a `div` container on top of the element.'].join('\\n')) : void 0;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.enterTimer);\n clearTimeout(this.leaveTimer);\n clearTimeout(this.touchTimer);\n clearTimeout(this.closeTimer);\n this.handleResize.cancel();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n children = _props.children,\n classes = _props.classes,\n className = _props.className,\n disableFocusListener = _props.disableFocusListener,\n disableHoverListener = _props.disableHoverListener,\n disableTouchListener = _props.disableTouchListener,\n enterDelay = _props.enterDelay,\n enterTouchDelay = _props.enterTouchDelay,\n id = _props.id,\n leaveDelay = _props.leaveDelay,\n leaveTouchDelay = _props.leaveTouchDelay,\n onClose = _props.onClose,\n onOpen = _props.onOpen,\n openProp = _props.open,\n placementProp = _props.placement,\n _props$PopperProps = _props.PopperProps;\n _props$PopperProps = _props$PopperProps === void 0 ? {} : _props$PopperProps;\n var PopperClassName = _props$PopperProps.className,\n PopperProps = (0, _objectWithoutProperties2.default)(_props$PopperProps, [\"className\"]),\n theme = _props.theme,\n title = _props.title,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"classes\", \"className\", \"disableFocusListener\", \"disableHoverListener\", \"disableTouchListener\", \"enterDelay\", \"enterTouchDelay\", \"id\", \"leaveDelay\", \"leaveTouchDelay\", \"onClose\", \"onOpen\", \"open\", \"placement\", \"PopperProps\", \"theme\", \"title\"]);\n var placement = theme.direction === 'rtl' ? flipPlacement(placementProp) : placementProp;\n var open = this.isControlled ? openProp : this.state.open;\n var childrenProps = {\n 'aria-describedby': id\n }; // There is no point at displaying an empty tooltip.\n\n if (title === '') {\n open = false;\n }\n\n if (!disableTouchListener) {\n childrenProps.onTouchStart = this.handleTouchStart;\n childrenProps.onTouchEnd = this.handleTouchEnd;\n }\n\n if (!disableHoverListener) {\n childrenProps.onMouseOver = this.handleEnter;\n childrenProps.onMouseLeave = this.handleLeave;\n }\n\n if (!disableFocusListener) {\n childrenProps.onFocus = this.handleEnter;\n childrenProps.onBlur = this.handleLeave;\n }\n\n false ? (0, _warning.default)(!children.props.title, ['Material-UI: you have been providing a `title` property to the child of .', \"Remove this title property `\".concat(children.props.title, \"` or the Tooltip component.\")].join('\\n')) : void 0;\n return _react.default.createElement(_reactPopper.Manager, (0, _extends2.default)({\n tag: _reactDom.default.createPortal ? false : 'div',\n className: (0, _classnames.default)(classes.root, className)\n }, other), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), _react.default.createElement(_reactPopper.Target, null, function (_ref) {\n var targetProps = _ref.targetProps;\n return _react.default.createElement(_RootRef.default, {\n rootRef: function rootRef(node) {\n _this2.children = node;\n targetProps.ref(_this2.children);\n }\n }, _react.default.cloneElement(children, childrenProps));\n }), _react.default.createElement(_Portal.default, null, _react.default.createElement(_reactPopper.Popper, (0, _extends2.default)({\n placement: placement,\n eventsEnabled: open,\n className: (0, _classnames.default)(classes.popper, (0, _defineProperty2.default)({}, classes.open, open), PopperClassName),\n ref: function ref(node) {\n _this2.popper = node;\n }\n }, PopperProps), function (_ref2) {\n var popperProps = _ref2.popperProps,\n restProps = _ref2.restProps;\n var actualPlacement = (popperProps['data-placement'] || placement).split('-')[0];\n return _react.default.createElement(\"div\", (0, _extends2.default)({}, popperProps, restProps, {\n style: (0, _objectSpread2.default)({}, popperProps.style, {\n top: popperProps.style.top || 0,\n left: popperProps.style.left || 0\n }, restProps.style)\n }), _react.default.createElement(\"div\", {\n id: id,\n role: \"tooltip\",\n \"aria-hidden\": !open,\n className: (0, _classnames.default)(classes.tooltip, (0, _defineProperty2.default)({}, classes.open, open), (0, _defineProperty2.default)({}, classes.touch, _this2.ignoreNonTouchEvents), classes[\"tooltipPlacement\".concat((0, _helpers.capitalize)(actualPlacement))])\n }, title));\n })));\n }\n }]);\n return Tooltip;\n}(_react.default.Component);\n\nTooltip.propTypes = false ? {\n /**\n * Tooltip reference element.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * Do not respond to focus events.\n */\n disableFocusListener: _propTypes.default.bool,\n\n /**\n * Do not respond to hover events.\n */\n disableHoverListener: _propTypes.default.bool,\n\n /**\n * Do not respond to long press touch events.\n */\n disableTouchListener: _propTypes.default.bool,\n\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This property won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay: _propTypes.default.number,\n\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n */\n enterTouchDelay: _propTypes.default.number,\n\n /**\n * The relationship between the tooltip and the wrapper component is not clear from the DOM.\n * By providing this property, we can use aria-describedby to solve the accessibility issue.\n */\n id: _propTypes.default.string,\n\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This property won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay: _propTypes.default.number,\n\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n */\n leaveTouchDelay: _propTypes.default.number,\n\n /**\n * Callback fired when the tooltip requests to be closed.\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the tooltip requests to be open.\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * If `true`, the tooltip is shown.\n */\n open: _propTypes.default.bool,\n\n /**\n * Tooltip placement\n */\n placement: _propTypes.default.oneOf(['bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n\n /**\n * Properties applied to the `Popper` element.\n */\n PopperProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * Tooltip title. Zero-length titles string are never displayed.\n */\n title: _propTypes.default.node.isRequired\n} : {};\nTooltip.defaultProps = {\n disableFocusListener: false,\n disableHoverListener: false,\n disableTouchListener: false,\n enterDelay: 0,\n enterTouchDelay: 1000,\n leaveDelay: 0,\n leaveTouchDelay: 1500,\n placement: 'bottom'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTooltip',\n withTheme: true\n})(Tooltip);\n\nexports.default = _default;\n\n/***/ }),\n/* 820 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Manager__ = __webpack_require__(821);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Manager\", function() { return __WEBPACK_IMPORTED_MODULE_0__Manager__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Target__ = __webpack_require__(822);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Target\", function() { return __WEBPACK_IMPORTED_MODULE_1__Target__[\"a\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Popper__ = __webpack_require__(823);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Popper\", function() { return __WEBPACK_IMPORTED_MODULE_2__Popper__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"placements\", function() { return __WEBPACK_IMPORTED_MODULE_2__Popper__[\"b\"]; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Arrow__ = __webpack_require__(825);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"Arrow\", function() { return __WEBPACK_IMPORTED_MODULE_3__Arrow__[\"a\"]; });\n\n\n\n\n\n/***/ }),\n/* 821 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar Manager = function (_Component) {\n _inherits(Manager, _Component);\n\n function Manager() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Manager);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Manager.__proto__ || Object.getPrototypeOf(Manager)).call.apply(_ref, [this].concat(args))), _this), _this._setTargetNode = function (node) {\n _this._targetNode = node;\n }, _this._getTargetNode = function () {\n return _this._targetNode;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Manager, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n popperManager: {\n setTargetNode: this._setTargetNode,\n getTargetNode: this._getTargetNode\n }\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n tag = _props.tag,\n children = _props.children,\n restProps = _objectWithoutProperties(_props, ['tag', 'children']);\n\n if (tag !== false) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(tag, restProps, children);\n } else {\n return children;\n }\n }\n }]);\n\n return Manager;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nManager.childContextTypes = {\n popperManager: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\nManager.propTypes = {\n tag: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool]),\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\nManager.defaultProps = {\n tag: 'div'\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Manager);\n\n/***/ }),\n/* 822 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\nvar Target = function Target(props, context) {\n var _props$component = props.component,\n component = _props$component === undefined ? 'div' : _props$component,\n innerRef = props.innerRef,\n children = props.children,\n restProps = _objectWithoutProperties(props, ['component', 'innerRef', 'children']);\n\n var popperManager = context.popperManager;\n\n var targetRef = function targetRef(node) {\n popperManager.setTargetNode(node);\n if (typeof innerRef === 'function') {\n innerRef(node);\n }\n };\n\n if (typeof children === 'function') {\n var targetProps = { ref: targetRef };\n return children({ targetProps: targetProps, restProps: restProps });\n }\n\n var componentProps = _extends({}, restProps);\n\n if (typeof component === 'string') {\n componentProps.ref = targetRef;\n } else {\n componentProps.innerRef = targetRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(component, componentProps, children);\n};\n\nTarget.contextTypes = {\n popperManager: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\n\nTarget.propTypes = {\n component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Target);\n\n/***/ }),\n/* 823 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return placements; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_popper_js__ = __webpack_require__(824);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\nvar placements = __WEBPACK_IMPORTED_MODULE_2_popper_js__[\"a\" /* default */].placements;\n\nvar Popper = function (_Component) {\n _inherits(Popper, _Component);\n\n function Popper() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Popper);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Popper.__proto__ || Object.getPrototypeOf(Popper)).call.apply(_ref, [this].concat(args))), _this), _this.state = {}, _this._setArrowNode = function (node) {\n _this._arrowNode = node;\n }, _this._getTargetNode = function () {\n if (_this.props.target) {\n return _this.props.target;\n } else if (!_this.context.popperManager || !_this.context.popperManager.getTargetNode()) {\n throw new Error('Target missing. Popper must be given a target from the Popper Manager, or as a prop.');\n }\n return _this.context.popperManager.getTargetNode();\n }, _this._getOffsets = function (data) {\n return Object.keys(data.offsets).map(function (key) {\n return data.offsets[key];\n });\n }, _this._isDataDirty = function (data) {\n if (_this.state.data) {\n return JSON.stringify(_this._getOffsets(_this.state.data)) !== JSON.stringify(_this._getOffsets(data));\n } else {\n return true;\n }\n }, _this._updateStateModifier = {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n if (_this._isDataDirty(data)) {\n _this.setState({ data: data });\n }\n return data;\n }\n }, _this._getPopperStyle = function () {\n var data = _this.state.data;\n\n\n if (!_this._popper || !data) {\n return {\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0\n };\n }\n\n return _extends({\n position: data.offsets.popper.position\n }, data.styles);\n }, _this._getPopperPlacement = function () {\n return _this.state.data ? _this.state.data.placement : undefined;\n }, _this._getPopperHide = function () {\n return !!_this.state.data && _this.state.data.hide ? '' : undefined;\n }, _this._getArrowStyle = function () {\n if (!_this.state.data || !_this.state.data.offsets.arrow) {\n return {};\n } else {\n var _this$state$data$offs = _this.state.data.offsets.arrow,\n top = _this$state$data$offs.top,\n left = _this$state$data$offs.left;\n\n return { top: top, left: left };\n }\n }, _this._handlePopperRef = function (node) {\n _this._popperNode = node;\n if (node) {\n _this._createPopper();\n } else {\n _this._destroyPopper();\n }\n if (_this.props.innerRef) {\n _this.props.innerRef(node);\n }\n }, _this._scheduleUpdate = function () {\n _this._popper && _this._popper.scheduleUpdate();\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Popper, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n popper: {\n setArrowNode: this._setArrowNode,\n getArrowStyle: this._getArrowStyle\n }\n };\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(lastProps) {\n if (lastProps.placement !== this.props.placement || lastProps.eventsEnabled !== this.props.eventsEnabled || lastProps.target !== this.props.target) {\n this._destroyPopper();\n this._createPopper();\n }\n if (lastProps.children !== this.props.children) {\n this._scheduleUpdate();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._destroyPopper();\n }\n }, {\n key: '_createPopper',\n value: function _createPopper() {\n var _this2 = this;\n\n var _props = this.props,\n placement = _props.placement,\n eventsEnabled = _props.eventsEnabled,\n positionFixed = _props.positionFixed;\n\n var modifiers = _extends({}, this.props.modifiers, {\n applyStyle: { enabled: false },\n updateState: this._updateStateModifier\n });\n if (this._arrowNode) {\n modifiers.arrow = _extends({}, this.props.modifiers.arrow || {}, {\n element: this._arrowNode\n });\n }\n this._popper = new __WEBPACK_IMPORTED_MODULE_2_popper_js__[\"a\" /* default */](this._getTargetNode(), this._popperNode, {\n placement: placement,\n positionFixed: positionFixed,\n eventsEnabled: eventsEnabled,\n modifiers: modifiers\n });\n\n // TODO: look into setTimeout scheduleUpdate call, without it, the popper will not position properly on creation\n setTimeout(function () {\n return _this2._scheduleUpdate();\n });\n }\n }, {\n key: '_destroyPopper',\n value: function _destroyPopper() {\n if (this._popper) {\n this._popper.destroy();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _props2 = this.props,\n component = _props2.component,\n innerRef = _props2.innerRef,\n placement = _props2.placement,\n eventsEnabled = _props2.eventsEnabled,\n positionFixed = _props2.positionFixed,\n modifiers = _props2.modifiers,\n children = _props2.children,\n restProps = _objectWithoutProperties(_props2, ['component', 'innerRef', 'placement', 'eventsEnabled', 'positionFixed', 'modifiers', 'children']);\n\n var popperStyle = this._getPopperStyle();\n var popperPlacement = this._getPopperPlacement();\n var popperHide = this._getPopperHide();\n\n if (typeof children === 'function') {\n var popperProps = {\n ref: this._handlePopperRef,\n style: popperStyle,\n 'data-placement': popperPlacement,\n 'data-x-out-of-boundaries': popperHide\n };\n return children({\n popperProps: popperProps,\n restProps: restProps,\n scheduleUpdate: this._scheduleUpdate\n });\n }\n\n var componentProps = _extends({}, restProps, {\n style: _extends({}, restProps.style, popperStyle),\n 'data-placement': popperPlacement,\n 'data-x-out-of-boundaries': popperHide\n });\n\n if (typeof component === 'string') {\n componentProps.ref = this._handlePopperRef;\n } else {\n componentProps.innerRef = this._handlePopperRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(component, componentProps, children);\n }\n }]);\n\n return Popper;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nPopper.contextTypes = {\n popperManager: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object\n};\nPopper.childContextTypes = {\n popper: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\nPopper.propTypes = {\n component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n placement: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf(placements),\n eventsEnabled: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n positionFixed: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n modifiers: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n target: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([\n // the following check is needed for SSR\n __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.instanceOf(typeof Element !== 'undefined' ? Element : Object), __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({\n getBoundingClientRect: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,\n clientWidth: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number.isRequired,\n clientHeight: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number.isRequired\n })])\n};\nPopper.defaultProps = {\n component: 'div',\n placement: 'bottom',\n eventsEnabled: true,\n positionFixed: false,\n modifiers: {}\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popper);\n\n/***/ }),\n/* 824 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
    \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
    \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
    \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
    \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
    \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
    \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
    \n * It will read the variation of the `placement` property.
    \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
    \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
    \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
    \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
    \n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
    \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
    \n * These can be overridden using the `options` argument of Popper.js.
    \n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
    \n * By default, it is set to no-op.
    \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
    \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popper);\n//# sourceMappingURL=popper.js.map\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(20)))\n\n/***/ }),\n/* 825 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n\n\n\nvar Arrow = function Arrow(props, context) {\n var _props$component = props.component,\n component = _props$component === undefined ? 'span' : _props$component,\n innerRef = props.innerRef,\n children = props.children,\n restProps = _objectWithoutProperties(props, ['component', 'innerRef', 'children']);\n\n var popper = context.popper;\n\n var arrowRef = function arrowRef(node) {\n popper.setArrowNode(node);\n if (typeof innerRef === 'function') {\n innerRef(node);\n }\n };\n var arrowStyle = popper.getArrowStyle();\n\n if (typeof children === 'function') {\n var arrowProps = {\n ref: arrowRef,\n style: arrowStyle\n };\n return children({ arrowProps: arrowProps, restProps: restProps });\n }\n\n var componentProps = _extends({}, restProps, {\n style: _extends({}, arrowStyle, restProps.style)\n });\n\n if (typeof component === 'string') {\n componentProps.ref = arrowRef;\n } else {\n componentProps.innerRef = arrowRef;\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(component, componentProps, children);\n};\n\nArrow.contextTypes = {\n popper: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired\n};\n\nArrow.propTypes = {\n component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func]),\n innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Arrow);\n\n/***/ }),\n/* 826 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__MainContent__ = __webpack_require__(827);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__component_UpdateDrawer__ = __webpack_require__(1618);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash__ = __webpack_require__(157);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_lodash___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_lodash__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i评测等待通知

    \";if(flag==0){htmlvalue+=\"

    目前有\"+num+\"人正在等待评测,还需等待约\"+(mintes>0?mintes+\"分钟\":second+\"秒\")+\"。您可以先完成“下一关”任务。

    \";}else{htmlvalue+=\"

    目前有超过\"+num*10+\"人正在等待评测,请您稍后再试。您可以先完成其他关卡

    \";}htmlvalue+=\"
    \";if(flag==0){htmlvalue+=\"继续等待\";if(next_game){htmlvalue+=\"下一关\";}else{htmlvalue+=\"已经是最后一关啦\";}}else{htmlvalue+=\"知道啦\";if(next_game){htmlvalue+=\"下一关\";}else{htmlvalue+=\"已经是最后一关啦\";}}htmlvalue+=\"
    \";return htmlvalue;}/*更新通知*/function tip_half_update(){var htmlvalue=\"\";htmlvalue+=\"

    本次更新设计以下几个步骤,预计需要花费几分钟时间,请耐心等待~

    \";htmlvalue+=\"
      \";htmlvalue+=\"
    1. 更新版本库
    2. \";htmlvalue+=\"
    3. 同步评测机制
    \";htmlvalue+=\"
    \";htmlvalue+=\"知道啦\";htmlvalue+=\"
    \";return htmlvalue;}// ============================ ============================ ============================ ============================\n// ============================ ============================ ============================ ============================\nvar UPDATED=0;var SAVING=1;var SAVED=2;var SAVE_FAILED=3;var MainContentContainer=function(_Component){_inherits(MainContentContainer,_Component);function MainContentContainer(props){_classCallCheck(this,MainContentContainer);var _this=_possibleConstructorReturn(this,(MainContentContainer.__proto__||Object.getPrototypeOf(MainContentContainer)).call(this,props));_this.handleClose=function(){_this.setState({open:false});};_this.onRepositoryCodeUpdate=_this.onRepositoryCodeUpdate.bind(_this);_this.onRunCodeTest=_this.onRunCodeTest.bind(_this);_this.codemirrorDidMount=_this.codemirrorDidMount.bind(_this);_this.fetchRepositoryCode=_this.fetchRepositoryCode.bind(_this);_this.showResetCodeDialog=_this.showResetCodeDialog.bind(_this);_this.showResetPassedCodeDialog=_this.showResetPassedCodeDialog.bind(_this);_this.doFileUpdateRequestOnCodeMirrorBlur=_this.doFileUpdateRequestOnCodeMirrorBlur.bind(_this);_this.oldRepositoryCode='';_this.state={repositoryCode:'',open:false,// 繁忙等级等提示用Dialog,考虑重构封装到根组件\ngameBuilding:false,// 评测中标志\ncodeStatus:SAVED,// 0 已修改 1 保存中 2 已保存 3 保存失败\ncodeLoading:true,// code加载中\nreadRepoTimeout:false,// 加载代码轮训超时\nresetCodeDialogOpen:false,// 考虑重构封装到根组件\nresetPassedCodeDialogOpen:false,// 考虑重构封装到根组件\nisEditablePath:true};return _this;}// ------------------------------------------------\n// static childContextTypes = {\n// muiTheme: PropTypes.object\n// }\n// getChildContext() {\n// return {\n// muiTheme: getMuiTheme()\n// }\n// }\n// ------------------------------------------------\n_createClass(MainContentContainer,[{key:'shouldComponentUpdate',value:function shouldComponentUpdate(nextProps,nextState){// _.isEqual(this.props, nextProps)\nif(JSON.stringify(nextProps)!==JSON.stringify(this.props)||!__WEBPACK_IMPORTED_MODULE_7_lodash___default.a.isEqual(this.state,nextState)){return true;}else{return false;}}},{key:'componentWillReceiveProps',value:function componentWillReceiveProps(newProps,nContext){// 编程题才需要拿代码\nif(newProps.game&&newProps.st===0){if(!this.props||!this.props.game||newProps.game.identifier!==this.props.game.identifier){setTimeout(this.fetchRepositoryCode(newProps),1500);}else if(this.props.challenge.pathIndex!=newProps.challenge.pathIndex&&newProps.challenge.pathIndex!==-1){// 切换到只读文件\n// pathIndex切换\nsetTimeout(this.fetchRepositoryCode(newProps),1500);}}if(newProps.myshixun){var stageId=newProps.match.params.stageId;var shixunId=newProps.myshixun.identifier;// locationPath = `/myshixuns/${shixunId}/stages/${stageId}`\nlocationPath='/api/v1/games/'+newProps.game.identifier;next_game=newProps.next_game;}}// arg_path 点击文件目录树时,传入的点击节点对应的path\n},{key:'fetchRepositoryCode',value:function fetchRepositoryCode(props,arg_path,type,isRetry){var _this2=this;var _ref=props?props:this.props,challenge=_ref.challenge,showSnackbar=_ref.showSnackbar,game=_ref.game,shixun=_ref.shixun,hide_code=_ref.hide_code;if(hide_code){// 隐藏code的实训\nthis.setState({codeLoading:false});return;}var stageId=game.identifier;var path=void 0;var isEditablePath=false;if(arg_path){path=arg_path;if(challenge.multiPath){challenge.path.forEach(function(item){if(path==item){isEditablePath=true;}});}else if(path==challenge.path){isEditablePath=true;}}else{isEditablePath=true;path=challenge.multiPath?challenge.path[challenge.pathIndex]:challenge.path;}if(readingRepoTimes===0){this.setState({readRepoTimeout:false});}// http://localhost:3000/api/v1/games/zl6kx8f7vfpo/rep_content\nvar status=type?type:0;// type 1 目录树点击 默认 0: 正常代码加载\nvar fetchRepoCodeUrl='/api/v1/games/'+stageId+'/rep_content?path='+path+'&shixun_gpid='+shixun.gpid+'&status='+status+'&retry='+(isRetry?1:0);if(this.state.codeLoading===true&&this._cancel){// 多次请求,则cancel掉前面的请求\n// bug cancel掉第一次请求后,第二次请求也没法发出,先注释掉了\n// this._cancel();\n// this._cancel = null;\n}var that=this;this.setState({gameBuilding:false,codeLoading:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(fetchRepoCodeUrl,{withCredentials:true,cancelToken:new CancelToken(function executor(c){// An executor function receives a cancel function as a parameter\nthat._cancel=c;})}).then(function(fetchRepositoryCodeResponse){// 空字符串还是正常切换\nif(fetchRepositoryCodeResponse.data==null||fetchRepositoryCodeResponse.data==undefined){readingRepoTimes=readingRepoTimes+1;if(readingRepoTimes>29){_this2.setState({readRepoTimeout:true});readingRepoTimes=0;showSnackbar('\\u7F51\\u7EDC\\u5F02\\u5E38\\uFF0C\\u8BF7\\u7A0D\\u540E\\u91CD\\u8BD5\\u3002');return;}else{if(status===0){if(_this2.props.tpm_modified===true){_this2.props.onShowUpdateDialog();// 需要先更新代码才能fetch\n}else{setTimeout(function(){_this2.fetchRepositoryCode(props,arg_path,type);},1500);}}}}else if(fetchRepositoryCodeResponse.data&&fetchRepositoryCodeResponse.data.status===-1){_this2.setState({codeLoading:false});console.error('`获取代码失败!');showSnackbar('\\u83B7\\u53D6\\u4EE3\\u7801\\u5931\\u8D25\\uFF1A'+fetchRepositoryCodeResponse.data.message);}else{_this2.setState({isEditablePath:isEditablePath,currentPath:path});_this2.oldRepositoryCode=fetchRepositoryCodeResponse.data;_this2.updateRepositoryCode(fetchRepositoryCodeResponse.data,updateCodeMirror);}}).catch(function(error){console.log(error);});}},{key:'componentDidMount',value:function componentDidMount(){window.$(window.documents).bind(\"submitChoose\",function(){alert(\"hello world!\");});}},{key:'doFileUpdateRequestOnCodeMirrorBlur',value:function doFileUpdateRequestOnCodeMirrorBlur(){var _this3=this;var fileUpdatePromise=this.doFileUpdateRequest(true);if(fileUpdatePromise){fileUpdatePromise.then(function(resData){if(resData.status===-1){// 保存文件出现异常\n_this3.setState({codeStatus:SAVE_FAILED});return;}_this3.setState({codeStatus:SAVED});}).catch(function(e){console.log(e);_this3.setState({codeStatus:SAVE_FAILED});});}}},{key:'componentWillUnmount',value:function componentWillUnmount(){this.autoSaveInterval&&clearInterval(this.autoSaveInterval);}},{key:'codemirrorDidMount',value:function codemirrorDidMount(){var _this4=this;var editor_CodeMirror=window.editor_CodeMirror;// 失去焦点终止保存事件\neditor_CodeMirror.on('blur',function(cMirror){if(_this4.autoSaveInterval){clearInterval(_this4.autoSaveInterval);_this4.autoSaveInterval=null;}// const delay = 0;\n// if (this.refreshHtmlTimeout) {\t// 延迟setState还存在,则延迟fileupdate\n// setTimeout(()=> {\n_this4.doFileUpdateRequestOnCodeMirrorBlur();// }, 1500 + delay)\n// } else {\n// 避免和评测的file_update请求串到一起,延迟3s执行\n// setTimeout(()=> {\n// this.doFileUpdateRequestOnCodeMirrorBlur()\n// }, delay)\n// }\n});// 每60秒钟保存一次\neditor_CodeMirror.on('focus',function(cMirror){if(_this4.autoSaveInterval){return;}_this4.autoSaveInterval=setInterval(function(){// code变化时,,每30秒保存到数据库,没变化则不处理\nvar autoSave=true;var fileUpdatePromise=_this4.doFileUpdateRequest(true);if(fileUpdatePromise){fileUpdatePromise.then(function(resData){// TODO 保存失败的处理\n_this4.setState({codeStatus:SAVED});}).catch(function(e){console.log(e);});}},30000);});}},{key:'_refreshHtmlIframe',value:function _refreshHtmlIframe(newCode){// TODO 是否是html的code\nvar isHtmlCode=this.props.challenge.isHtml;if(isHtmlCode){// TODO 参考 _code_actions.html.erb 做link script标签替换\n// var $iframe = window.$('#htmlIframe');\n// $iframe.ready( () => {\n// $iframe.contents().find(\"body\").html(newCode || this.state.repositoryCode);\n// });\nwindow.tpi_html_show();}}},{key:'updateRepositoryCode',value:function updateRepositoryCode(newCode,callback){this.setState({codeLoading:false,repositoryCode:newCode},function(){callback&&callback();});this._refreshHtmlIframe(newCode);}},{key:'onRepositoryCodeUpdate',value:function onRepositoryCodeUpdate(newCode){var _this5=this;if(this.refreshHtmlTimeout){clearTimeout(this.refreshHtmlTimeout);}// 每2s刷新一次\nthis.setState({codeStatus:UPDATED});this.refreshHtmlTimeout=setTimeout(function(){// \tthis.setState({\n// \t\t// codeStatus: UPDATED,\n// repositoryCode: newCode\n// });\n_this5._refreshHtmlIframe(newCode);_this5.refreshHtmlTimeout=null;},1500);}// forTest true 是评测时触发的file_update\n},{key:'doFileUpdateRequest',value:function doFileUpdateRequest(checkIfCodeChanged,forTest){var codeStatus=this.state.codeStatus;if(!forTest&&codeStatus!==UPDATED){// 已修改状态才能保存\nreturn;}var codeContent=window['editor_CodeMirror']?window.editor_CodeMirror.getValue():this.state.repositoryCode;if(checkIfCodeChanged===true&&this.oldRepositoryCode==codeContent){// console.log('code not changed');\nthis.setState({codeStatus:SAVED});return null;}var _props=this.props,challenge=_props.challenge,output_sets=_props.output_sets,onRunCodeTestFinish=_props.onRunCodeTestFinish;var url=locationPath+'/file_update?path='+encodeURIComponent(challenge.path);this.setState({codeStatus:SAVING});this.oldRepositoryCode=codeContent;var argPath=void 0;if(challenge.pathIndex===-1){// 当前是只读文件\nargPath=challenge.multiPath===true?challenge.path[0]:challenge.path;}else{argPath=challenge.multiPath===true?challenge.path[challenge.pathIndex]:challenge.path;}// 跨域请求时会多一个options请求\n// https://github.com/axios/axios/issues/475\nreturn __WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url,{content:codeContent,evaluate:forTest===true?1:0,path:argPath},{withCredentials:true// headers: {\n// \t'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n// }\n});}},{key:'onRunChooseTest',value:function onRunChooseTest(){var _this6=this;var _props2=this.props,st=_props2.st,game=_props2.game,onRunChooseTestFinish=_props2.onRunChooseTestFinish,showSnackbar=_props2.showSnackbar;// 获取form表单值\nvar value=this.refs.mainContent.refs.chooseQ.getForm().getFieldsValue();var valueArray=[];// map转array\nvar unSelectOptionIndexArray=[];// 自己做未选提示\nfor(var key in value){if(!value[key]||__WEBPACK_IMPORTED_MODULE_7_lodash___default.a.isArray(value[key])&&!value[key].join('')[0]){unSelectOptionIndexArray.push(key);break;// 为空处理\n}// TODO array判断\nvalueArray[parseInt(key)]=__WEBPACK_IMPORTED_MODULE_7_lodash___default.a.isArray(value[key])?value[key].join(''):value[key];}if(unSelectOptionIndexArray.length){var unSelectOptionIndex=unSelectOptionIndexArray[0];var _unSelectOptionDom=window.$('#games_repository_contents #choice'+unSelectOptionIndex)[0];_unSelectOptionDom.scrollIntoView();showSnackbar('\\u8BF7\\u5148\\u7ED9\\u7B2C'+(parseInt(unSelectOptionIndex)+1)+'\\u9898\\u9009\\u62E9\\u4E00\\u4E2A\\u7B54\\u6848\\u3002');// , 'top', 'center'\n// 有未选择的题\nreturn;}// TODO 未选提示、props.onRunChooseTest\nconsole.log(unSelectOptionIndexArray);console.log('valueArray',valueArray);var url='/api/v1/games/'+game.identifier+'/choose_build';this.setState({gameBuilding:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.post(url,{answer:valueArray},{withCredentials:true// headers: {\n// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n// }\n}).then(function(response){if(response.data.test_sets){// 评测完成\nonRunChooseTestFinish(response.data);_this6.setState({gameBuilding:false});}console.log(response);}).catch(function(error){console.log(error);_this6.setState({gameBuilding:false});});}},{key:'setGameBuildFalse',value:function setGameBuildFalse(){this.setState({gameBuilding:false});}},{key:'onRunCodeTest',value:function onRunCodeTest(){var _this7=this;// tipContent(0, 100, 30, 360, 1)\n// return; // for test\nvar _props3=this.props,st=_props3.st,challenge=_props3.challenge,output_sets=_props3.output_sets,onRunCodeTestFinish=_props3.onRunCodeTestFinish,loading=_props3.loading,showDialog=_props3.showDialog,handleGdialogClose=_props3.handleGdialogClose,onPathChange=_props3.onPathChange;var isEditablePath=this.state.isEditablePath;if(isEditablePath===false){showDialog({contentText:'需要先切回可编辑的文件才可评测,确认要现在切换吗?',callback:function callback(){onPathChange(0);handleGdialogClose();}});return;}if(loading===true){return;// 还在加载中\n}if(st===1){// 选择题\nthis.onRunChooseTest();return;}// ---------------------- 以下是编程题处理 ----------------------\nconsole.log('onRunCodeTest onRunCodeTest');// http://localhost:3000/myshixuns/so5w6iap97/stages/zl6kx8f7vfpo/file_update?path=src%2Fstep6%2FLinkedList.java\n// var url = `${locationPath}/file_update?path=${encodeURIComponent(challenge.path)}`\n// var timeOut = parseInt(<%= @myshixun.main_mirror.try(:time_limit) %>); // 超时参数\nthis.setState({gameBuilding:true});this.doFileUpdateRequest(null,true).then(function(fileUpdateResponse){console.log(fileUpdateResponse);if(fileUpdateResponse.data.status===-1){// 保存文件出现异常\n_this7.setGameBuildFalse();_this7.setState({codeStatus:SAVE_FAILED});return;}_this7.setState({codeStatus:SAVED});_this7.gameBuild(fileUpdateResponse,1);}).catch(function(fileUpdateError){console.log(fileUpdateError);_this7.setGameBuildFalse();});}// 之前的task_commit方法\n},{key:'gameBuild',value:function gameBuild(fileUpdateResponse,first){var _this8=this;var _props4=this.props,st=_props4.st,challenge=_props4.challenge,output_sets=_props4.output_sets,onRunCodeTestFinish=_props4.onRunCodeTestFinish,showSnackbar=_props4.showSnackbar,time_limit=_props4.time_limit;var _fileUpdateResponse$d=fileUpdateResponse.data,resubmit=_fileUpdateResponse$d.resubmit,content_modified=_fileUpdateResponse$d.content_modified;var timeOut=time_limit;// http://localhost:3000/myshixuns/so5w6iap97/stages/zl6kx8f7vfpo/game_build?first=1&resubmit=GDBEX741_1993\nvar game_build_url=locationPath+'/game_build?first='+first+'&resubmit='+resubmit+'&content_modified='+content_modified;// var timeOut = parseInt(<%= @myshixun.main_mirror.try(:time_limit) %>); // 超时参数\n__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(game_build_url,{withCredentials:true}).then(function(gameBuildResponse){console.log(gameBuildResponse);// D:\\Code\\trustieplus\\app\\views\\games\\_code_actions.html.erb\nvar _gameBuildResponse$da=gameBuildResponse.data,port=_gameBuildResponse$da.port,ableToCreate=_gameBuildResponse$da.ableToCreate,waitNum=_gameBuildResponse$da.waitNum,waitingTime=_gameBuildResponse$da.waitingTime,had_done=_gameBuildResponse$da.had_done;// http://localhost:3000/myshixuns/so5w6iap97/stages/zl6kx8f7vfpo/game_status?resubmit=GDBEX741_1993&port=50241&time_out=false\nif(ableToCreate==1){var timeOutFlag=false;var intervalDuring=1000;var requestTimes=0;var gameStatusIntervalId=setInterval(function(){var game_status_url=locationPath+'/game_status?port='+port+'&resubmit='+(resubmit||\"\")+'&time_out='+timeOutFlag;__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(game_status_url,{withCredentials:true}).then(function(gameStatusResponse){requestTimes++;if(!gameStatusResponse.data){if(requestTimes>=timeOut-1){// 最后一次参数改为true\ntimeOutFlag=true;}return;}var status=gameStatusResponse.data.status;if(timeOutFlag===false&&(status===2||status===0)){// 网络太慢或服务处理较慢的情况下,可能这里会执行第二次\nconsole.log('clearIntervalclearIntervalclearIntervalclearInterval status2 0');clearInterval(gameStatusIntervalId);onRunCodeTestFinish(gameStatusResponse.data);_this8.setGameBuildFalse();timeOutFlag=true;// 用这个处理重复的获取status为2或0的状态\n}// 超时处理\nif(timeOutFlag===true){// clearInterval(gameStatusIntervalId);\nconsole.log('超时处理返回值');_this8._refreshHtmlIframe();_this8.setGameBuildFalse();return;}if(requestTimes>=timeOut-1){// 最后一次参数改为true\ntimeOutFlag=true;}}).catch(function(gameStatusError){console.log(gameStatusError);});if(timeOutFlag===true){clearInterval(gameStatusIntervalId);_this8.setState({open:true});}},intervalDuring);window.gameStatusIntervalId=gameStatusIntervalId;}else if(ableToCreate===0){// 排队等待,重新执行gameBuild\nvar mintes=parseInt(waitNum*120/60);// 等待时间 = 等待人数 * (15(秒)---3分钟的随机数);\ntipContent(ableToCreate,waitNum,mintes,waitNum*180,first);setTimeout(function(){_this8.gameBuild(fileUpdateResponse,first+1);},10000);_this8.setGameBuildFalse();}else if(ableToCreate==-1){// 排队人数过多,建议先玩下一关\ntipContent(ableToCreate,waitNum,0,0,first);_this8.setGameBuildFalse();}else{showSnackbar(\"实训云平台繁忙(繁忙等级:94),请稍后刷新并重试\");_this8.setGameBuildFalse();}}).catch(function(gameBuildError){console.log(gameBuildError);_this8.setGameBuildFalse();});}},{key:'handleResetCodeDialogClose',value:function handleResetCodeDialogClose(){this.setState({resetCodeDialogOpen:false});}},{key:'showResetCodeDialog',value:function showResetCodeDialog(){this.setState({resetCodeDialogOpen:true});}},{key:'doResetCode',value:function doResetCode(){var _this9=this;var _props5=this.props,game=_props5.game,challenge=_props5.challenge,showSnackbar=_props5.showSnackbar;this.handleResetCodeDialogClose();var path=challenge.path;if(challenge.multiPath){path=path[challenge.pathIndex];}var url='/api/v1/games/'+game.identifier+'/reset_original_code?path='+path;this.setState({codeLoading:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url,{withCredentials:true}).then(function(res){_this9.handleResetCodeDialogClose();if(res.data.status===-1){console.error('代码重置失败!');showSnackbar('加载初始的代码失败');return;}// \t\tthis.setState({\n// \tcodeLoading: false\n// })\n_this9.updateRepositoryCode(res.data,updateCodeMirror);}).catch(function(error){_this9.setState({codeLoading:false});});}},{key:'handleResetPassedCodeDialogClose',value:function handleResetPassedCodeDialogClose(){this.setState({resetPassedCodeDialogOpen:false});}},{key:'showResetPassedCodeDialog',value:function showResetPassedCodeDialog(){this.setState({resetPassedCodeDialogOpen:true});}},{key:'doResetPassedCode',value:function doResetPassedCode(){var _this10=this;this.handleResetPassedCodeDialogClose();var _props6=this.props,game=_props6.game,challenge=_props6.challenge,showSnackbar=_props6.showSnackbar;var path=challenge.path;if(challenge.multiPath){path=path[challenge.pathIndex];}var url='/api/v1/games/'+game.identifier+'/reset_passed_code?path='+path;this.setState({codeLoading:true});__WEBPACK_IMPORTED_MODULE_6_axios___default.a.get(url,{withCredentials:true}).then(function(res){_this10.handleResetPassedCodeDialogClose();if(res.data.status===-1){console.error('passed代码重置失败!');showSnackbar('加载上次通过的代码失败');return;}// 注意,最好是合并到一个setState, 这里分两次setState的话,触发了2次重新渲染\n// \t\tthis.setState({\n// \tcodeLoading: false\n// })\n_this10.updateRepositoryCode(res.data,updateCodeMirror);}).catch(function(error){_this10.setState({codeLoading:false});});}},{key:'render',value:function render(){var _this11=this;var _props7=this.props,challenge=_props7.challenge,output_sets=_props7.output_sets,time_limit=_props7.time_limit;// TODO 这里直接写死了,game_status在超时时也会返回这句话\nvar msg='\\u4EE3\\u7801\\u8BC4\\u6D4B\\u8D85\\u65F6\\uFF01\\u672C\\u5173\\u9650\\u5B9A\\u65F6\\u95F4\\u4E3A\\uFF1A'+time_limit+'s\\uFF0C\\u8BF7\\u68C0\\u67E5\\u4EE3\\u7801\\u662F\\u5426\\u5B58\\u5728\\u6B7B\\u5FAA\\u73AF\\u6216\\u5176\\u4ED6\\u8017\\u65F6\\u64CD\\u4F5C';return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:this.state.open,onClose:this.handleClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},msg)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{onClick:this.handleClose,color:'primary'},'\\u5173\\u95ED'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:this.state.resetCodeDialogOpen,onClose:function onClose(){return _this11.handleResetCodeDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{textAlign:'center'}},'\\u4F60\\u5728\\u672C\\u6587\\u4EF6\\u4E2D\\u4FEE\\u6539\\u7684\\u5185\\u5BB9\\u5C06\\u4E22\\u5931',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('br',null),'\\u662F\\u5426\\u786E\\u5B9A\\u91CD\\u65B0\\u52A0\\u8F7D\\u521D\\u59CB\\u4EE3\\u7801\\uFF1F')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{onClick:function onClick(){return _this11.handleResetCodeDialogClose();},color:'primary'},'\\u5173\\u95ED'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this11.doResetCode();},color:'primary'},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog___default.a,{open:this.state.resetPassedCodeDialogOpen,onClose:function onClose(){return _this11.handleResetPassedCodeDialogClose();}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{textAlign:'center'}},'\\u4F60\\u5728\\u672C\\u5173\\u4E2D\\u4FEE\\u6539\\u7684\\u5185\\u5BB9\\u5C06\\u4E22\\u5931',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('br',null),'\\u662F\\u5426\\u786E\\u5B9A\\u91CD\\u65B0\\u52A0\\u8F7D\\u4E0A\\u6B21\\u901A\\u8FC7\\u7684\\u4EE3\\u7801?')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{onClick:function onClick(){return _this11.handleResetPassedCodeDialogClose();},color:'primary'},'\\u5173\\u95ED'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{variant:'raised',onClick:function onClick(){return _this11.doResetPassedCode();},color:'primary'},'\\u786E\\u5B9A'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__component_UpdateDrawer__[\"a\" /* default */],Object.assign({},this.props,{fetchRepositoryCode:this.fetchRepositoryCode})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__MainContent__[\"a\" /* default */],Object.assign({ref:'mainContent'},this.props,{output_sets:output_sets},this.state,{onRepositoryCodeUpdate:this.onRepositoryCodeUpdate,onRunCodeTest:this.onRunCodeTest,codemirrorDidMount:this.codemirrorDidMount,fetchRepositoryCode:this.fetchRepositoryCode,showResetCodeDialog:this.showResetCodeDialog,showResetPassedCodeDialog:this.showResetPassedCodeDialog,doFileUpdateRequestOnCodeMirrorBlur:this.doFileUpdateRequestOnCodeMirrorBlur})));}}]);return MainContentContainer;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (MainContentContainer);\n\n/***/ }),\n/* 827 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__main_ActionView__ = __webpack_require__(828);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__main_LeftViewContainer__ = __webpack_require__(830);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__main_CodeRepositoryViewContainer__ = __webpack_require__(1545);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__main_CodeEvaluateView__ = __webpack_require__(1597);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__main_ChooseRepositoryView__ = __webpack_require__(1599);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__main_ChooseEvaluateView__ = __webpack_require__(1615);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_material_ui_Progress___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__tpiPage_css__ = __webpack_require__(1616);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__tpiPage_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9__tpiPage_css__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__tpiPageForMobile_css__ = __webpack_require__(1617);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__tpiPageForMobile_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__tpiPageForMobile_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i.resize-helper').position().top<100){window.$('.b-label>.resize-helper').css('top','200px');}},4000);$(\"body\").css(\"padding-right\",\"0px!important\");}},{key:'render',value:function render(){var _this2=this;var _props=this.props,challenge=_props.challenge,output_sets=_props.output_sets,onRunCodeTest=_props.onRunCodeTest,latest_output=_props.latest_output,record=_props.record,st=_props.st,readRepoTimeout=_props.readRepoTimeout,onTestSetHeaderClick=_props.onTestSetHeaderClick,loading=_props.loading,codeLoading=_props.codeLoading;// if (output_sets && output_sets.test_sets) {\n// \tconst test_sets_array = JSON.parse(\"[\" + output_sets.test_sets + \"]\");\n// \toutput_sets.test_sets_array = test_sets_array;\n// }\nvar games_repository_contents_style;if(st===1){games_repository_contents_style={overflow:'auto',height:'445px',backgroundColor:'#fff'};}else{games_repository_contents_style={overflow:'hidden',height:'445px'};}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'page--body -margin-t-64 -flex'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout -stretch -fit labelN',id:'game_show_content'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel--first -layout -vertical -flex -relative -flex-basic40',id:'game_left_contents',style:{width:'694px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__main_LeftViewContainer__[\"a\" /* default */],this.props)),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'b-label -layout',style:{left:'687px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'resize-helper '},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8_material_ui_Button___default.a,{variant:'fab','aria-label':'Swap',mini:true,onClick:this.onResizeButtonClick},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('svg',{style:{marginTop:'1px'},width:'16',height:'13',viewBox:'0 0 16 13'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('path',{d:'M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z'}))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel--second -layout -vertical -flex -relative -flex-basic50',id:'game_right_contents',style:{width:'996px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -flex'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -relative'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel -fit -vertical',id:'games_repository_valuation'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout -stretch -fit -vertical centerH'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout -vertical -flex -relative -flex-basic70 -bg-weightblack',id:'games_repository_contents',style:games_repository_contents_style},st===0?readRepoTimeout===true?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'readRepoFailed'},'\\u4EE3\\u7801\\u52A0\\u8F7D\\u5931\\u8D25\\uFF0C',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{className:'retry',onClick:function onClick(){return _this2.props.fetchRepositoryCode(_this2.props,null,null,true);}},'\\u91CD\\u8BD5')):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{display:codeLoading?'block':'none',marginLeft:'auto',marginRight:'auto',marginTop:'20%'}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{style:{display:codeLoading?'none':'block'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__main_CodeRepositoryViewContainer__[\"a\" /* default */],this.props))):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__main_ChooseRepositoryView__[\"a\" /* default */],Object.assign({ref:'chooseQ'},this.props))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'h-center',style:{top:'438px'}}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'split-panel--second -layout -vertical -flex -relative -bg-black -flex-basic60',id:'games_valuation_contents',style:{height:'258px'}},loading?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{marginLeft:'auto',marginRight:'auto',marginTop:'10%',display:'block'}}):st===0?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__main_CodeEvaluateView__[\"a\" /* default */],Object.assign({output_sets:output_sets,latest_output:latest_output,record:record,onTestSetHeaderClick:onTestSetHeaderClick},this.props)):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__main_ChooseEvaluateView__[\"a\" /* default */],this.props)))))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'actionView',className:'-layout-h -center -bg-grey-90 -grey-20 -bg-darkblack',style:{height:'48px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__main_ActionView__[\"a\" /* default */],Object.assign({onRunCodeTest:onRunCodeTest},this.props))))));}}]);return MainContent;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (MainContent);\n\n/***/ }),\n/* 828 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ActionView_css__ = __webpack_require__(829);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ActionView_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__ActionView_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i耗时:0 天 3 小时 11 分钟 57 秒 */},{key:'render',value:function render(){var _this2=this;var _props=this.props,onRunCodeTest=_props.onRunCodeTest,onShowPrevStage=_props.onShowPrevStage,onShowNextStage=_props.onShowNextStage,gameBuilding=_props.gameBuilding,game=_props.game,classes=_props.classes,st=_props.st,shixun=_props.shixun,record=_props.record,challenge=_props.challenge;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -layout-h',id:'game_operate_action'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'mt10 -flex c_grey ml15',id:'time-consuming'},!gameBuilding&&record?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip___default.a,{title:\"本次评测耗时\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',null,record,' \\u79D2')):\"\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{size:'small',className:classes.button+' actionViewfirstButton',onClick:function onClick(){return _this2.showWebDisplay(challenge);},style:{visibility:challenge.showWebDisplayButton?'':'hidden'}},'\\u67E5\\u770B\\u6548\\u679C'),!gameBuilding&&game&&!!game.prev_game?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__[\"b\" /* Link */],{to:'/tasks/'+game.prev_game,className:classes.buttonText},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{size:'small',className:classes.button},'\\u4E0A\\u4E00\\u5173')):'',!gameBuilding&&(game&&(game.status===2||shixun.status<2)||shixun&&shixun.task_pass)&&!!game.next_game?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__[\"b\" /* Link */],{to:'/tasks/'+game.next_game,className:classes.buttonText},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Button___default.a,{size:'small',className:classes.button},'\\u4E0B\\u4E00\\u5173')):'',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'code_test'},st===1&&game.status===2?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Tooltip___default.a,{title:\"已通关的选择题任务无法再次测评\"},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'shixun-task-btn mr15 gray'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'fa fa-play-circle font-16'}),'\\u6D4B\\u8BC4')):gameBuilding?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'shixun-task-btn mr15 gray'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'fa fa-play-circle font-16'}),'\\u6D4B\\u8BC4'):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'shixun-task-btn mr15 ',onClick:onRunCodeTest},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'fa fa-play-circle font-16'}),'\\u6D4B\\u8BC4')));/*\t\r\n\t \t离开\r\n\r\n\t \t下一关 \r\n\r\n\t\t\tonclick=\"training_task_submmit();\"\r\n\r\n\r\n\t\t\t{game && !!game.prev_game ? \r\n\t\t\t\t
    \r\n\t\t\t\t\t上一关\r\n\t\t\t\t
    \r\n\t\t\t\t\t: ''}\r\n\r\n\t\t\t\t{game && !!game.next_game ? \r\n\t\t\t\t
    \t\r\n\t\t\t\t\t下一关\r\n\t\t\t\t
    \r\n\t\t\t\t\t: ''}\r\n\t */}}]);return ActionView;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__[\"withStyles\"])(styles)(ActionView));\n\n/***/ }),\n/* 829 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 830 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__LeftView__ = __webpack_require__(831);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper__ = __webpack_require__(154);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_immutability_helper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_immutability_helper__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__comment_CommentsHOC__ = __webpack_require__(604);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__layers_ImageLayer__ = __webpack_require__(320);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_educoder__ = __webpack_require__(42);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i{debugger;$('#tab_nav_4')[0].click();}, 500)\nvar $=window.$;// TODO 多次load katex\n// TODO 从前一题切换到下一题,前一题的过关任务会闪现后再出现下一题的过关任务,考虑将loading的状态置后改动?\n// 任务切换重置state \nthis.setState({gameAnswer:''});window['__answerMarkdown']&&window.__answerMarkdown.setMarkdown('...');if(window['__task_md']){// 400ms后,等loading状态消失,调用setMarkdown才有效\nsetTimeout(function(){// 注意,如果md没完全初始化,调用setMarkdown会报this.cm.setValue空指针错误\nwindow['__task_md'].cm&&window['__task_md'].setMarkdown(newProps.challenge.task_pass);},400);this._initPropaedeuticsMarkdown(newProps);return;}else{// window.editormd.loadKaTeX( ()=> {\nthis._initMarkdown(newProps);// });\n}}// 切换了实训\nif(newProps.shixun&&newProps.challenge.shixun&&(!this.props||newProps.shixun.id!=this.props.shixun.id)){this.setState({gameAnswer:'',comments:[],comment_count_without_reply:0,currentPage:1,tabIndex:0});}}},{key:'_initPropaedeuticsMarkdown',value:function _initPropaedeuticsMarkdown(newProps){// challenge\nif(!newProps.shixun){return;}// TODO BUG 从选择题切换下一题到编程题,propaedeutics显示不出来\n// 如果watch设置为false,改变浏览器高度,editormd内容会消失\nif(!this.knowledge_md&&newProps.shixun.propaedeutics){this.knowledge_md=window.editormd(\"game_ready_knowledge\",{htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,mode:'markdown',path:path,toolbar:false,readOnly:true,watch:true,markdown:newProps.shixun.propaedeutics,tex:true,// 数学公式\nflowChart:false,// 默认不解析\nsequenceDiagram:false// 默认不解析\n// onload : function(){\n// this.previewing();\t// 注释了这个后,另一个md的onload previewing也不触发了\n// }\n});window.knowledge_md=this.knowledge_md;}else{newProps.shixun.propaedeutics&&this.knowledge_md.setMarkdown(newProps.shixun.propaedeutics);}}},{key:'_initMarkdown',value:function _initMarkdown(newProps){var _this2=this;this.task_md=window.editormd(\"game_task_pass\",{htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,mode:'markdown',path:path,toolbar:false,readOnly:true,watch:true,markdown:newProps.challenge.task_pass,tex:true,// 数学公式\nflowChart:false,// 默认不解析\nsequenceDiagram:false,// 默认不解析\nonload:function onload(){try{this.previewing();}catch(e){this.previewing();console.error(e);}// 改动了editormd源码,codemirror对象存在的话就不重新加载codemirror脚本,避免merge被覆盖掉\n// window.editormd.loadScript(\"js/merge.js\", function() {\n// });\n}});window.__task_md=this.task_md;// 过关任务 imagelayer的处理:\n$(\"#game_task_pass\").delegate(\"img\",\"click\",function(event){var imageSrc=event.target.src;_this2.setState({showImage:true,imageSrc:imageSrc});});// 初始化知识背景\nthis._initPropaedeuticsMarkdown(newProps);}},{key:'componentDidMount',value:function componentDidMount(){var _this3=this;this.newMessageIntervalRet=setInterval(function(){var _props=_this3.props,shixun=_props.shixun,myshixun=_props.myshixun;if(shixun&&shixun.id){// TODO 用了HOC后,会多执行一次interval,而且props里没有HOC里的方法\n_this3.props.newMessage&&_this3.props.newMessage();}},1000*60*1);}},{key:'componentWillUnmount',value:function componentWillUnmount(){this.newMessageIntervalRet&&clearInterval(this.newMessageIntervalRet);$(\"#game_left_contents #tab_con_4\").undelegate();}},{key:'handleDialogClose',value:function handleDialogClose(){this.setState({dialogOpen:false});}},{key:'fetchIfCouldGetAnswerWithoutGold',value:function fetchIfCouldGetAnswerWithoutGold(){var _this4=this;// 查看是否有权限直接查看,true可以直接查看,false需要扣金币查看\nvar getAnswerUrl='/api/v1/games/'+this.props.game.identifier+'/answer';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(getAnswerUrl,{withCredentials:true}).then(function(response){if(response.data.status==0){_this4.props.showSnackbar(response.data.message);return;}/*\r\n\t\t\t\t\t将扣除XXX点金币,是否确认查看答案     \r\n\r\n\t\t\t\t\t已经过职业认证的教师可以免金币查看答案哟\r\n\t\t\t\t\t继续查看 立即认证(新开页)\r\n\t\t\t \t*/if(response.data.status==-1){console.error('获取任务答案失败!');return;}var is_teacher=response.data.is_teacher;if(response.data.view_answer===true){_this4.showAnswer(response.data.answer);}else{// 三个角色 普通用户、未认证教师、已认证教师,这里要区分普通用户和未认证教师用户\nif(is_teacher){_this4.setState({is_teacher:true});}else{_this4.setState({is_teacher:false});}_this4.setState({dialogOpen:true});}}).catch(function(error){console.log(error);});}},{key:'showAnswer',value:function showAnswer(gameAnswer){var _this5=this;this.setState({tabIndex:2,dialogOpen:false,gameAnswer:gameAnswer},function(){if(_this5.props.st===1){return;}// 编程题才需要用markdown处理\n// TODO 选择题切到编程题后,编程题答案markdown没显示出来\ngameAnswer=gameAnswer||'暂未提供答案';if(!window['__answerMarkdown']){_this5._initAnswerMarkdown(gameAnswer);}else{window.__answerMarkdown.setMarkdown(gameAnswer);}// 不能setMarkdown的写法:初始化answer\n// window.answerMarkdown = window.editormd.markdownToHTML(\"game_answer_show\", {\n// htmlDecode : \"style,script,iframe\", // you can filter tags decode\n// taskList : true,\n// tex : false, // 数学公式\n// flowChart : true, // 默认不解析\n// sequenceDiagram : true // 默认不解析\n// });\n});}},{key:'_initAnswerMarkdown',value:function _initAnswerMarkdown(gameAnswer){window.__answerMarkdown=window.editormd(\"game_answer_show\",{htmlDecode:\"style,script,iframe\",// you can filter tags decode\ntaskList:true,mode:'markdown',path:path,toolbar:false,readOnly:true,watch:true,markdown:gameAnswer,tex:true,// 数学公式\nflowChart:false,// 默认不解析\nsequenceDiagram:false,// 默认不解析\nonload:function onload(){this.previewing();// 为了解决切换一次关卡后,再点击答案,看不到答案的问题\nthis.setMarkdown(gameAnswer);}});}},{key:'handleDialogReadAnswer',value:function handleDialogReadAnswer(){var _this6=this;var getAnswerUrl='/api/v1/games/'+this.props.game.identifier+'/answer_grade';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(getAnswerUrl,{withCredentials:true}).then(function(response){// {message: \"您没有足够的金币\", status: -1}\nif(response.data.status==0){_this6.props.showSnackbar(response.data.message);return;}if(response.data.status==-1){console.error('获取任务答案失败!');return;}var gameAnswer=response.data.answer;var final_score=response.data.final_score;var grade=response.data.grade;_this6.props.readGameAnswer({final_score:final_score,grade:grade});_this6.showAnswer(gameAnswer);}).catch(function(error){console.log(error);});}},{key:'render',// /shixuns/mnf6b7z3/shixun_discuss?challenge_id=88\nvalue:function render(){var challenge=this.props.challenge;var tabIndex=this.state.tabIndex;return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__layers_ImageLayer__[\"a\" /* default */],Object.assign({},this.state,{onImageLayerClose:this.onImageLayerClose})),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__LeftView__[\"a\" /* default */],Object.assign({},this.props,{tabIndexChange:this.tabIndexChange},this.state,{tabIndex:tabIndex,handleDialogReadAnswer:this.handleDialogReadAnswer,handleDialogClose:this.handleDialogClose,showNewReply:this.showNewReply,createNewComment:this.createNewComment})));}}]);return LeftViewContainer;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/*\r\n\tcreateNewComment={this.createNewComment}\r\n\t\t \t\tfetchCommentIfNotFetched={this.fetchCommentIfNotFetched}\r\n\t\t \t\treplyComment={this.replyComment}\r\n\t\t \t\tdeleteComment={this.deleteComment}\r\n\t\t \t\tcommentPraise={this.commentPraise}\r\n\t\t \t\thiddenComment={this.hiddenComment}\r\n\t\t \t\trewardCode={this.rewardCode}\r\n\t\t \t\tshowNewReply={this.showNewReply}\r\n\t\t \t\tonPaginationChange={this.onPaginationChange}\r\n\r\n*//* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_4__comment_CommentsHOC__[\"a\" /* commentHOC */])(LeftViewContainer));\n\n/***/ }),\n/* 831 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_content_loader__ = __webpack_require__(832);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Progress___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_material_ui_Button__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton__ = __webpack_require__(139);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__comment_CommentContainer__ = __webpack_require__(600);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__comment_CommentInput__ = __webpack_require__(398);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_markdown__ = __webpack_require__(874);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_markdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_markdown__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__component_ChooseAnswerView__ = __webpack_require__(952);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__answer_AnswerListContainer__ = __webpack_require__(987);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__leftView_css__ = __webpack_require__(1544);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__leftView_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13__leftView_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i,\n// ,\n// ];\nreturn __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog___default.a,{open:dialogOpen,onClose:handleDialogClose},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogTitle\"],{id:'alert-dialog-title'},\"提示\"),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogContent\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogContentText\"],{id:'alert-dialog-description',style:{textAlign:'center'}},is_teacher?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5DF2\\u7ECF\\u8FC7\\u804C\\u4E1A\\u8BA4\\u8BC1\\u7684\\u6559\\u5E08\\u53EF\\u4EE5\\u514D\\u91D1\\u5E01\\u67E5\\u770B\\u7B54\\u6848\\u54DF~'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5C06\\u6263\\u9664'+challenge.score+'\\u70B9\\u91D1\\u5E01\\uFF0C\\u662F\\u5426\\u786E\\u8BA4\\u67E5\\u770B\\u7B54\\u6848')):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5148\\u67E5\\u770B\\u53C2\\u8003\\u7B54\\u6848\\uFF0C\\u518D\\u901A\\u8FC7\\u8BC4\\u6D4B\\u7684\\u5B66\\u751F\\uFF0C\\u5B9E\\u8BAD\\u4F5C\\u4E1A\\u6709\\u53EF\\u80FD\\u662F\\u96F6\\u5206\\u54E6~'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u5C06\\u6263\\u9664'+challenge.score+'\\u70B9\\u91D1\\u5E01\\uFF0C\\u662F\\u5426\\u786E\\u8BA4\\u67E5\\u770B\\u7B54\\u6848')))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_material_ui_Dialog__[\"DialogActions\"],null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default.a,{onClick:handleDialogClose,color:'primary'},'\\u53D6\\u6D88'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default.a,{size:'medium',variant:is_teacher?\"flat\":\"raised\",onClick:handleDialogReadAnswer,color:'primary',autoFocus:true},is_teacher?'继续查看':'确定'),is_teacher?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5_material_ui_Button___default.a,{size:'small',variant:'raised',style:{marginRight:'20px'},onClick:function onClick(){return _this2.goToCertification();},color:'primary'},'立即认证'):'')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-fit -layout-v'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -flex -bg-white -task-ml80'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'task_name_section',className:'task_name_section'},loading?\"\":__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Fragment,null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_material_ui_Tooltip___default.a,{title:\"点击查看全部任务\",disableFocusListener:true},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_material_ui_IconButton___default.a,{color:'default',mini:true,'aria-label':'edit',className:classes.button,onClick:onDrawerButtonClick},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:\"fa font-18 fa-list-ul\"}))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('h3',{className:'subject'},'\\u7B2C',challenge.position,'\\u5173\\uFF1A',challenge.subject),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'btn-cir-big fr mt8 mr15'},challenge.score))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('ul',{id:'tab_nav',className:'-tab-nav'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_1',className:tabIndex===0?'tab_hover':'',onClick:function onClick(){return tabIndexChange(0);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type',style:{fontSize:'16px'}},'\\u8FC7\\u5173\\u4EFB\\u52A1')),propaedeutics&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_2',className:tabIndex===1?'tab_hover':'',onClick:function onClick(){return tabIndexChange(1);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type'},'\\u80CC\\u666F\\u77E5\\u8BC6')),_hasAnswer&&__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_3',className:tabIndex===2?'tab_hover':'',onClick:function onClick(){return tabIndexChange(2);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type',style:{fontSize:'16px'}},'\\u53C2\\u8003\\u7B54\\u6848')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_5',className:tabIndex===4?'tab_hover':'',onClick:function onClick(){return tabIndexChange(4);},style:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0);',className:'tab_type',style:{fontSize:'16px'}},'TA\\u4EBA\\u89E3\\u7B54')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{id:'tab_nav_4',className:tabIndex===3?'tab_hover':'',onClick:function onClick(){return tabIndexChange(3);}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'javascript:void(0)',className:'tab_type',style:{fontSize:'16px'},'data-remote':'true'},'\\u8BC4\\u8BBA',__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{id:'discusses_count',className:'edu-cir-grey1',style:{lineHeight:'18px!important'}},discusses_count||\"\")))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -relative greytab-inner'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_1',className:'tab-info',style:tabIndex===0?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},loading?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li break_word markdown-body editormd-html-preview',unselectable:'on'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,className:'circularProgress',style:{marginLeft:'auto',marginRight:'auto',marginTop:'40% !important',display:'block'}})):\"\",__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li break_word markdown-body editormd-html-preview',unselectable:'on',id:'game_task_pass',style:loading?{display:'none'}:{}})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_2',className:'tab-info',style:tabIndex===1?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li markdown-body editormd-html-preview',unselectable:'on',id:'game_ready_knowledge'})))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_3',className:'tab-info',style:tabIndex===2?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li',id:'game_answer_show',style:{display:st===0?'block':'none'}}),st===1?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-flex -scroll task-padding16 panel-box-sizing new_li',id:'game_answer_show_choose'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10__component_ChooseAnswerView__[\"a\" /* default */],{gameAnswer:gameAnswer})):''))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_5',className:'tab-info',style:tabIndex===4?{display:'block'}:{display:'none'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'fit -scroll'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'-layout-v -fit'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_12__answer_AnswerListContainer__[\"a\" /* default */],this.props)))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'tab_con_4',className:'tab-info commentsDelegateParent',style:tabIndex===3?{display:'block'}:{display:'none'}},loadingComments?__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4_material_ui_Progress__[\"CircularProgress\"],{size:40,thickness:3,style:{marginLeft:'auto',marginRight:'auto',marginTop:'40%',display:'block'}}):__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__comment_CommentContainer__[\"default\"],this.props))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'mini_comment_section'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__comment_CommentInput__[\"a\" /* default */],Object.assign({challenge:challenge},this.props))))));}}]);return LeftView;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);// \n// {/**/}\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_11_material_ui_styles__[\"withStyles\"])(styles)(LeftView));\n\n/***/ }),\n/* 832 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export Facebook */\n/* unused harmony export Instagram */\n/* unused harmony export Code */\n/* unused harmony export List */\n/* unused harmony export BulletList */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar uid = (function () {\n return Math.random().toString(36).substring(2);\n});\n\nvar Svg = (function (_ref) {\n var animate = _ref.animate,\n ariaLabel = _ref.ariaLabel,\n children = _ref.children,\n className = _ref.className,\n height = _ref.height,\n preserveAspectRatio = _ref.preserveAspectRatio,\n primaryColor = _ref.primaryColor,\n primaryOpacity = _ref.primaryOpacity,\n rtl = _ref.rtl,\n secondaryColor = _ref.secondaryColor,\n secondaryOpacity = _ref.secondaryOpacity,\n speed = _ref.speed,\n style = _ref.style,\n uniquekey = _ref.uniquekey,\n width = _ref.width,\n props = _objectWithoutPropertiesLoose(_ref, [\"animate\", \"ariaLabel\", \"children\", \"className\", \"height\", \"preserveAspectRatio\", \"primaryColor\", \"primaryOpacity\", \"rtl\", \"secondaryColor\", \"secondaryOpacity\", \"speed\", \"style\", \"uniquekey\", \"width\"]);\n\n var idClip = uniquekey ? uniquekey + \"-idClip\" : uid();\n var idGradient = uniquekey ? uniquekey + \"-idGradient\" : uid();\n var defautlAnimation = [\"-3; 1\", \"-2; 2\", \"-1; 3\"];\n var rtlAnimation = [\"1; -3\", \"2; -2\", \"3; -1\"];\n var animationValues = rtl ? rtlAnimation : defautlAnimation;\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"svg\", _extends({\n role: \"img\",\n style: style,\n className: className,\n \"aria-labelledby\": ariaLabel ? ariaLabel : null,\n viewBox: \"0 0 \" + width + \" \" + height,\n preserveAspectRatio: preserveAspectRatio\n }, props), ariaLabel ? Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"title\", null, ariaLabel) : null, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n width: width,\n height: height,\n clipPath: \"url(#\" + idClip + \")\",\n style: {\n fill: \"url(#\" + idGradient + \")\"\n }\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"defs\", null, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"clipPath\", {\n id: idClip\n }, children), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"linearGradient\", {\n id: idGradient\n }, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"stop\", {\n offset: \"0%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[0],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"stop\", {\n offset: \"50%\",\n stopColor: secondaryColor,\n stopOpacity: secondaryOpacity\n }, animate && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[1],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"stop\", {\n offset: \"100%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[2],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })))));\n});\n\nvar defaultProps = {\n animate: true,\n ariaLabel: \"Loading interface...\",\n height: 130,\n preserveAspectRatio: \"xMidYMid meet\",\n primaryColor: \"#f0f0f0\",\n primaryOpacity: 1,\n rtl: false,\n secondaryColor: \"#e0e0e0\",\n secondaryOpacity: 1,\n speed: 2,\n width: 400\n};\n\nvar InitialComponent = function InitialComponent(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"5\",\n ry: \"5\",\n width: props.width,\n height: props.height\n });\n};\n\nvar Holder = (function (props) {\n var mergedProps = _extends({}, defaultProps, props);\n\n var children = props.children ? props.children : Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(InitialComponent, mergedProps);\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Svg, mergedProps, children);\n});\n\nvar FacebookStyle = function FacebookStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"70\",\n y: \"15\",\n rx: \"4\",\n ry: \"4\",\n width: \"117\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"70\",\n y: \"35\",\n rx: \"3\",\n ry: \"3\",\n width: \"85\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"350\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"380\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"120\",\n rx: \"3\",\n ry: \"3\",\n width: \"201\",\n height: \"6.4\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }));\n};\n\nvar InstagramStyle = function InstagramStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, _extends({}, props, {\n height: 480\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"75\",\n y: \"13\",\n rx: \"4\",\n ry: \"4\",\n width: \"100\",\n height: \"13\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"75\",\n y: \"37\",\n rx: \"4\",\n ry: \"4\",\n width: \"50\",\n height: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"70\",\n rx: \"5\",\n ry: \"5\",\n width: \"400\",\n height: \"400\"\n }));\n};\n\nvar CodeStyle = function CodeStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"70\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"80\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"100\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"190\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"10\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"15\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"155\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"15\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"90\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"115\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"185\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"30\",\n height: \"10\"\n }));\n};\n\nvar ListStyle = function ListStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"170\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"200\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"20\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"80\",\n height: \"10\"\n }));\n};\n\nvar BulletListStyle = function BulletListStyle(props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(Holder, props, Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"20\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"15\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"50\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"45\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"80\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"75\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"circle\", {\n cx: \"10\",\n cy: \"110\",\n r: \"8\"\n }), Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\"rect\", {\n x: \"25\",\n y: \"105\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }));\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Holder);\n\n\n\n/***/ }),\n/* 833 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _colorManipulator = __webpack_require__(113);\n\nvar _ButtonBase = _interopRequireDefault(__webpack_require__(176));\n\nvar _helpers = __webpack_require__(39);\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n width: 48,\n height: 48,\n padding: 0,\n borderRadius: '50%',\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n },\n colorInherit: {\n color: 'inherit'\n },\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n disabled: {},\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/style/icons) section of the documentation\n * regarding the available icon options.\n */\n\n\nexports.styles = styles;\n\nfunction IconButton(props) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n className = props.className,\n color = props.color,\n disabled = props.disabled,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"disabled\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames), className),\n centerRipple: true,\n focusRipple: true,\n disabled: disabled\n }, other), _react.default.createElement(\"span\", {\n className: classes.label\n }, children));\n}\n\nIconButton.propTypes = false ? {\n /**\n * The icon element.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple will be disabled.\n */\n disableRipple: _propTypes.default.bool\n} : {};\nIconButton.defaultProps = {\n color: 'default',\n disabled: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiIconButton'\n})(IconButton);\n\nexports.default = _default;\n\n/***/ }),\n/* 834 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Pager__ = __webpack_require__(857);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Options__ = __webpack_require__(858);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__KeyCode__ = __webpack_require__(396);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__locale_zh_CN__ = __webpack_require__(859);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_lifecycles_compat__ = __webpack_require__(11);\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.pageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nvar Pagination = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Pagination, _React$Component);\n\n function Pagination(props) {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Pagination);\n\n var _this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Pagination.__proto__ || Object.getPrototypeOf(Pagination)).call(this, props));\n\n _initialiseProps.call(_this);\n\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n\n var current = props.defaultCurrent;\n if ('current' in props) {\n current = props.current;\n }\n\n var pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = props.pageSize;\n }\n\n _this.state = {\n current: current,\n currentInputValue: current,\n pageSize: pageSize\n };\n return _this;\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(Pagination, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector('.' + prefixCls + '-item-' + prevState.current);\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.props.hideOnSinglePage === true && this.props.total <= this.state.pageSize) {\n return null;\n }\n\n var props = this.props;\n var locale = props.locale;\n\n var prefixCls = props.prefixCls;\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n\n var goButton = props.showQuickJumper && props.showQuickJumper.goButton;\n var pageBufferSize = props.showLessItems ? 1 : 2;\n var _state = this.state,\n current = _state.current,\n pageSize = _state.pageSize;\n\n\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n\n var dataOrAriaAttributeProps = Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n\n if (props.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'span',\n {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n goButton\n );\n }\n gotoButton = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? '' + locale.jump_to + this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n gotoButton\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'ul',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n className: prefixCls + ' ' + prefixCls + '-simple ' + props.className,\n style: props.style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: (this.hasPrev() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': !this.hasPrev()\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement('input', {\n type: 'text',\n value: this.state.currentInputValue,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n size: '3'\n }),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'span',\n { className: prefixCls + '-slash' },\n '\\uFF0F'\n ),\n allPages\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: (this.hasNext() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': !this.hasNext()\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n gotoButton\n );\n }\n\n if (allPages <= 5 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n };\n if (!allPages) {\n pagerList.push(__WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, pagerProps, {\n key: 'noPager',\n page: allPages,\n className: prefixCls + '-disabled'\n })));\n }\n for (var i = 1; i <= allPages; i++) {\n var active = this.state.current === i;\n pagerList.push(__WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = props.showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = props.showLessItems ? locale.next_3 : locale.next_5;\n if (props.showPrevNextJumpers) {\n var jumpPrevClassString = prefixCls + '-jump-prev';\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ' ' + prefixCls + '-jump-prev-custom-icon';\n }\n jumpPrev = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? prevItemTitle : null,\n key: 'prev',\n onClick: this.jumpPrev,\n tabIndex: '0',\n onKeyPress: this.runIfEnterJumpPrev,\n className: jumpPrevClassString\n },\n props.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(props.jumpPrevIcon))\n );\n var jumpNextClassString = prefixCls + '-jump-next';\n if (props.jumpNextIcon) {\n jumpNextClassString += ' ' + prefixCls + '-jump-next-custom-icon';\n }\n jumpNext = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? nextItemTitle : null,\n key: 'next',\n tabIndex: '0',\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: jumpNextClassString\n },\n props.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(props.jumpNextIcon))\n );\n }\n lastPager = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], {\n locale: props.locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n firstPager = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i++) {\n var _active = current === _i;\n pagerList.push(__WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__Pager__[\"a\" /* default */], {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n }));\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(pagerList[0], {\n className: prefixCls + '-item-after-jump-prev'\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(pagerList[pagerList.length - 1], {\n className: prefixCls + '-item-before-jump-next'\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (props.showTotal) {\n totalText = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n { className: prefixCls + '-total-text' },\n props.showTotal(props.total, [(current - 1) * pageSize + 1, current * pageSize > props.total ? props.total : current * pageSize])\n );\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'ul',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n className: prefixCls + ' ' + props.className,\n style: props.style,\n unselectable: 'unselectable',\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n totalText,\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: (!prevDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': prevDisabled\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n pagerList,\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: (!nextDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': nextDisabled\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_8__Options__[\"a\" /* default */], {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: props.selectComponentClass,\n selectPrefixCls: props.selectPrefixCls,\n changeSize: this.props.showSizeChanger ? this.changePageSize : null,\n current: this.state.current,\n pageSize: this.state.pageSize,\n pageSizeOptions: this.props.pageSizeOptions,\n quickGo: this.props.showQuickJumper ? this.handleChange : null,\n goButton: goButton\n })\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n\n if ('current' in props) {\n newState.current = props.current;\n\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n\n return newState;\n }\n\n /**\n * computed icon node that need to be rendered.\n * @param {React.ReactNode | React.ComponentType} icon received icon.\n * @returns {React.ReactNode}\n */\n\n }]);\n\n return Pagination;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nPagination.propTypes = {\n prefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n current: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n defaultCurrent: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n total: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n pageSize: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n defaultPageSize: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n onChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n hideOnSinglePage: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n showSizeChanger: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n showLessItems: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n onShowSizeChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n selectComponentClass: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n showPrevNextJumpers: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n showQuickJumper: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object]),\n showTitle: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n pageSizeOptions: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n showTotal: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n locale: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n itemRender: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n prevIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n nextIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n jumpPrevIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n jumpNextIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])\n};\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showSizeChanger: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: __WEBPACK_IMPORTED_MODULE_10__locale_zh_CN__[\"a\" /* default */],\n style: {},\n itemRender: defaultItemRender\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.getJumpPrevPage = function () {\n return Math.max(1, _this2.state.current - (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this2.state, _this2.props), _this2.state.current + (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getItemIcon = function (icon) {\n var prefixCls = _this2.props.prefixCls;\n\n var iconNode = icon || __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement('a', { className: prefixCls + '-item-link' });\n if (typeof icon === 'function') {\n iconNode = __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(icon, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, _this2.props));\n }\n return iconNode;\n };\n\n this.savePaginationNode = function (node) {\n _this2.paginationNode = node;\n };\n\n this.isValid = function (page) {\n return isInteger(page) && page >= 1 && page !== _this2.state.current;\n };\n\n this.handleKeyDown = function (e) {\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_UP || e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n this.handleKeyUp = function (e) {\n var inputValue = e.target.value;\n var currentInputValue = _this2.state.currentInputValue;\n var value = void 0;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else {\n value = Number(inputValue);\n }\n\n if (value !== currentInputValue) {\n _this2.setState({\n currentInputValue: value\n });\n }\n\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ENTER) {\n _this2.handleChange(value);\n } else if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_UP) {\n _this2.handleChange(value - 1);\n } else if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ARROW_DOWN) {\n _this2.handleChange(value + 1);\n }\n };\n\n this.changePageSize = function (size) {\n var current = _this2.state.current;\n var newCurrent = calculatePage(size, _this2.state, _this2.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = _this2.state.current;\n }\n\n if (typeof size === 'number') {\n if (!('pageSize' in _this2.props)) {\n _this2.setState({\n pageSize: size\n });\n }\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this2.props.onShowSizeChange(current, size);\n };\n\n this.handleChange = function (p) {\n var page = p;\n if (_this2.isValid(page)) {\n var currentPage = calculatePage(undefined, _this2.state, _this2.props);\n if (page > currentPage) {\n page = currentPage;\n }\n\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: page,\n currentInputValue: page\n });\n }\n\n var pageSize = _this2.state.pageSize;\n _this2.props.onChange(page, pageSize);\n\n return page;\n }\n\n return _this2.state.current;\n };\n\n this.prev = function () {\n if (_this2.hasPrev()) {\n _this2.handleChange(_this2.state.current - 1);\n }\n };\n\n this.next = function () {\n if (_this2.hasNext()) {\n _this2.handleChange(_this2.state.current + 1);\n }\n };\n\n this.jumpPrev = function () {\n _this2.handleChange(_this2.getJumpPrevPage());\n };\n\n this.jumpNext = function () {\n _this2.handleChange(_this2.getJumpNextPage());\n };\n\n this.hasPrev = function () {\n return _this2.state.current > 1;\n };\n\n this.hasNext = function () {\n return _this2.state.current < calculatePage(undefined, _this2.state, _this2.props);\n };\n\n this.runIfEnter = function (event, callback) {\n for (var _len = arguments.length, restParams = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n if (event.key === 'Enter' || event.charCode === 13) {\n callback.apply(undefined, restParams);\n }\n };\n\n this.runIfEnterPrev = function (e) {\n _this2.runIfEnter(e, _this2.prev);\n };\n\n this.runIfEnterNext = function (e) {\n _this2.runIfEnter(e, _this2.next);\n };\n\n this.runIfEnterJumpPrev = function (e) {\n _this2.runIfEnter(e, _this2.jumpPrev);\n };\n\n this.runIfEnterJumpNext = function (e) {\n _this2.runIfEnter(e, _this2.jumpNext);\n };\n\n this.handleGoTO = function (e) {\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_9__KeyCode__[\"a\" /* default */].ENTER || e.type === 'click') {\n _this2.handleChange(_this2.state.currentInputValue);\n }\n };\n};\n\nObject(__WEBPACK_IMPORTED_MODULE_11_react_lifecycles_compat__[\"polyfill\"])(Pagination);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Pagination);\n\n/***/ }),\n/* 835 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(836), __esModule: true };\n\n/***/ }),\n/* 836 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(837);\nmodule.exports = __webpack_require__(40).Object.assign;\n\n\n/***/ }),\n/* 837 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(44);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(838) });\n\n\n/***/ }),\n/* 838 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(131);\nvar gOPS = __webpack_require__(233);\nvar pIE = __webpack_require__(179);\nvar toObject = __webpack_require__(111);\nvar IObject = __webpack_require__(210);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(95)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 839 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(840);\nvar $Object = __webpack_require__(40).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 840 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(44);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(65), 'Object', { defineProperty: __webpack_require__(58).f });\n\n\n/***/ }),\n/* 841 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(842), __esModule: true };\n\n/***/ }),\n/* 842 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(218);\n__webpack_require__(345);\nmodule.exports = __webpack_require__(234).f('iterator');\n\n\n/***/ }),\n/* 843 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(844), __esModule: true };\n\n/***/ }),\n/* 844 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(845);\n__webpack_require__(343);\n__webpack_require__(848);\n__webpack_require__(849);\nmodule.exports = __webpack_require__(40).Symbol;\n\n\n/***/ }),\n/* 845 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(64);\nvar has = __webpack_require__(91);\nvar DESCRIPTORS = __webpack_require__(65);\nvar $export = __webpack_require__(44);\nvar redefine = __webpack_require__(344);\nvar META = __webpack_require__(220).KEY;\nvar $fails = __webpack_require__(95);\nvar shared = __webpack_require__(214);\nvar setToStringTag = __webpack_require__(165);\nvar uid = __webpack_require__(163);\nvar wks = __webpack_require__(52);\nvar wksExt = __webpack_require__(234);\nvar wksDefine = __webpack_require__(235);\nvar enumKeys = __webpack_require__(846);\nvar isArray = __webpack_require__(354);\nvar anObject = __webpack_require__(94);\nvar isObject = __webpack_require__(74);\nvar toIObject = __webpack_require__(92);\nvar toPrimitive = __webpack_require__(217);\nvar createDesc = __webpack_require__(132);\nvar _create = __webpack_require__(164);\nvar gOPNExt = __webpack_require__(847);\nvar $GOPD = __webpack_require__(236);\nvar $DP = __webpack_require__(58);\nvar $keys = __webpack_require__(131);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(395).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(179).f = $propertyIsEnumerable;\n __webpack_require__(233).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(162)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(84)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 846 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(131);\nvar gOPS = __webpack_require__(233);\nvar pIE = __webpack_require__(179);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 847 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(92);\nvar gOPN = __webpack_require__(395).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 848 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(235)('asyncIterator');\n\n\n/***/ }),\n/* 849 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(235)('observable');\n\n\n/***/ }),\n/* 850 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(851), __esModule: true };\n\n/***/ }),\n/* 851 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(852);\nmodule.exports = __webpack_require__(40).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 852 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(44);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(853).set });\n\n\n/***/ }),\n/* 853 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(74);\nvar anObject = __webpack_require__(94);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(93)(Function.call, __webpack_require__(236).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 854 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(855), __esModule: true };\n\n/***/ }),\n/* 855 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(856);\nvar $Object = __webpack_require__(40).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n/***/ }),\n/* 856 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(44);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(164) });\n\n\n/***/ }),\n/* 857 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n\n\n\nvar Pager = function Pager(props) {\n var prefixCls = props.rootPrefixCls + '-item';\n var cls = prefixCls + ' ' + prefixCls + '-' + props.page;\n\n if (props.active) {\n cls = cls + ' ' + prefixCls + '-active';\n }\n\n if (props.className) {\n cls = cls + ' ' + props.className;\n }\n\n if (!props.page) {\n cls = cls + ' ' + prefixCls + '-disabled';\n }\n\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n 'li',\n {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: '0'\n },\n props.itemRender(props.page, 'page', __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(\n 'a',\n null,\n props.page\n ))\n );\n};\n\nPager.propTypes = {\n page: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.number,\n active: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n last: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n locale: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,\n className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n showTitle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,\n onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n onKeyPress: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,\n itemRender: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Pager);\n\n/***/ }),\n/* 858 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__KeyCode__ = __webpack_require__(396);\n\n\n\n\n\n\n\n\nvar Options = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Options, _React$Component);\n\n function Options(props) {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Options);\n\n var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Options.__proto__ || Object.getPrototypeOf(Options)).call(this, props));\n\n _this.buildOptionText = function (value) {\n return value + ' ' + _this.props.locale.items_per_page;\n };\n\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n\n _this.go = function (e) {\n var val = _this.state.goInputText;\n if (val === '') {\n return;\n }\n val = isNaN(val) ? _this.props.current : Number(val);\n if (e.keyCode === __WEBPACK_IMPORTED_MODULE_6__KeyCode__[\"a\" /* default */].ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(val);\n }\n };\n\n _this.state = {\n goInputText: ''\n };\n return _this;\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(Options, [{\n key: 'render',\n value: function render() {\n var props = this.props;\n var state = this.state;\n var locale = props.locale;\n var prefixCls = props.rootPrefixCls + '-options';\n var changeSize = props.changeSize;\n var quickGo = props.quickGo;\n var goButton = props.goButton;\n var buildOptionText = props.buildOptionText || this.buildOptionText;\n var Select = props.selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!(changeSize || quickGo)) {\n return null;\n }\n\n if (changeSize && Select) {\n var Option = Select.Option;\n var pageSize = props.pageSize || props.pageSizeOptions[0];\n var options = props.pageSizeOptions.map(function (opt, i) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n Option,\n { key: i, value: opt },\n buildOptionText(opt)\n );\n });\n\n changeSelect = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n Select,\n {\n prefixCls: props.selectPrefixCls,\n showSearch: false,\n className: prefixCls + '-size-changer',\n optionLabelProp: 'children',\n dropdownMatchSelectWidth: false,\n value: pageSize.toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n },\n options\n );\n }\n\n if (quickGo) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.go,\n onKeyUp: this.go\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'span',\n {\n onClick: this.go,\n onKeyUp: this.go\n },\n goButton\n );\n }\n }\n goInput = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: prefixCls + '-quick-jumper' },\n locale.jump_to,\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('input', {\n type: 'text',\n value: state.goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go\n }),\n locale.page,\n gotoButton\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'li',\n { className: '' + prefixCls },\n changeSelect,\n goInput\n );\n }\n }]);\n\n return Options;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);\n\nOptions.propTypes = {\n changeSize: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n quickGo: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n selectComponentClass: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n current: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageSizeOptions: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string),\n pageSize: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n buildOptionText: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n locale: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object\n};\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '30', '40']\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Options);\n\n/***/ }),\n/* 859 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n});\n\n/***/ }),\n/* 860 */\n/***/ (function(module, exports) {\n\n// removed by extract-text-webpack-plugin\n\n/***/ }),\n/* 861 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar ROWS_HEIGHT = 19;\nvar styles = {\n root: {\n position: 'relative',\n // because the shadow has position: 'absolute',\n width: '100%'\n },\n textarea: {\n width: '100%',\n height: '100%',\n resize: 'none',\n font: 'inherit',\n padding: 0,\n cursor: 'inherit',\n boxSizing: 'border-box',\n lineHeight: 'inherit',\n border: 'none',\n outline: 'none',\n background: 'transparent'\n },\n shadow: {\n resize: 'none',\n // Overflow also needed to here to remove the extra row\n // added to textareas in Firefox.\n overflow: 'hidden',\n // Visibility needed to hide the extra text area on ipads\n visibility: 'hidden',\n position: 'absolute',\n height: 'auto',\n whiteSpace: 'pre-wrap'\n }\n};\n/**\n * @ignore - internal component.\n */\n\nexports.styles = styles;\n\nvar Textarea =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Textarea, _React$Component);\n\n function Textarea(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Textarea);\n _this = (0, _possibleConstructorReturn2.default)(this, (Textarea.__proto__ || (0, _getPrototypeOf.default)(Textarea)).call(this, props, context)); // expects the components it renders to respond to 'value'\n // so that it can check whether they are filled.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n height: null\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"shadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"singlelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"input\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"value\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n _this.syncHeightWithShadow();\n }, 166)\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefInput\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.input = node;\n\n if (_this.props.textareaRef) {\n _this.props.textareaRef(node);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefSinglelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.singlelineShadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.shadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleChange\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.value = event.target.value;\n\n if (typeof _this.props.value === 'undefined' && _this.shadow) {\n // The component is not controlled, we need to update the shallow value.\n _this.shadow.value = _this.value;\n\n _this.syncHeightWithShadow();\n }\n\n if (_this.props.onChange) {\n _this.props.onChange(event);\n }\n }\n });\n _this.value = props.value || props.defaultValue || '';\n _this.state = {\n height: Number(props.rows) * ROWS_HEIGHT\n };\n return _this;\n }\n\n (0, _createClass2.default)(Textarea, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleResize.cancel();\n }\n }, {\n key: \"syncHeightWithShadow\",\n // Corresponds to 10 frames at 60 Hz.\n value: function syncHeightWithShadow() {\n var props = this.props;\n\n if (!this.shadow || !this.singlelineShadow) {\n return;\n } // The component is controlled, we need to update the shallow value.\n\n\n if (typeof props.value !== 'undefined') {\n this.shadow.value = props.value == null ? '' : String(props.value);\n }\n\n var lineHeight = this.singlelineShadow.scrollHeight;\n var newHeight = this.shadow.scrollHeight; // Guarding for jsdom, where scrollHeight isn't present.\n // See https://github.com/tmpvar/jsdom/issues/1013\n\n if (newHeight === undefined) {\n return;\n }\n\n if (Number(props.rowsMax) >= Number(props.rows)) {\n newHeight = Math.min(Number(props.rowsMax) * lineHeight, newHeight);\n }\n\n newHeight = Math.max(newHeight, lineHeight); // Need a large enough different to update the height.\n // This prevents infinite rendering loop.\n\n if (Math.abs(this.state.height - newHeight) > 1) {\n this.setState({\n height: newHeight\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n defaultValue = _props.defaultValue,\n onChange = _props.onChange,\n rows = _props.rows,\n rowsMax = _props.rowsMax,\n textareaRef = _props.textareaRef,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"defaultValue\", \"onChange\", \"rows\", \"rowsMax\", \"textareaRef\", \"value\"]);\n return _react.default.createElement(\"div\", {\n className: classes.root,\n style: {\n height: this.state.height\n }\n }, _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefSinglelineShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: \"1\",\n readOnly: true,\n \"aria-hidden\": \"true\",\n value: \"\"\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: rows,\n \"aria-hidden\": \"true\",\n readOnly: true,\n defaultValue: defaultValue,\n value: value\n }), _react.default.createElement(\"textarea\", (0, _extends2.default)({\n rows: rows,\n className: (0, _classnames.default)(classes.textarea, className),\n defaultValue: defaultValue,\n value: value,\n onChange: this.handleChange,\n ref: this.handleRefInput\n }, other)));\n }\n }]);\n return Textarea;\n}(_react.default.Component);\n\nTextarea.propTypes = false ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * @ignore\n */\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * @ignore\n */\n disabled: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onChange: _propTypes.default.func,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n rowsMax: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Use that property to pass a ref callback to the native textarea element.\n */\n textareaRef: _propTypes.default.func,\n\n /**\n * @ignore\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])\n} : {};\nTextarea.defaultProps = {\n rows: 1\n};\n\nvar _default = (0, _withStyles.default)(styles)(Textarea);\n\nexports.default = _default;\n\n/***/ }),\n/* 862 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n maxHeight: '2em',\n alignItems: 'center'\n },\n positionStart: {\n marginRight: theme.spacing.unit\n },\n positionEnd: {\n marginLeft: theme.spacing.unit\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputAdornment(props) {\n var _classNames;\n\n var children = props.children,\n Component = props.component,\n classes = props.classes,\n className = props.className,\n disableTypography = props.disableTypography,\n position = props.position,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"component\", \"classes\", \"className\", \"disableTypography\", \"position\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positionStart, position === 'start'), (0, _defineProperty2.default)(_classNames, classes.positionEnd, position === 'end'), _classNames), className)\n }, other), typeof children === 'string' && !disableTypography ? _react.default.createElement(_Typography.default, {\n color: \"textSecondary\"\n }, children) : children);\n}\n\nInputAdornment.propTypes = false ? {\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: _propTypes.default.oneOf(['start', 'end'])\n} : {};\nInputAdornment.defaultProps = {\n component: 'div',\n disableTypography: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputAdornment'\n})(InputAdornment);\n\nexports.default = _default;\n\n/***/ }),\n/* 863 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Form = __webpack_require__(155);\n\n// @inheritedComponent FormLabel\nvar styles = function styles(theme) {\n return {\n root: {\n transformOrigin: 'top left'\n },\n formControl: {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: \"translate(0, \".concat(theme.spacing.unit * 3, \"px) scale(1)\")\n },\n marginDense: {\n // Compensation for the `Input.inputDense` style.\n transform: \"translate(0, \".concat(theme.spacing.unit * 2.5 + 1, \"px) scale(1)\")\n },\n shrink: {\n transform: 'translate(0, 1.5px) scale(0.75)',\n transformOrigin: 'top left'\n },\n animated: {\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableAnimation = props.disableAnimation,\n FormLabelClasses = props.FormLabelClasses,\n marginProp = props.margin,\n shrinkProp = props.shrink,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableAnimation\", \"FormLabelClasses\", \"margin\", \"shrink\"]);\n var muiFormControl = context.muiFormControl;\n var shrink = shrinkProp;\n\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n\n var margin = marginProp;\n\n if (typeof margin === 'undefined' && muiFormControl) {\n margin = muiFormControl.margin;\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.formControl, muiFormControl), (0, _defineProperty2.default)(_classNames, classes.animated, !disableAnimation), (0, _defineProperty2.default)(_classNames, classes.shrink, shrink), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(_Form.FormLabel, (0, _extends2.default)({\n \"data-shrink\": shrink,\n className: className,\n classes: FormLabelClasses\n }, other), children);\n}\n\nInputLabel.propTypes = false ? {\n /**\n * The contents of the `InputLabel`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the transition animation is disabled.\n */\n disableAnimation: _propTypes.default.bool,\n\n /**\n * If `true`, apply disabled class.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label will be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused.\n */\n focused: _propTypes.default.bool,\n\n /**\n * `classes` property applied to the `FormLabel` element.\n */\n FormLabelClasses: _propTypes.default.object,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense']),\n\n /**\n * if `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool,\n\n /**\n * If `true`, the label is shrunk.\n */\n shrink: _propTypes.default.bool\n} : {};\nInputLabel.defaultProps = {\n disableAnimation: false\n};\nInputLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputLabel'\n})(InputLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 864 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(16),\n lineHeight: 1,\n padding: 0,\n '&$focused': {\n color: theme.palette.primary[theme.palette.type === 'light' ? 'dark' : 'light']\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n },\n '&$error': {\n color: theme.palette.error.main\n }\n },\n focused: {},\n disabled: {},\n error: {},\n asterisk: {\n '&$error': {\n color: theme.palette.error.main\n }\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n disabledProp = props.disabled,\n errorProp = props.error,\n focusedProp = props.focused,\n requiredProp = props.required,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"component\", \"disabled\", \"error\", \"focused\", \"required\"]);\n var muiFormControl = context.muiFormControl;\n var required = requiredProp;\n var focused = focusedProp;\n var disabled = disabledProp;\n var error = errorProp;\n\n if (muiFormControl) {\n if (typeof required === 'undefined') {\n required = muiFormControl.required;\n }\n\n if (typeof focused === 'undefined') {\n focused = muiFormControl.focused;\n }\n\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), children, required && _react.default.createElement(\"span\", {\n className: (0, _classnames.default)(classes.asterisk, (0, _defineProperty2.default)({}, classes.error, error))\n }, \"\\u2009*\"));\n}\n\nFormLabel.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: _propTypes.default.bool,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormLabel.defaultProps = {\n component: 'label'\n};\nFormLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormLabel'\n})(FormLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 865 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Input = __webpack_require__(237);\n\nvar _helpers = __webpack_require__(39);\n\nvar _reactHelpers = __webpack_require__(230);\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0\n },\n marginNormal: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit\n },\n marginDense: {\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit / 2\n },\n fullWidth: {\n width: '100%'\n }\n };\n};\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibilty and ensures that the state always stay\n * consitent across the children of the `FormControl`.\n * This context is used by the following components:\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n */\n\n\nexports.styles = styles;\n\nvar FormControl =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(FormControl, _React$Component);\n\n function FormControl(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, FormControl);\n _this = (0, _possibleConstructorReturn2.default)(this, (FormControl.__proto__ || (0, _getPrototypeOf.default)(FormControl)).call(this, props, context)); // We need to iterate through the children and find the Input in order\n // to fully support server side rendering.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n adornedStart: false,\n filled: false,\n focused: false\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState(function (state) {\n return !state.focused ? {\n focused: true\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // The event might be undefined.\n // For instance, a child component might call this hook\n // when an input is disabled but still having the focus.\n if (_this.props.onBlur && event) {\n _this.props.onBlur(event);\n }\n\n _this.setState(function (state) {\n return state.focused ? {\n focused: false\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDirty\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (!_this.state.filled) {\n _this.setState({\n filled: true\n });\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClean\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.state.filled) {\n _this.setState({\n filled: false\n });\n }\n }\n });\n var children = _this.props.children;\n\n if (children) {\n _react.default.Children.forEach(children, function (child) {\n if (!(0, _reactHelpers.isMuiElement)(child, ['Input', 'Select'])) {\n return;\n }\n\n if ((0, _Input.isFilled)(child.props, true)) {\n _this.state.filled = true;\n }\n\n var input = (0, _reactHelpers.isMuiElement)(child, ['Select']) ? child.props.input : child;\n\n if (input && (0, _Input.isAdornedStart)(input.props)) {\n _this.state.adornedStart = true;\n }\n });\n }\n\n return _this;\n }\n\n (0, _createClass2.default)(FormControl, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _props = this.props,\n disabled = _props.disabled,\n error = _props.error,\n required = _props.required,\n margin = _props.margin;\n var _state = this.state,\n adornedStart = _state.adornedStart,\n filled = _state.filled,\n focused = _state.focused;\n return {\n muiFormControl: {\n adornedStart: adornedStart,\n disabled: disabled,\n error: error,\n filled: filled,\n focused: focused,\n margin: margin,\n onBlur: this.handleBlur,\n onEmpty: this.handleClean,\n onFilled: this.handleDirty,\n onFocus: this.handleFocus,\n required: required\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props2 = this.props,\n classes = _props2.classes,\n className = _props2.className,\n Component = _props2.component,\n disabled = _props2.disabled,\n error = _props2.error,\n fullWidth = _props2.fullWidth,\n margin = _props2.margin,\n required = _props2.required,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"classes\", \"className\", \"component\", \"disabled\", \"error\", \"fullWidth\", \"margin\", \"required\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"margin\".concat((0, _helpers.capitalize)(margin))], margin !== 'none'), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), className)\n }, other, {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }));\n }\n }]);\n return FormControl;\n}(_react.default.Component);\n\nFormControl.propTypes = false ? {\n /**\n * The contents of the form control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the component will take up the full width of its container.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n */\n margin: _propTypes.default.oneOf(['none', 'dense', 'normal']),\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormControl.defaultProps = {\n component: 'div',\n disabled: false,\n error: false,\n fullWidth: false,\n margin: 'none',\n required: false\n};\nFormControl.childContextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControl'\n})(FormControl);\n\nexports.default = _default;\n\n/***/ }),\n/* 866 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(12),\n textAlign: 'left',\n marginTop: theme.spacing.unit,\n lineHeight: '1em',\n minHeight: '1em',\n margin: 0,\n '&$error': {\n color: theme.palette.error.main\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n },\n error: {},\n disabled: {},\n marginDense: {\n marginTop: theme.spacing.unit / 2\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormHelperText(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n disabledProp = props.disabled,\n errorProp = props.error,\n marginProp = props.margin,\n Component = props.component,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"disabled\", \"error\", \"margin\", \"component\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n var error = errorProp;\n var margin = marginProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n\n if (typeof margin === 'undefined') {\n margin = muiFormControl.margin;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nFormHelperText.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense'])\n} : {};\nFormHelperText.defaultProps = {\n component: 'p'\n};\nFormHelperText.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormHelperText'\n})(FormHelperText);\n\nexports.default = _default;\n\n/***/ }),\n/* 867 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\n/* eslint-disable jsx-a11y/label-has-for */\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n // Remove grey highlight\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -14,\n marginRight: theme.spacing.unit * 2,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n disabled: {},\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\n\nexports.styles = styles;\n\nfunction FormControlLabel(props, context) {\n var checked = props.checked,\n classes = props.classes,\n classNameProp = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0, _objectWithoutProperties2.default)(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"name\", \"onChange\", \"value\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n\n if (typeof control.props.disabled !== 'undefined') {\n if (typeof disabled === 'undefined') {\n disabled = control.props.disabled;\n }\n }\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp);\n return _react.default.createElement(\"label\", (0, _extends2.default)({\n className: className\n }, other), _react.default.cloneElement(control, {\n disabled: disabled,\n checked: typeof control.props.checked === 'undefined' ? checked : control.props.checked,\n name: control.props.name || name,\n onChange: control.props.onChange || onChange,\n value: control.props.value || value,\n inputRef: control.props.inputRef || inputRef\n }), _react.default.createElement(_Typography.default, {\n component: \"span\",\n className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.disabled, disabled))\n }, label));\n}\n\nFormControlLabel.propTypes = false ? {\n /**\n * If `true`, the component appears selected.\n */\n checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: _propTypes.default.element,\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * Use that property to pass a ref callback to the native input component.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: _propTypes.default.node,\n\n /*\n * @ignore\n */\n name: _propTypes.default.string,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.checked`.\n * @param {boolean} checked The `checked` value of the switch\n */\n onChange: _propTypes.default.func,\n\n /**\n * The value of the component.\n */\n value: _propTypes.default.string\n} : {};\nFormControlLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 868 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_classnames__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i\\n
    \"0?1442652658\"
    \\n
    \\n
    \\n
    \\n \\n
    \\n \\n \\u53D1\\u9001\\n
    \\n

    \\n
    \\n
    \\n
    \\n
    \\n
    \\n');//\" ide语法识别\n$(reply_iconup_el).show();$(function(){window.sd_create_editor_from_data(id,null,\"100%\",\"Discuss\");});}else{if($(reply_message_el).is(':visible')){$(reply_message_el).hide();}else{$(reply_message_el).show();}// $(reply_message_el).html(\"\");\n// $(reply_iconup_el).hide();\n}// 自动focus\nsetTimeout(function(){var iframe=$('#reply_to_message_'+id).find('iframe')[0];iframe&&iframe.contentDocument.body.focus();},200);},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(CommentItemKEEditor,[{key:'componentDidUpdate',value:function componentDidUpdate(prevProps){var _props=this.props,item=_props.item,currentReplyComment=_props.currentReplyComment;if(prevProps.showReplyEditorFlag!=this.props.showReplyEditorFlag&¤tReplyComment&¤tReplyComment.id==item.id){this.showOrHideEditor(currentReplyComment);}}// 如果未初始化,会先初始化\n},{key:'render',value:function render(){var _props2=this.props,match=_props2.match,history=_props2.history,item=_props2.item,user=_props2.user;if(!item){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null);}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'cl'}),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{id:'reply_message_'+item.id,className:'reply_to_message'}));}}]);return CommentItemKEEditor;}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);/* harmony default export */ __webpack_exports__[\"a\"] = (CommentItemKEEditor);\n\n/***/ }),\n/* 869 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(81);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CommentItemMDEditor_css__ = __webpack_require__(870);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__CommentItemMDEditor_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__CommentItemMDEditor_css__);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 0) {\n plugins.push(disallowNode.ofType(disallowedTypes, removalMethod));\n }\n\n if (props.allowNode) {\n plugins.push(disallowNode.ifNotMatch(props.allowNode, removalMethod));\n }\n\n var renderHtml = !props.escapeHtml && !props.skipHtml;\n if (renderHtml) {\n plugins.push(naiveHtml);\n }\n\n return props.astPlugins ? plugins.concat(props.astPlugins) : plugins;\n}\n\nReactMarkdown.defaultProps = {\n renderers: {},\n escapeHtml: true,\n skipHtml: false,\n sourcePos: false,\n rawSourcePos: false,\n transformLinkUri: uriTransformer,\n astPlugins: [],\n plugins: []\n};\n\nReactMarkdown.propTypes = {\n className: PropTypes.string,\n source: PropTypes.string,\n children: PropTypes.string,\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n escapeHtml: PropTypes.bool,\n skipHtml: PropTypes.bool,\n allowNode: PropTypes.func,\n allowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n disallowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n astPlugins: PropTypes.arrayOf(PropTypes.func),\n unwrapDisallowed: PropTypes.bool,\n renderers: PropTypes.object,\n plugins: PropTypes.array\n};\n\nReactMarkdown.types = allTypes;\nReactMarkdown.renderers = defaultRenderers;\nReactMarkdown.uriTransformer = uriTransformer;\n\nmodule.exports = ReactMarkdown;\n\n/***/ }),\n/* 875 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* Dependencies. */\nvar extend = __webpack_require__(876)\nvar bail = __webpack_require__(877)\nvar vfile = __webpack_require__(878)\nvar trough = __webpack_require__(883)\nvar string = __webpack_require__(885)\nvar plain = __webpack_require__(886)\n\n/* Expose a frozen processor. */\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n/* Process pipeline. */\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(err, tree, file) {\n if (err) {\n next(err)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n ctx.file.contents = p.stringify(ctx.tree, ctx.file)\n}\n\n/* Function to create the first processor. */\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var frozen = false\n var freezeIndex = -1\n\n /* Data management. */\n processor.data = data\n\n /* Lock. */\n processor.freeze = freeze\n\n /* Plug-ins. */\n processor.attachers = attachers\n processor.use = use\n\n /* API. */\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n /* Expose. */\n return processor\n\n /* Create a new processor based on the processor\n * in the current scope. */\n function processor() {\n var destination = unified()\n var length = attachers.length\n var index = -1\n\n while (++index < length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /* Freeze: used to signal a processor that has finished\n * configuration.\n *\n * For example, take unified itself. It’s frozen.\n * Plug-ins should not be added to it. Rather, it should\n * be extended, by invoking it, before modifying it.\n *\n * In essence, always invoke this when exporting a\n * processor. */\n function freeze() {\n var values\n var plugin\n var options\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n plugin = values[0]\n options = values[1]\n transformer = null\n\n if (options === false) {\n continue\n }\n\n if (options === true) {\n values[1] = undefined\n }\n\n transformer = plugin.apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n /* Data management.\n * Getter / setter for processor-specific informtion. */\n function data(key, value) {\n if (string(key)) {\n /* Set `key`. */\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n\n namespace[key] = value\n\n return processor\n }\n\n /* Get `key`. */\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n /* Set space. */\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n /* Get space. */\n return namespace\n }\n\n /* Plug-in management.\n *\n * Pass it:\n * * an attacher and options,\n * * a preset,\n * * a list of presets, attachers, and arguments (list\n * of attachers and options). */\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n /* Empty */\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var length\n var index\n\n if (plugins === null || plugins === undefined) {\n /* Empty */\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n length = plugins.length\n index = -1\n\n while (++index < length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var length = attachers.length\n var index = -1\n var entry\n\n while (++index < length) {\n entry = attachers[index]\n\n if (entry[0] === plugin) {\n return entry\n }\n }\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the\n * processor. */\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser)) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), async. */\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(err, tree, file) {\n tree = tree || node\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), sync. */\n function runSync(node, file) {\n var complete = false\n var result\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(err, tree) {\n complete = true\n bail(err)\n result = tree\n }\n }\n\n /* Stringify a Unist node representation of a file\n * (in string or VFile representation) into a string\n * using the `Compiler` on the processor. */\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler)) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the processor,\n * then run transforms on that node, and compile the\n * resulting node using the `Compiler` on the processor,\n * and store that result on the VFile. */\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(err) {\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n /* Process the given document (in string or VFile\n * representation), sync. */\n function processSync(doc) {\n var complete = false\n var file\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(err) {\n complete = true\n bail(err)\n }\n }\n}\n\n/* Check if `func` is a constructor. */\nfunction newable(value) {\n return typeof value === 'function' && keys(value.prototype)\n}\n\n/* Check if `value` is an object with keys. */\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n return false\n}\n\n/* Assert a parser is available. */\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/* Assert a compiler is available. */\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/* Assert the processor is not frozen. */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n [\n 'Cannot invoke `' + name + '` on a frozen processor.\\nCreate a new ',\n 'processor first, by invoking it: use `processor()` instead of ',\n '`processor`.'\n ].join('')\n )\n }\n}\n\n/* Assert `node` is a Unist node. */\nfunction assertNode(node) {\n if (!node || !string(node.type)) {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n/* Assert that `complete` is `true`. */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n\n/***/ }),\n/* 876 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 877 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n\n\n/***/ }),\n/* 878 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar VMessage = __webpack_require__(879);\nvar VFile = __webpack_require__(881);\n\nmodule.exports = VFile;\n\nvar proto = VFile.prototype;\n\nproto.message = message;\nproto.info = info;\nproto.fail = fail;\n\n/* Slight backwards compatibility. Remove in the future. */\nproto.warn = message;\n\n/* Create a message with `reason` at `position`.\n * When an error is passed in as `reason`, copies the stack. */\nfunction message(reason, position, origin) {\n var filePath = this.path;\n var message = new VMessage(reason, position, origin);\n\n if (filePath) {\n message.name = filePath + ':' + message.name;\n message.file = filePath;\n }\n\n message.fatal = false;\n\n this.messages.push(message);\n\n return message;\n}\n\n/* Fail. Creates a vmessage, associates it with the file,\n * and throws it. */\nfunction fail() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = true;\n\n throw message;\n}\n\n/* Info. Creates a vmessage, associates it with the file,\n * and marks the fatality as null. */\nfunction info() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = null;\n\n return message;\n}\n\n\n/***/ }),\n/* 879 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar stringify = __webpack_require__(880)\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n\n\n/***/ }),\n/* 880 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n /* Nothing. */\n if (!value || typeof value !== 'object') {\n return null\n }\n\n /* Node. */\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n /* Position. */\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n /* Point. */\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n /* ? */\n return null\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n\n\n/***/ }),\n/* 881 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {\n\nvar path = __webpack_require__(399);\nvar replace = __webpack_require__(882);\nvar buffer = __webpack_require__(383);\n\nmodule.exports = VFile;\n\nvar own = {}.hasOwnProperty;\nvar proto = VFile.prototype;\n\nproto.toString = toString;\n\n/* Order of setting (least specific to most), we need this because\n * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path\n * is needed before a stem can be set. */\nvar order = [\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n];\n\n/* Construct a new file. */\nfunction VFile(options) {\n var prop;\n var index;\n var length;\n\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options};\n } else if ('message' in options && 'messages' in options) {\n return options;\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options);\n }\n\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = process.cwd();\n\n /* Set path related properties in the correct order. */\n index = -1;\n length = order.length;\n\n while (++index < length) {\n prop = order[index];\n\n if (own.call(options, prop)) {\n this[prop] = options[prop];\n }\n }\n\n /* Set non-path related properties. */\n for (prop in options) {\n if (order.indexOf(prop) === -1) {\n this[prop] = options[prop];\n }\n }\n}\n\n/* Access full path (`~/index.min.js`). */\nObject.defineProperty(proto, 'path', {\n get: function () {\n return this.history[this.history.length - 1];\n },\n set: function (path) {\n assertNonEmpty(path, 'path');\n\n if (path !== this.path) {\n this.history.push(path);\n }\n }\n});\n\n/* Access parent path (`~`). */\nObject.defineProperty(proto, 'dirname', {\n get: function () {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined;\n },\n set: function (dirname) {\n assertPath(this.path, 'dirname');\n this.path = path.join(dirname || '', this.basename);\n }\n});\n\n/* Access basename (`index.min.js`). */\nObject.defineProperty(proto, 'basename', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined;\n },\n set: function (basename) {\n assertNonEmpty(basename, 'basename');\n assertPart(basename, 'basename');\n this.path = path.join(this.dirname || '', basename);\n }\n});\n\n/* Access extname (`.js`). */\nObject.defineProperty(proto, 'extname', {\n get: function () {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined;\n },\n set: function (extname) {\n var ext = extname || '';\n\n assertPart(ext, 'extname');\n assertPath(this.path, 'extname');\n\n if (ext) {\n if (ext.charAt(0) !== '.') {\n throw new Error('`extname` must start with `.`');\n }\n\n if (ext.indexOf('.', 1) !== -1) {\n throw new Error('`extname` cannot contain multiple dots');\n }\n }\n\n this.path = replace(this.path, ext);\n }\n});\n\n/* Access stem (`index.min`). */\nObject.defineProperty(proto, 'stem', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined;\n },\n set: function (stem) {\n assertNonEmpty(stem, 'stem');\n assertPart(stem, 'stem');\n this.path = path.join(this.dirname || '', stem + (this.extname || ''));\n }\n});\n\n/* Get the value of the file. */\nfunction toString(encoding) {\n var value = this.contents || '';\n return buffer(value) ? value.toString(encoding) : String(value);\n}\n\n/* Assert that `part` is not a path (i.e., does\n * not contain `path.sep`). */\nfunction assertPart(part, name) {\n if (part.indexOf(path.sep) !== -1) {\n throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`');\n }\n}\n\n/* Assert that `part` is not empty. */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty');\n }\n}\n\n/* Assert `path` exists. */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too');\n }\n}\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(116)))\n\n/***/ }),\n/* 882 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar path = __webpack_require__(399);\n\nfunction replaceExt(npath, ext) {\n if (typeof npath !== 'string') {\n return npath;\n }\n\n if (npath.length === 0) {\n return npath;\n }\n\n var nFileName = path.basename(npath, path.extname(npath)) + ext;\n return path.join(path.dirname(npath), nFileName);\n}\n\nmodule.exports = replaceExt;\n\n\n/***/ }),\n/* 883 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar wrap = __webpack_require__(884)\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n/* Create new middleware. */\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n /* Run `fns`. Last argument must be\n * a completion handler. */\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n /* Run the next `fn`, if any. */\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n /* Copy non-nully input into values. */\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n /* Next or done. */\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n /* Add `fn` to the list. */\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n\n\n/***/ }),\n/* 884 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n/* Wrap `fn`. Can be sync or async; return a promise,\n * receive a completion handler, return new values and\n * errors. */\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (err) {\n /* Well, this is quite the pickle. `fn` received\n * a callback and invoked it (thus continuing the\n * pipeline), but later also threw an error.\n * We’re not about to restart the pipeline again,\n * so the only thing left to do is to throw the\n * thing instea. */\n if (callback && invoked) {\n throw err\n }\n\n return done(err)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /* Invoke `next`, only once. */\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n /* Invoke `done` with one value.\n * Tracks if an error is passed, too. */\n function then(value) {\n done(null, value)\n }\n}\n\n\n/***/ }),\n/* 885 */\n/***/ (function(module, exports) {\n\nvar toString = Object.prototype.toString\n\nmodule.exports = isString\n\nfunction isString(obj) {\n return toString.call(obj) === \"[object String]\"\n}\n\n\n/***/ }),\n/* 886 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n/***/ }),\n/* 887 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar unherit = __webpack_require__(888);\nvar xtend = __webpack_require__(76);\nvar Parser = __webpack_require__(890);\n\nmodule.exports = parse;\nparse.Parser = Parser;\n\nfunction parse(options) {\n var Local = unherit(Parser);\n Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options);\n this.Parser = Local;\n}\n\n\n/***/ }),\n/* 888 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76)\nvar inherits = __webpack_require__(889)\n\nmodule.exports = unherit\n\n/* Create a custom constructor which can be modified\n * without affecting the original class. */\nfunction unherit(Super) {\n var result\n var key\n var value\n\n inherits(Of, Super)\n inherits(From, Of)\n\n /* Clone values. */\n result = Of.prototype\n\n for (key in result) {\n value = result[key]\n\n if (value && typeof value === 'object') {\n result[key] = 'concat' in value ? value.concat() : xtend(value)\n }\n }\n\n return Of\n\n /* Constructor accepting a single argument,\n * which itself is an `arguments` object. */\n function From(parameters) {\n return Super.apply(this, parameters)\n }\n\n /* Constructor accepting variadic arguments. */\n function Of() {\n if (!(this instanceof Of)) {\n return new From(arguments)\n }\n\n return Super.apply(this, arguments)\n }\n}\n\n\n/***/ }),\n/* 889 */\n/***/ (function(module, exports) {\n\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n/***/ }),\n/* 890 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar toggle = __webpack_require__(891);\nvar vfileLocation = __webpack_require__(892);\nvar unescape = __webpack_require__(893);\nvar decode = __webpack_require__(894);\nvar tokenizer = __webpack_require__(900);\n\nmodule.exports = Parser;\n\nfunction Parser(doc, file) {\n this.file = file;\n this.offset = {};\n this.options = xtend(this.options);\n this.setOptions({});\n\n this.inList = false;\n this.inBlock = false;\n this.inLink = false;\n this.atStart = true;\n\n this.toOffset = vfileLocation(file).toOffset;\n this.unescape = unescape(this, 'escape');\n this.decode = decode(this);\n}\n\nvar proto = Parser.prototype;\n\n/* Expose core. */\nproto.setOptions = __webpack_require__(901);\nproto.parse = __webpack_require__(904);\n\n/* Expose `defaults`. */\nproto.options = __webpack_require__(401);\n\n/* Enter and exit helpers. */\nproto.exitStart = toggle('atStart', true);\nproto.enterList = toggle('inList', false);\nproto.enterLink = toggle('inLink', false);\nproto.enterBlock = toggle('inBlock', false);\n\n/* Nodes that can interupt a paragraph:\n *\n * ```markdown\n * A paragraph, followed by a thematic break.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the paragraph. */\nproto.interruptParagraph = [\n ['thematicBreak'],\n ['atxHeading'],\n ['fencedCode'],\n ['blockquote'],\n ['html'],\n ['setextHeading', {commonmark: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a list:\n *\n * ```markdown\n * - One\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the list. */\nproto.interruptList = [\n ['atxHeading', {pedantic: false}],\n ['fencedCode', {pedantic: false}],\n ['thematicBreak', {pedantic: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a blockquote:\n *\n * ```markdown\n * > A paragraph.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the blockquote. */\nproto.interruptBlockquote = [\n ['indentedCode', {commonmark: true}],\n ['fencedCode', {commonmark: true}],\n ['atxHeading', {commonmark: true}],\n ['setextHeading', {commonmark: true}],\n ['thematicBreak', {commonmark: true}],\n ['html', {commonmark: true}],\n ['list', {commonmark: true}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Handlers. */\nproto.blockTokenizers = {\n newline: __webpack_require__(908),\n indentedCode: __webpack_require__(909),\n fencedCode: __webpack_require__(910),\n blockquote: __webpack_require__(911),\n atxHeading: __webpack_require__(912),\n thematicBreak: __webpack_require__(913),\n list: __webpack_require__(914),\n setextHeading: __webpack_require__(916),\n html: __webpack_require__(917),\n footnote: __webpack_require__(918),\n definition: __webpack_require__(920),\n table: __webpack_require__(921),\n paragraph: __webpack_require__(922)\n};\n\nproto.inlineTokenizers = {\n escape: __webpack_require__(923),\n autoLink: __webpack_require__(925),\n url: __webpack_require__(926),\n html: __webpack_require__(928),\n link: __webpack_require__(929),\n reference: __webpack_require__(930),\n strong: __webpack_require__(931),\n emphasis: __webpack_require__(933),\n deletion: __webpack_require__(936),\n code: __webpack_require__(938),\n break: __webpack_require__(940),\n text: __webpack_require__(942)\n};\n\n/* Expose precedence. */\nproto.blockMethods = keys(proto.blockTokenizers);\nproto.inlineMethods = keys(proto.inlineTokenizers);\n\n/* Tokenizers. */\nproto.tokenizeBlock = tokenizer('block');\nproto.tokenizeInline = tokenizer('inline');\nproto.tokenizeFactory = tokenizer;\n\n/* Get all keys in `value`. */\nfunction keys(value) {\n var result = [];\n var key;\n\n for (key in value) {\n result.push(key);\n }\n\n return result;\n}\n\n\n/***/ }),\n/* 891 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory\n\n/* Construct a state `toggler`: a function which inverses\n * `property` in context based on its current value.\n * The by `toggler` returned function restores that value. */\nfunction factory(key, state, ctx) {\n return enter\n\n function enter() {\n var context = ctx || this\n var current = context[key]\n\n context[key] = !state\n\n return exit\n\n function exit() {\n context[key] = current\n }\n }\n}\n\n\n/***/ }),\n/* 892 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory\n\nfunction factory(file) {\n var contents = indices(String(file))\n\n return {\n toPosition: offsetToPositionFactory(contents),\n toOffset: positionToOffsetFactory(contents)\n }\n}\n\n// Factory to get the line and column-based `position` for `offset` in the bound\n// indices.\nfunction offsetToPositionFactory(indices) {\n return offsetToPosition\n\n // Get the line and column-based `position` for `offset` in the bound indices.\n function offsetToPosition(offset) {\n var index = -1\n var length = indices.length\n\n if (offset < 0) {\n return {}\n }\n\n while (++index < length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset: offset\n }\n }\n }\n\n return {}\n }\n}\n\n// Factory to get the `offset` for a line and column-based `position` in the\n// bound indices.\nfunction positionToOffsetFactory(indices) {\n return positionToOffset\n\n // Get the `offset` for a line and column-based `position` in the bound\n // indices.\n function positionToOffset(position) {\n var line = position && position.line\n var column = position && position.column\n\n if (!isNaN(line) && !isNaN(column) && line - 1 in indices) {\n return (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return -1\n }\n}\n\n// Get indices of line-breaks in `value`.\nfunction indices(value) {\n var result = []\n var index = value.indexOf('\\n')\n\n while (index !== -1) {\n result.push(index + 1)\n index = value.indexOf('\\n', index + 1)\n }\n\n result.push(value.length + 1)\n\n return result\n}\n\n\n/***/ }),\n/* 893 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory;\n\n/* Factory to de-escape a value, based on a list at `key`\n * in `ctx`. */\nfunction factory(ctx, key) {\n return unescape;\n\n /* De-escape a string using the expression at `key`\n * in `ctx`. */\n function unescape(value) {\n var prev = 0;\n var index = value.indexOf('\\\\');\n var escape = ctx[key];\n var queue = [];\n var character;\n\n while (index !== -1) {\n queue.push(value.slice(prev, index));\n prev = index + 1;\n character = value.charAt(prev);\n\n /* If the following character is not a valid escape,\n * add the slash. */\n if (!character || escape.indexOf(character) === -1) {\n queue.push('\\\\');\n }\n\n index = value.indexOf('\\\\', prev);\n }\n\n queue.push(value.slice(prev));\n\n return queue.join('');\n }\n}\n\n\n/***/ }),\n/* 894 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar entities = __webpack_require__(238);\n\nmodule.exports = factory;\n\n/* Factory to create an entity decoder. */\nfunction factory(ctx) {\n decoder.raw = decodeRaw;\n\n return decoder;\n\n /* Normalize `position` to add an `indent`. */\n function normalize(position) {\n var offsets = ctx.offset;\n var line = position.line;\n var result = [];\n\n while (++line) {\n if (!(line in offsets)) {\n break;\n }\n\n result.push((offsets[line] || 0) + 1);\n }\n\n return {\n start: position,\n indent: result\n };\n }\n\n /* Handle a warning.\n * See https://github.com/wooorm/parse-entities\n * for the warnings. */\n function handleWarning(reason, position, code) {\n if (code === 3) {\n return;\n }\n\n ctx.file.message(reason, position);\n }\n\n /* Decode `value` (at `position`) into text-nodes. */\n function decoder(value, position, handler) {\n entities(value, {\n position: normalize(position),\n warning: handleWarning,\n text: handler,\n reference: handler,\n textContext: ctx,\n referenceContext: ctx\n });\n }\n\n /* Decode `value` (at `position`) into a string. */\n function decodeRaw(value, position, options) {\n return entities(value, xtend(options, {\n position: normalize(position),\n warning: handleWarning\n }));\n }\n}\n\n\n/***/ }),\n/* 895 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"AElig\":\"Æ\",\"AMP\":\"&\",\"Aacute\":\"Á\",\"Acirc\":\"Â\",\"Agrave\":\"À\",\"Aring\":\"Å\",\"Atilde\":\"Ã\",\"Auml\":\"Ä\",\"COPY\":\"©\",\"Ccedil\":\"Ç\",\"ETH\":\"Ð\",\"Eacute\":\"É\",\"Ecirc\":\"Ê\",\"Egrave\":\"È\",\"Euml\":\"Ë\",\"GT\":\">\",\"Iacute\":\"Í\",\"Icirc\":\"Î\",\"Igrave\":\"Ì\",\"Iuml\":\"Ï\",\"LT\":\"<\",\"Ntilde\":\"Ñ\",\"Oacute\":\"Ó\",\"Ocirc\":\"Ô\",\"Ograve\":\"Ò\",\"Oslash\":\"Ø\",\"Otilde\":\"Õ\",\"Ouml\":\"Ö\",\"QUOT\":\"\\\"\",\"REG\":\"®\",\"THORN\":\"Þ\",\"Uacute\":\"Ú\",\"Ucirc\":\"Û\",\"Ugrave\":\"Ù\",\"Uuml\":\"Ü\",\"Yacute\":\"Ý\",\"aacute\":\"á\",\"acirc\":\"â\",\"acute\":\"´\",\"aelig\":\"æ\",\"agrave\":\"à\",\"amp\":\"&\",\"aring\":\"å\",\"atilde\":\"ã\",\"auml\":\"ä\",\"brvbar\":\"¦\",\"ccedil\":\"ç\",\"cedil\":\"¸\",\"cent\":\"¢\",\"copy\":\"©\",\"curren\":\"¤\",\"deg\":\"°\",\"divide\":\"÷\",\"eacute\":\"é\",\"ecirc\":\"ê\",\"egrave\":\"è\",\"eth\":\"ð\",\"euml\":\"ë\",\"frac12\":\"½\",\"frac14\":\"¼\",\"frac34\":\"¾\",\"gt\":\">\",\"iacute\":\"í\",\"icirc\":\"î\",\"iexcl\":\"¡\",\"igrave\":\"ì\",\"iquest\":\"¿\",\"iuml\":\"ï\",\"laquo\":\"«\",\"lt\":\"<\",\"macr\":\"¯\",\"micro\":\"µ\",\"middot\":\"·\",\"nbsp\":\" \",\"not\":\"¬\",\"ntilde\":\"ñ\",\"oacute\":\"ó\",\"ocirc\":\"ô\",\"ograve\":\"ò\",\"ordf\":\"ª\",\"ordm\":\"º\",\"oslash\":\"ø\",\"otilde\":\"õ\",\"ouml\":\"ö\",\"para\":\"¶\",\"plusmn\":\"±\",\"pound\":\"£\",\"quot\":\"\\\"\",\"raquo\":\"»\",\"reg\":\"®\",\"sect\":\"§\",\"shy\":\"­\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"szlig\":\"ß\",\"thorn\":\"þ\",\"times\":\"×\",\"uacute\":\"ú\",\"ucirc\":\"û\",\"ugrave\":\"ù\",\"uml\":\"¨\",\"uuml\":\"ü\",\"yacute\":\"ý\",\"yen\":\"¥\",\"yuml\":\"ÿ\"}\n\n/***/ }),\n/* 896 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"0\":\"�\",\"128\":\"€\",\"130\":\"‚\",\"131\":\"ƒ\",\"132\":\"„\",\"133\":\"…\",\"134\":\"†\",\"135\":\"‡\",\"136\":\"ˆ\",\"137\":\"‰\",\"138\":\"Š\",\"139\":\"‹\",\"140\":\"Œ\",\"142\":\"Ž\",\"145\":\"‘\",\"146\":\"’\",\"147\":\"“\",\"148\":\"”\",\"149\":\"•\",\"150\":\"–\",\"151\":\"—\",\"152\":\"˜\",\"153\":\"™\",\"154\":\"š\",\"155\":\"›\",\"156\":\"œ\",\"158\":\"ž\",\"159\":\"Ÿ\"}\n\n/***/ }),\n/* 897 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = hexadecimal\n\n/* Check if the given character code, or the character\n * code at the first character, is hexadecimal. */\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n\n\n/***/ }),\n/* 898 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabetical = __webpack_require__(400)\nvar decimal = __webpack_require__(180)\n\nmodule.exports = alphanumerical\n\n/* Check if the given character code, or the character\n * code at the first character, is alphanumerical. */\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n\n\n/***/ }),\n/* 899 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* eslint-env browser */\n\nvar el\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (¬ - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (;), we can\n // assume that the matching was incomplete\n if (char.slice(-1) === ';' && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n\n\n/***/ }),\n/* 900 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = factory;\n\nvar MERGEABLE_NODES = {\n text: mergeText,\n blockquote: mergeBlockquote\n};\n\n/* Check whether a node is mergeable with adjacent nodes. */\nfunction mergeable(node) {\n var start;\n var end;\n\n if (node.type !== 'text' || !node.position) {\n return true;\n }\n\n start = node.position.start;\n end = node.position.end;\n\n /* Only merge nodes which occupy the same size as their\n * `value`. */\n return start.line !== end.line ||\n end.column - start.column === node.value.length;\n}\n\n/* Merge two text nodes: `node` into `prev`. */\nfunction mergeText(prev, node) {\n prev.value += node.value;\n\n return prev;\n}\n\n/* Merge two blockquotes: `node` into `prev`, unless in\n * CommonMark mode. */\nfunction mergeBlockquote(prev, node) {\n if (this.options.commonmark) {\n return node;\n }\n\n prev.children = prev.children.concat(node.children);\n\n return prev;\n}\n\n/* Construct a tokenizer. This creates both\n * `tokenizeInline` and `tokenizeBlock`. */\nfunction factory(type) {\n return tokenize;\n\n /* Tokenizer for a bound `type`. */\n function tokenize(value, location) {\n var self = this;\n var offset = self.offset;\n var tokens = [];\n var methods = self[type + 'Methods'];\n var tokenizers = self[type + 'Tokenizers'];\n var line = location.line;\n var column = location.column;\n var index;\n var length;\n var method;\n var name;\n var matched;\n var valueLength;\n\n /* Trim white space only lines. */\n if (!value) {\n return tokens;\n }\n\n /* Expose on `eat`. */\n eat.now = now;\n eat.file = self.file;\n\n /* Sync initial offset. */\n updatePosition('');\n\n /* Iterate over `value`, and iterate over all\n * tokenizers. When one eats something, re-iterate\n * with the remaining value. If no tokenizer eats,\n * something failed (should not happen) and an\n * exception is thrown. */\n while (value) {\n index = -1;\n length = methods.length;\n matched = false;\n\n while (++index < length) {\n name = methods[index];\n method = tokenizers[name];\n\n if (\n method &&\n /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) &&\n (!method.notInList || !self.inList) &&\n (!method.notInBlock || !self.inBlock) &&\n (!method.notInLink || !self.inLink)\n ) {\n valueLength = value.length;\n\n method.apply(self, [eat, value]);\n\n matched = valueLength !== value.length;\n\n if (matched) {\n break;\n }\n }\n }\n\n /* istanbul ignore if */\n if (!matched) {\n self.file.fail(new Error('Infinite loop'), eat.now());\n }\n }\n\n self.eof = now();\n\n return tokens;\n\n /* Update line, column, and offset based on\n * `value`. */\n function updatePosition(subvalue) {\n var lastIndex = -1;\n var index = subvalue.indexOf('\\n');\n\n while (index !== -1) {\n line++;\n lastIndex = index;\n index = subvalue.indexOf('\\n', index + 1);\n }\n\n if (lastIndex === -1) {\n column += subvalue.length;\n } else {\n column = subvalue.length - lastIndex;\n }\n\n if (line in offset) {\n if (lastIndex !== -1) {\n column += offset[line];\n } else if (column <= offset[line]) {\n column = offset[line] + 1;\n }\n }\n }\n\n /* Get offset. Called before the first character is\n * eaten to retrieve the range's offsets. */\n function getOffset() {\n var indentation = [];\n var pos = line + 1;\n\n /* Done. Called when the last character is\n * eaten to retrieve the range’s offsets. */\n return function () {\n var last = line + 1;\n\n while (pos < last) {\n indentation.push((offset[pos] || 0) + 1);\n\n pos++;\n }\n\n return indentation;\n };\n }\n\n /* Get the current position. */\n function now() {\n var pos = {line: line, column: column};\n\n pos.offset = self.toOffset(pos);\n\n return pos;\n }\n\n /* Store position information for a node. */\n function Position(start) {\n this.start = start;\n this.end = now();\n }\n\n /* Throw when a value is incorrectly eaten.\n * This shouldn’t happen but will throw on new,\n * incorrect rules. */\n function validateEat(subvalue) {\n /* istanbul ignore if */\n if (value.substring(0, subvalue.length) !== subvalue) {\n /* Capture stack-trace. */\n self.file.fail(\n new Error(\n 'Incorrectly eaten value: please report this ' +\n 'warning on http://git.io/vg5Ft'\n ),\n now()\n );\n }\n }\n\n /* Mark position and patch `node.position`. */\n function position() {\n var before = now();\n\n return update;\n\n /* Add the position to a node. */\n function update(node, indent) {\n var prev = node.position;\n var start = prev ? prev.start : before;\n var combined = [];\n var n = prev && prev.end.line;\n var l = before.line;\n\n node.position = new Position(start);\n\n /* If there was already a `position`, this\n * node was merged. Fixing `start` wasn’t\n * hard, but the indent is different.\n * Especially because some information, the\n * indent between `n` and `l` wasn’t\n * tracked. Luckily, that space is\n * (should be?) empty, so we can safely\n * check for it now. */\n if (prev && indent && prev.indent) {\n combined = prev.indent;\n\n if (n < l) {\n while (++n < l) {\n combined.push((offset[n] || 0) + 1);\n }\n\n combined.push(before.column);\n }\n\n indent = combined.concat(indent);\n }\n\n node.position.indent = indent || [];\n\n return node;\n }\n }\n\n /* Add `node` to `parent`s children or to `tokens`.\n * Performs merges where possible. */\n function add(node, parent) {\n var children = parent ? parent.children : tokens;\n var prev = children[children.length - 1];\n\n if (\n prev &&\n node.type === prev.type &&\n node.type in MERGEABLE_NODES &&\n mergeable(prev) &&\n mergeable(node)\n ) {\n node = MERGEABLE_NODES[node.type].call(self, prev, node);\n }\n\n if (node !== prev) {\n children.push(node);\n }\n\n if (self.atStart && tokens.length !== 0) {\n self.exitStart();\n }\n\n return node;\n }\n\n /* Remove `subvalue` from `value`.\n * `subvalue` must be at the start of `value`. */\n function eat(subvalue) {\n var indent = getOffset();\n var pos = position();\n var current = now();\n\n validateEat(subvalue);\n\n apply.reset = reset;\n reset.test = test;\n apply.test = test;\n\n value = value.substring(subvalue.length);\n\n updatePosition(subvalue);\n\n indent = indent();\n\n return apply;\n\n /* Add the given arguments, add `position` to\n * the returned node, and return the node. */\n function apply(node, parent) {\n return pos(add(pos(node), parent), indent);\n }\n\n /* Functions just like apply, but resets the\n * content: the line and column are reversed,\n * and the eaten value is re-added.\n * This is useful for nodes with a single\n * type of content, such as lists and tables.\n * See `apply` above for what parameters are\n * expected. */\n function reset() {\n var node = apply.apply(null, arguments);\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return node;\n }\n\n /* Test the position, after eating, and reverse\n * to a not-eaten state. */\n function test() {\n var result = pos({});\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return result.position;\n }\n }\n }\n}\n\n\n/***/ }),\n/* 901 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar escapes = __webpack_require__(902);\nvar defaults = __webpack_require__(401);\n\nmodule.exports = setOptions;\n\nfunction setOptions(options) {\n var self = this;\n var current = self.options;\n var key;\n var value;\n\n if (options == null) {\n options = {};\n } else if (typeof options === 'object') {\n options = xtend(options);\n } else {\n throw new Error(\n 'Invalid value `' + options + '` ' +\n 'for setting `options`'\n );\n }\n\n for (key in defaults) {\n value = options[key];\n\n if (value == null) {\n value = current[key];\n }\n\n if (\n (key !== 'blocks' && typeof value !== 'boolean') ||\n (key === 'blocks' && typeof value !== 'object')\n ) {\n throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`');\n }\n\n options[key] = value;\n }\n\n self.options = options;\n self.escape = escapes(options);\n\n return self;\n}\n\n\n/***/ }),\n/* 902 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = escapes\n\nvar defaults = [\n '\\\\',\n '`',\n '*',\n '{',\n '}',\n '[',\n ']',\n '(',\n ')',\n '#',\n '+',\n '-',\n '.',\n '!',\n '_',\n '>'\n]\n\nvar gfm = defaults.concat(['~', '|'])\n\nvar commonmark = gfm.concat([\n '\\n',\n '\"',\n '$',\n '%',\n '&',\n \"'\",\n ',',\n '/',\n ':',\n ';',\n '<',\n '=',\n '?',\n '@',\n '^'\n])\n\nescapes.default = defaults\nescapes.gfm = gfm\nescapes.commonmark = commonmark\n\n/* Get markdown escapes. */\nfunction escapes(options) {\n var settings = options || {}\n\n if (settings.commonmark) {\n return commonmark\n }\n\n return settings.gfm ? gfm : defaults\n}\n\n\n/***/ }),\n/* 903 */\n/***/ (function(module, exports) {\n\nmodule.exports = [\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]\n\n/***/ }),\n/* 904 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar xtend = __webpack_require__(76);\nvar removePosition = __webpack_require__(905);\n\nmodule.exports = parse;\n\nvar C_NEWLINE = '\\n';\nvar EXPRESSION_LINE_BREAKS = /\\r\\n|\\r/g;\n\n/* Parse the bound file. */\nfunction parse() {\n var self = this;\n var value = String(self.file);\n var start = {line: 1, column: 1, offset: 0};\n var content = xtend(start);\n var node;\n\n /* Clean non-unix newlines: `\\r\\n` and `\\r` are all\n * changed to `\\n`. This should not affect positional\n * information. */\n value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE);\n\n if (value.charCodeAt(0) === 0xFEFF) {\n value = value.slice(1);\n\n content.column++;\n content.offset++;\n }\n\n node = {\n type: 'root',\n children: self.tokenizeBlock(value, content),\n position: {\n start: start,\n end: self.eof || xtend(start)\n }\n };\n\n if (!self.options.position) {\n removePosition(node, true);\n }\n\n return node;\n}\n\n\n/***/ }),\n/* 905 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar visit = __webpack_require__(181)\n\nmodule.exports = removePosition\n\n/* Remove `position`s from `tree`. */\nfunction removePosition(node, force) {\n visit(node, force ? hard : soft)\n return node\n}\n\nfunction hard(node) {\n delete node.position\n}\n\nfunction soft(node) {\n node.position = undefined\n}\n\n\n/***/ }),\n/* 906 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = visitParents\n\nvar is = __webpack_require__(907)\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result\n\n if (!test || is(test, node, index, parents[parents.length - 1] || null)) {\n result = visitor(node, parents)\n\n if (result === EXIT) {\n return result\n }\n }\n\n if (node.children && result !== SKIP) {\n return all(node.children, parents.concat(node)) === EXIT ? EXIT : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var child\n var result\n\n while (index > min && index < children.length) {\n child = children[index]\n result = child && one(child, index, parents)\n\n if (result === EXIT) {\n return result\n }\n\n index = typeof result === 'number' ? result : index + step\n }\n }\n}\n\n\n/***/ }),\n/* 907 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* eslint-disable max-params */\n\n/* Expose. */\nmodule.exports = is\n\n/* Assert if `test` passes for `node`.\n * When a `parent` node is known the `index` of node */\nfunction is(test, node, index, parent, context) {\n var hasParent = parent !== null && parent !== undefined\n var hasIndex = index !== null && index !== undefined\n var check = convert(test)\n\n if (\n hasIndex &&\n (typeof index !== 'number' || index < 0 || index === Infinity)\n ) {\n throw new Error('Expected positive finite index or child node')\n }\n\n if (hasParent && (!is(null, parent) || !parent.children)) {\n throw new Error('Expected parent node')\n }\n\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (hasParent !== hasIndex) {\n throw new Error('Expected both parent and index')\n }\n\n return Boolean(check.call(context, node, index, parent))\n}\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n/* Utility assert each property in `test` is represented\n * in `node`, and each values are strictly equal. */\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/* Utility to convert a string into a function which checks\n * a given node’s type for said string. */\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n/* Utility to return true. */\nfunction ok() {\n return true\n}\n\n\n/***/ }),\n/* 908 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\n\nmodule.exports = newline;\n\n/* Tokenise newline. */\nfunction newline(eat, value, silent) {\n var character = value.charAt(0);\n var length;\n var subvalue;\n var queue;\n var index;\n\n if (character !== '\\n') {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n index = 1;\n length = value.length;\n subvalue = character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n\n if (character === '\\n') {\n subvalue += queue;\n queue = '';\n }\n\n index++;\n }\n\n eat(subvalue);\n}\n\n\n/***/ }),\n/* 909 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar repeat = __webpack_require__(239);\nvar trim = __webpack_require__(240);\n\nmodule.exports = indentedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar CODE_INDENT_COUNT = 4;\nvar CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT);\n\n/* Tokenise indented code. */\nfunction indentedCode(eat, value, silent) {\n var index = -1;\n var length = value.length;\n var subvalue = '';\n var content = '';\n var subvalueQueue = '';\n var contentQueue = '';\n var character;\n var blankQueue;\n var indent;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (indent) {\n indent = false;\n\n subvalue += subvalueQueue;\n content += contentQueue;\n subvalueQueue = '';\n contentQueue = '';\n\n if (character === C_NEWLINE) {\n subvalueQueue = character;\n contentQueue = character;\n } else {\n subvalue += character;\n content += character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n contentQueue = character;\n subvalueQueue = character;\n break;\n }\n\n subvalue += character;\n content += character;\n }\n }\n } else if (\n character === C_SPACE &&\n value.charAt(index + 1) === character &&\n value.charAt(index + 2) === character &&\n value.charAt(index + 3) === character\n ) {\n subvalueQueue += CODE_INDENT;\n index += 3;\n indent = true;\n } else if (character === C_TAB) {\n subvalueQueue += character;\n indent = true;\n } else {\n blankQueue = '';\n\n while (character === C_TAB || character === C_SPACE) {\n blankQueue += character;\n character = value.charAt(++index);\n }\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subvalueQueue += blankQueue + character;\n contentQueue += character;\n }\n }\n\n if (content) {\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({\n type: 'code',\n lang: null,\n value: trim(content)\n });\n }\n}\n\n\n/***/ }),\n/* 910 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(240);\n\nmodule.exports = fencedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_TILDE = '~';\nvar C_TICK = '`';\n\nvar MIN_FENCE_COUNT = 3;\nvar CODE_INDENT_COUNT = 4;\n\nfunction fencedCode(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = 0;\n var subvalue = '';\n var fenceCount;\n var marker;\n var character;\n var flag;\n var queue;\n var content;\n var exdentedContent;\n var closing;\n var exdentedClosing;\n var indent;\n var now;\n\n if (!settings.gfm) {\n return;\n }\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n indent = index;\n\n /* Eat the fence. */\n character = value.charAt(index);\n\n if (character !== C_TILDE && character !== C_TICK) {\n return;\n }\n\n index++;\n marker = character;\n fenceCount = 1;\n subvalue += character;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n subvalue += character;\n fenceCount++;\n index++;\n }\n\n if (fenceCount < MIN_FENCE_COUNT) {\n return;\n }\n\n /* Eat spacing before flag. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat flag. */\n flag = '';\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character === C_NEWLINE ||\n character === C_TILDE ||\n character === C_TICK\n ) {\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n flag += queue + character;\n queue = '';\n }\n\n index++;\n }\n\n character = value.charAt(index);\n\n if (character && character !== C_NEWLINE) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += subvalue.length;\n now.offset += subvalue.length;\n\n subvalue += flag;\n flag = self.decode.raw(self.unescape(flag), now);\n\n if (queue) {\n subvalue += queue;\n }\n\n queue = '';\n closing = '';\n exdentedClosing = '';\n content = '';\n exdentedContent = '';\n\n /* Eat content. */\n while (index < length) {\n character = value.charAt(index);\n content += closing;\n exdentedContent += exdentedClosing;\n closing = '';\n exdentedClosing = '';\n\n if (character !== C_NEWLINE) {\n content += character;\n exdentedClosing += character;\n index++;\n continue;\n }\n\n /* Add the newline to `subvalue` if its the first\n * character. Otherwise, add it to the `closing`\n * queue. */\n if (content) {\n closing += character;\n exdentedClosing += character;\n } else {\n subvalue += character;\n }\n\n queue = '';\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue.slice(indent);\n\n if (queue.length >= CODE_INDENT_COUNT) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue;\n\n if (queue.length < fenceCount) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n closing += character;\n exdentedClosing += character;\n index++;\n }\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n }\n\n subvalue += content + closing;\n\n return eat(subvalue)({\n type: 'code',\n lang: flag || null,\n value: trim(exdentedContent)\n });\n}\n\n\n/***/ }),\n/* 911 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar interrupt = __webpack_require__(241);\n\nmodule.exports = blockquote;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_GT = '>';\n\n/* Tokenise a blockquote. */\nfunction blockquote(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptBlockquote;\n var now = eat.now();\n var currentLine = now.line;\n var length = value.length;\n var values = [];\n var contents = [];\n var indents = [];\n var add;\n var index = 0;\n var character;\n var rest;\n var nextIndex;\n var content;\n var line;\n var startIndex;\n var prefixed;\n var exit;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) === C_GT) {\n index++;\n prefixed = true;\n\n if (value.charAt(index) === C_SPACE) {\n index++;\n }\n } else {\n index = startIndex;\n }\n\n content = value.slice(index, nextIndex);\n\n if (!prefixed && !trim(content)) {\n index = startIndex;\n break;\n }\n\n if (!prefixed) {\n rest = value.slice(index);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) {\n break;\n }\n }\n\n line = startIndex === index ? content : value.slice(startIndex, nextIndex);\n\n indents.push(index - startIndex);\n values.push(line);\n contents.push(content);\n\n index = nextIndex + 1;\n }\n\n index = -1;\n length = indents.length;\n add = eat(values.join(C_NEWLINE));\n\n while (++index < length) {\n offsets[currentLine] = (offsets[currentLine] || 0) + indents[index];\n currentLine++;\n }\n\n exit = self.enterBlock();\n contents = self.tokenizeBlock(contents.join(C_NEWLINE), now);\n exit();\n\n return add({\n type: 'blockquote',\n children: contents\n });\n}\n\n\n/***/ }),\n/* 912 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = atxHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_HASH = '#';\n\nvar MAX_ATX_COUNT = 6;\n\nfunction atxHeading(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = -1;\n var now = eat.now();\n var subvalue = '';\n var content = '';\n var character;\n var queue;\n var depth;\n\n /* Eat initial spacing. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat hashes. */\n depth = 0;\n\n while (++index <= length) {\n character = value.charAt(index);\n\n if (character !== C_HASH) {\n index--;\n break;\n }\n\n subvalue += character;\n depth++;\n }\n\n if (depth > MAX_ATX_COUNT) {\n return;\n }\n\n if (\n !depth ||\n (!settings.pedantic && value.charAt(index + 1) === C_HASH)\n ) {\n return;\n }\n\n length = value.length + 1;\n\n /* Eat intermediate white-space. */\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n queue += character;\n }\n\n /* Exit when not in pedantic mode without spacing. */\n if (\n !settings.pedantic &&\n queue.length === 0 &&\n character &&\n character !== C_NEWLINE\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n /* Eat content. */\n subvalue += queue;\n queue = '';\n content = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n\n if (\n character !== C_SPACE &&\n character !== C_TAB &&\n character !== C_HASH\n ) {\n content += queue + character;\n queue = '';\n continue;\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_HASH) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n index--;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n return eat(subvalue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n/***/ }),\n/* 913 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = thematicBreak;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_DASH = '-';\n\nvar THEMATIC_BREAK_MARKER_COUNT = 3;\n\nfunction thematicBreak(eat, value, silent) {\n var index = -1;\n var length = value.length + 1;\n var subvalue = '';\n var character;\n var marker;\n var markerCount;\n var queue;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n }\n\n if (\n character !== C_ASTERISK &&\n character !== C_DASH &&\n character !== C_UNDERSCORE\n ) {\n return;\n }\n\n marker = character;\n subvalue += character;\n markerCount = 1;\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n markerCount++;\n subvalue += queue + marker;\n queue = '';\n } else if (character === C_SPACE) {\n queue += character;\n } else if (\n markerCount >= THEMATIC_BREAK_MARKER_COUNT &&\n (!character || character === C_NEWLINE)\n ) {\n subvalue += queue;\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({type: 'thematicBreak'});\n } else {\n return;\n }\n }\n}\n\n\n/***/ }),\n/* 914 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* eslint-disable max-params */\n\nvar trim = __webpack_require__(119);\nvar repeat = __webpack_require__(239);\nvar decimal = __webpack_require__(180);\nvar getIndent = __webpack_require__(402);\nvar removeIndent = __webpack_require__(915);\nvar interrupt = __webpack_require__(241);\n\nmodule.exports = list;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_PLUS = '+';\nvar C_DASH = '-';\nvar C_DOT = '.';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_PAREN_CLOSE = ')';\nvar C_X_LOWER = 'x';\n\nvar TAB_SIZE = 4;\nvar EXPRESSION_LOOSE_LIST_ITEM = /\\n\\n(?!\\s*$)/;\nvar EXPRESSION_TASK_ITEM = /^\\[([ \\t]|x|X)][ \\t]/;\nvar EXPRESSION_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])( {1,4}(?! )| |\\t|$|(?=\\n))([^\\n]*)/;\nvar EXPRESSION_PEDANTIC_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])([ \\t]+)/;\nvar EXPRESSION_INITIAL_INDENT = /^( {1,4}|\\t)?/gm;\n\n/* Map of characters which can be used to mark\n * list-items. */\nvar LIST_UNORDERED_MARKERS = {};\n\nLIST_UNORDERED_MARKERS[C_ASTERISK] = true;\nLIST_UNORDERED_MARKERS[C_PLUS] = true;\nLIST_UNORDERED_MARKERS[C_DASH] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_MARKERS = {};\n\nLIST_ORDERED_MARKERS[C_DOT] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_COMMONMARK_MARKERS = {};\n\nLIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true;\nLIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true;\n\nfunction list(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var pedantic = self.options.pedantic;\n var tokenizers = self.blockTokenizers;\n var interuptors = self.interruptList;\n var markers;\n var index = 0;\n var length = value.length;\n var start = null;\n var size = 0;\n var queue;\n var ordered;\n var character;\n var marker;\n var nextIndex;\n var startIndex;\n var prefixed;\n var currentMarker;\n var content;\n var line;\n var prevEmpty;\n var empty;\n var items;\n var allLines;\n var emptyLines;\n var item;\n var enterTop;\n var exitBlockquote;\n var isLoose;\n var node;\n var now;\n var end;\n var indented;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n return;\n }\n\n character = value.charAt(index);\n\n markers = commonmark ?\n LIST_ORDERED_COMMONMARK_MARKERS :\n LIST_ORDERED_MARKERS;\n\n if (LIST_UNORDERED_MARKERS[character] === true) {\n marker = character;\n ordered = false;\n } else {\n ordered = true;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || markers[character] !== true) {\n return;\n }\n\n start = parseInt(queue, 10);\n marker = character;\n }\n\n character = value.charAt(++index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n items = [];\n allLines = [];\n emptyLines = [];\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n indented = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n end = index + TAB_SIZE;\n size = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n indented = true;\n }\n\n if (item && size >= item.indent) {\n indented = true;\n }\n\n character = value.charAt(index);\n currentMarker = null;\n\n if (!indented) {\n if (LIST_UNORDERED_MARKERS[character] === true) {\n currentMarker = character;\n index++;\n size++;\n } else {\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n index++;\n\n if (queue && markers[character] === true) {\n currentMarker = character;\n size += queue.length + 1;\n }\n }\n\n if (currentMarker) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n index++;\n } else if (character === C_SPACE) {\n end = index + TAB_SIZE;\n\n while (index < end) {\n if (value.charAt(index) !== C_SPACE) {\n break;\n }\n\n index++;\n size++;\n }\n\n if (index === end && value.charAt(index) === C_SPACE) {\n index -= TAB_SIZE - 1;\n size -= TAB_SIZE - 1;\n }\n } else if (character !== C_NEWLINE && character !== '') {\n currentMarker = null;\n }\n }\n }\n\n if (currentMarker) {\n if (!pedantic && marker !== currentMarker) {\n break;\n }\n\n prefixed = true;\n } else {\n if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) {\n indented = true;\n } else if (commonmark && item) {\n indented = size >= item.indent || size > TAB_SIZE;\n }\n\n prefixed = false;\n index = startIndex;\n }\n\n line = value.slice(startIndex, nextIndex);\n content = startIndex === index ? line : value.slice(index, nextIndex);\n\n if (\n currentMarker === C_ASTERISK ||\n currentMarker === C_UNDERSCORE ||\n currentMarker === C_DASH\n ) {\n if (tokenizers.thematicBreak.call(self, eat, line, true)) {\n break;\n }\n }\n\n prevEmpty = empty;\n empty = !trim(content).length;\n\n if (indented && item) {\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (prefixed) {\n if (emptyLines.length !== 0) {\n item.value.push('');\n item.trail = emptyLines.concat();\n }\n\n item = {\n value: [line],\n indent: size,\n trail: []\n };\n\n items.push(item);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (empty) {\n if (prevEmpty) {\n break;\n }\n\n emptyLines.push(line);\n } else {\n if (prevEmpty) {\n break;\n }\n\n if (interrupt(interuptors, tokenizers, self, [eat, line, true])) {\n break;\n }\n\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n }\n\n index = nextIndex + 1;\n }\n\n node = eat(allLines.join(C_NEWLINE)).reset({\n type: 'list',\n ordered: ordered,\n start: start,\n loose: null,\n children: []\n });\n\n enterTop = self.enterList();\n exitBlockquote = self.enterBlock();\n isLoose = false;\n index = -1;\n length = items.length;\n\n while (++index < length) {\n item = items[index].value.join(C_NEWLINE);\n now = eat.now();\n\n item = eat(item)(listItem(self, item, now), node);\n\n if (item.loose) {\n isLoose = true;\n }\n\n item = items[index].trail.join(C_NEWLINE);\n\n if (index !== length - 1) {\n item += C_NEWLINE;\n }\n\n eat(item);\n }\n\n enterTop();\n exitBlockquote();\n\n node.loose = isLoose;\n\n return node;\n}\n\nfunction listItem(ctx, value, position) {\n var offsets = ctx.offset;\n var fn = ctx.options.pedantic ? pedanticListItem : normalListItem;\n var checked = null;\n var task;\n var indent;\n\n value = fn.apply(null, arguments);\n\n if (ctx.options.gfm) {\n task = value.match(EXPRESSION_TASK_ITEM);\n\n if (task) {\n indent = task[0].length;\n checked = task[1].toLowerCase() === C_X_LOWER;\n offsets[position.line] += indent;\n value = value.slice(indent);\n }\n }\n\n return {\n type: 'listItem',\n loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) ||\n value.charAt(value.length - 1) === C_NEWLINE,\n checked: checked,\n children: ctx.tokenizeBlock(value, position)\n };\n}\n\n/* Create a list-item using overly simple mechanics. */\nfunction pedanticListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer);\n\n /* The initial line was also matched by the below, so\n * we reset the `line`. */\n line = position.line;\n\n return value.replace(EXPRESSION_INITIAL_INDENT, replacer);\n\n /* A simple replacer which removed all matches,\n * and adds their length to `offset`. */\n function replacer($0) {\n offsets[line] = (offsets[line] || 0) + $0.length;\n line++;\n\n return '';\n }\n}\n\n/* Create a list-item using sane mechanics. */\nfunction normalListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n var max;\n var bullet;\n var rest;\n var lines;\n var trimmedLines;\n var index;\n var length;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_BULLET, replacer);\n\n lines = value.split(C_NEWLINE);\n\n trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE);\n\n /* We replaced the initial bullet with something\n * else above, which was used to trick\n * `removeIndentation` into removing some more\n * characters when possible. However, that could\n * result in the initial line to be stripped more\n * than it should be. */\n trimmedLines[0] = rest;\n\n offsets[line] = (offsets[line] || 0) + bullet.length;\n line++;\n\n index = 0;\n length = lines.length;\n\n while (++index < length) {\n offsets[line] = (offsets[line] || 0) +\n lines[index].length - trimmedLines[index].length;\n line++;\n }\n\n return trimmedLines.join(C_NEWLINE);\n\n function replacer($0, $1, $2, $3, $4) {\n bullet = $1 + $2 + $3;\n rest = $4;\n\n /* Make sure that the first nine numbered list items\n * can indent with an extra space. That is, when\n * the bullet did not receive an extra final space. */\n if (Number($2) < 10 && bullet.length % 2 === 1) {\n $2 = C_SPACE + $2;\n }\n\n max = $1 + repeat(C_SPACE, $2.length) + $3;\n\n return max + rest;\n }\n}\n\n\n/***/ }),\n/* 915 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar repeat = __webpack_require__(239);\nvar getIndent = __webpack_require__(402);\n\nmodule.exports = indentation;\n\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\n/* Remove the minimum indent from every line in `value`.\n * Supports both tab, spaced, and mixed indentation (as\n * well as possible). */\nfunction indentation(value, maximum) {\n var values = value.split(C_NEWLINE);\n var position = values.length + 1;\n var minIndent = Infinity;\n var matrix = [];\n var index;\n var indentation;\n var stops;\n var padding;\n\n values.unshift(repeat(C_SPACE, maximum) + '!');\n\n while (position--) {\n indentation = getIndent(values[position]);\n\n matrix[position] = indentation.stops;\n\n if (trim(values[position]).length === 0) {\n continue;\n }\n\n if (indentation.indent) {\n if (indentation.indent > 0 && indentation.indent < minIndent) {\n minIndent = indentation.indent;\n }\n } else {\n minIndent = Infinity;\n\n break;\n }\n }\n\n if (minIndent !== Infinity) {\n position = values.length;\n\n while (position--) {\n stops = matrix[position];\n index = minIndent;\n\n while (index && !(index in stops)) {\n index--;\n }\n\n if (\n trim(values[position]).length !== 0 &&\n minIndent &&\n index !== minIndent\n ) {\n padding = C_TAB;\n } else {\n padding = '';\n }\n\n values[position] = padding + values[position].slice(\n index in stops ? stops[index] + 1 : 0\n );\n }\n }\n\n values.shift();\n\n return values.join(C_NEWLINE);\n}\n\n\n/***/ }),\n/* 916 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = setextHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_EQUALS = '=';\nvar C_DASH = '-';\n\nvar MAX_HEADING_INDENT = 3;\n\n/* Map of characters which can be used to mark setext\n * headers, mapping to their corresponding depth. */\nvar SETEXT_MARKERS = {};\n\nSETEXT_MARKERS[C_EQUALS] = 1;\nSETEXT_MARKERS[C_DASH] = 2;\n\nfunction setextHeading(eat, value, silent) {\n var self = this;\n var now = eat.now();\n var length = value.length;\n var index = -1;\n var subvalue = '';\n var content;\n var queue;\n var character;\n var marker;\n var depth;\n\n /* Eat initial indentation. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE || index >= MAX_HEADING_INDENT) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat content. */\n content = '';\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n index--;\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n content += queue + character;\n queue = '';\n }\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n /* Ensure the content is followed by a newline and a\n * valid marker. */\n character = value.charAt(++index);\n marker = value.charAt(++index);\n\n if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) {\n return;\n }\n\n subvalue += character;\n\n /* Eat Setext-line. */\n queue = marker;\n depth = SETEXT_MARKERS[marker];\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n if (character !== C_NEWLINE) {\n return;\n }\n\n index--;\n break;\n }\n\n queue += character;\n }\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue + queue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n/***/ }),\n/* 917 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar openCloseTag = __webpack_require__(403).openCloseTag;\n\nmodule.exports = blockHTML;\n\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_LT = '<';\n\nfunction blockHTML(eat, value, silent) {\n var self = this;\n var blocks = self.options.blocks;\n var length = value.length;\n var index = 0;\n var next;\n var line;\n var offset;\n var character;\n var count;\n var sequence;\n var subvalue;\n\n var sequences = [\n [/^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true],\n [/^/, true],\n [/^<\\?/, /\\?>/, true],\n [/^/, true],\n [/^/, true],\n [new RegExp('^|$))', 'i'), /^$/, true],\n [new RegExp(openCloseTag.source + '\\\\s*$'), /^$/, false]\n ];\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_LT) {\n return;\n }\n\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index, next);\n offset = -1;\n count = sequences.length;\n\n while (++offset < count) {\n if (sequences[offset][0].test(line)) {\n sequence = sequences[offset];\n break;\n }\n }\n\n if (!sequence) {\n return;\n }\n\n if (silent) {\n return sequence[2];\n }\n\n index = next;\n\n if (!sequence[1].test(line)) {\n while (index < length) {\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index + 1, next);\n\n if (sequence[1].test(line)) {\n if (line) {\n index = next;\n }\n\n break;\n }\n\n index = next;\n }\n }\n\n subvalue = value.slice(0, index);\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n/***/ }),\n/* 918 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar normalize = __webpack_require__(242);\n\nmodule.exports = footnoteDefinition;\nfootnoteDefinition.notInList = true;\nfootnoteDefinition.notInBlock = true;\n\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_CARET = '^';\nvar C_COLON = ':';\n\nvar EXPRESSION_INITIAL_TAB = /^( {4}|\\t)?/gm;\n\nfunction footnoteDefinition(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var index;\n var length;\n var subvalue;\n var now;\n var currentLine;\n var content;\n var queue;\n var subqueue;\n var character;\n var identifier;\n var add;\n var exit;\n\n if (!self.options.footnotes) {\n return;\n }\n\n index = 0;\n length = value.length;\n subvalue = '';\n now = eat.now();\n currentLine = now.line;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n if (\n value.charAt(index) !== C_BRACKET_OPEN ||\n value.charAt(index + 1) !== C_CARET\n ) {\n return;\n }\n\n subvalue += C_BRACKET_OPEN + C_CARET;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n identifier = normalize(queue);\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n queue = '';\n content = '';\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n subqueue = character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n queue += subqueue;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n if (subqueue.length === 0) {\n break;\n }\n\n queue += subqueue;\n }\n\n if (queue) {\n content += queue;\n queue = '';\n }\n\n content += character;\n index++;\n }\n\n subvalue += content;\n\n content = content.replace(EXPRESSION_INITIAL_TAB, function (line) {\n offsets[currentLine] = (offsets[currentLine] || 0) + line.length;\n currentLine++;\n\n return '';\n });\n\n add = eat(subvalue);\n\n exit = self.enterBlock();\n content = self.tokenizeBlock(content, now);\n exit();\n\n return add({\n type: 'footnoteDefinition',\n identifier: identifier,\n children: content\n });\n}\n\n\n/***/ }),\n/* 919 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = collapse\n\n/* collapse(' \\t\\nbar \\nbaz\\t'); // ' bar baz ' */\nfunction collapse(value) {\n return String(value).replace(/\\s+/g, ' ')\n}\n\n\n/***/ }),\n/* 920 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar normalize = __webpack_require__(242);\n\nmodule.exports = definition;\ndefinition.notInList = true;\ndefinition.notInBlock = true;\n\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_COLON = ':';\nvar C_LT = '<';\nvar C_GT = '>';\n\nfunction definition(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var beforeURL;\n var beforeTitle;\n var queue;\n var character;\n var test;\n var identifier;\n var url;\n var title;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n identifier = queue;\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!isEnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === isEnclosedURLCharacter.delimiter) {\n subvalue += C_LT + queue + character;\n index++;\n } else {\n if (commonmark) {\n return;\n }\n\n index -= queue.length + 1;\n queue = '';\n }\n }\n\n if (!queue) {\n while (index < length) {\n character = value.charAt(index);\n\n if (!isUnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n subvalue += queue;\n }\n\n if (!queue) {\n return;\n }\n\n url = queue;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n test = null;\n\n if (character === C_DOUBLE_QUOTE) {\n test = C_DOUBLE_QUOTE;\n } else if (character === C_SINGLE_QUOTE) {\n test = C_SINGLE_QUOTE;\n } else if (character === C_PAREN_OPEN) {\n test = C_PAREN_CLOSE;\n }\n\n if (!test) {\n queue = '';\n index = subvalue.length;\n } else if (queue) {\n subvalue += queue + character;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === test) {\n break;\n }\n\n if (character === C_NEWLINE) {\n index++;\n character = value.charAt(index);\n\n if (character === C_NEWLINE || character === test) {\n return;\n }\n\n queue += C_NEWLINE;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== test) {\n return;\n }\n\n beforeTitle = subvalue;\n subvalue += queue + character;\n index++;\n title = queue;\n queue = '';\n } else {\n return;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n if (silent) {\n return true;\n }\n\n beforeURL = eat(beforeURL).test().end;\n url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n return eat(subvalue)({\n type: 'definition',\n identifier: normalize(identifier),\n title: title || null,\n url: url\n });\n }\n}\n\n/* Check if `character` can be inside an enclosed URI. */\nfunction isEnclosedURLCharacter(character) {\n return character !== C_GT &&\n character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE;\n}\n\nisEnclosedURLCharacter.delimiter = C_GT;\n\n/* Check if `character` can be inside an unclosed URI. */\nfunction isUnclosedURLCharacter(character) {\n return character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE &&\n !whitespace(character);\n}\n\n\n/***/ }),\n/* 921 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\n\nmodule.exports = table;\n\nvar C_BACKSLASH = '\\\\';\nvar C_TICK = '`';\nvar C_DASH = '-';\nvar C_PIPE = '|';\nvar C_COLON = ':';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\nvar MIN_TABLE_COLUMNS = 1;\nvar MIN_TABLE_ROWS = 2;\n\nvar TABLE_ALIGN_LEFT = 'left';\nvar TABLE_ALIGN_CENTER = 'center';\nvar TABLE_ALIGN_RIGHT = 'right';\nvar TABLE_ALIGN_NONE = null;\n\nfunction table(eat, value, silent) {\n var self = this;\n var index;\n var alignments;\n var alignment;\n var subvalue;\n var row;\n var length;\n var lines;\n var queue;\n var character;\n var hasDash;\n var align;\n var cell;\n var preamble;\n var count;\n var opening;\n var now;\n var position;\n var lineCount;\n var line;\n var rows;\n var table;\n var lineIndex;\n var pipeIndex;\n var first;\n\n /* Exit when not in gfm-mode. */\n if (!self.options.gfm) {\n return;\n }\n\n /* Get the rows.\n * Detecting tables soon is hard, so there are some\n * checks for performance here, such as the minimum\n * number of rows, and allowed characters in the\n * alignment row. */\n index = 0;\n lineCount = 0;\n length = value.length + 1;\n lines = [];\n\n while (index < length) {\n lineIndex = value.indexOf(C_NEWLINE, index);\n pipeIndex = value.indexOf(C_PIPE, index + 1);\n\n if (lineIndex === -1) {\n lineIndex = value.length;\n }\n\n if (pipeIndex === -1 || pipeIndex > lineIndex) {\n if (lineCount < MIN_TABLE_ROWS) {\n return;\n }\n\n break;\n }\n\n lines.push(value.slice(index, lineIndex));\n lineCount++;\n index = lineIndex + 1;\n }\n\n /* Parse the alignment row. */\n subvalue = lines.join(C_NEWLINE);\n alignments = lines.splice(1, 1)[0] || [];\n index = 0;\n length = alignments.length;\n lineCount--;\n alignment = false;\n align = [];\n\n while (index < length) {\n character = alignments.charAt(index);\n\n if (character === C_PIPE) {\n hasDash = null;\n\n if (alignment === false) {\n if (first === false) {\n return;\n }\n } else {\n align.push(alignment);\n alignment = false;\n }\n\n first = false;\n } else if (character === C_DASH) {\n hasDash = true;\n alignment = alignment || TABLE_ALIGN_NONE;\n } else if (character === C_COLON) {\n if (alignment === TABLE_ALIGN_LEFT) {\n alignment = TABLE_ALIGN_CENTER;\n } else if (hasDash && alignment === TABLE_ALIGN_NONE) {\n alignment = TABLE_ALIGN_RIGHT;\n } else {\n alignment = TABLE_ALIGN_LEFT;\n }\n } else if (!whitespace(character)) {\n return;\n }\n\n index++;\n }\n\n if (alignment !== false) {\n align.push(alignment);\n }\n\n /* Exit when without enough columns. */\n if (align.length < MIN_TABLE_COLUMNS) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n /* Parse the rows. */\n position = -1;\n rows = [];\n\n table = eat(subvalue).reset({\n type: 'table',\n align: align,\n children: rows\n });\n\n while (++position < lineCount) {\n line = lines[position];\n row = {type: 'tableRow', children: []};\n\n /* Eat a newline character when this is not the\n * first row. */\n if (position) {\n eat(C_NEWLINE);\n }\n\n /* Eat the row. */\n eat(line).reset(row, table);\n\n length = line.length + 1;\n index = 0;\n queue = '';\n cell = '';\n preamble = true;\n count = null;\n opening = null;\n\n while (index < length) {\n character = line.charAt(index);\n\n if (character === C_TAB || character === C_SPACE) {\n if (cell) {\n queue += character;\n } else {\n eat(character);\n }\n\n index++;\n continue;\n }\n\n if (character === '' || character === C_PIPE) {\n if (preamble) {\n eat(character);\n } else {\n if (character && opening) {\n queue += character;\n index++;\n continue;\n }\n\n if ((cell || character) && !preamble) {\n subvalue = cell;\n\n if (queue.length > 1) {\n if (character) {\n subvalue += queue.slice(0, queue.length - 1);\n queue = queue.charAt(queue.length - 1);\n } else {\n subvalue += queue;\n queue = '';\n }\n }\n\n now = eat.now();\n\n eat(subvalue)({\n type: 'tableCell',\n children: self.tokenizeInline(cell, now)\n }, row);\n }\n\n eat(queue + character);\n\n queue = '';\n cell = '';\n }\n } else {\n if (queue) {\n cell += queue;\n queue = '';\n }\n\n cell += character;\n\n if (character === C_BACKSLASH && index !== length - 2) {\n cell += line.charAt(index + 1);\n index++;\n }\n\n if (character === C_TICK) {\n count = 1;\n\n while (line.charAt(index + 1) === character) {\n cell += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n }\n }\n\n preamble = false;\n index++;\n }\n\n /* Eat the alignment row. */\n if (!position) {\n eat(C_NEWLINE + alignments);\n }\n }\n\n return table;\n}\n\n\n/***/ }),\n/* 922 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar decimal = __webpack_require__(180);\nvar trimTrailingLines = __webpack_require__(240);\nvar interrupt = __webpack_require__(241);\n\nmodule.exports = paragraph;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar TAB_SIZE = 4;\n\n/* Tokenise paragraph. */\nfunction paragraph(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var commonmark = settings.commonmark;\n var gfm = settings.gfm;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptParagraph;\n var index = value.indexOf(C_NEWLINE);\n var length = value.length;\n var position;\n var subvalue;\n var character;\n var size;\n var now;\n\n while (index < length) {\n /* Eat everything if there’s no following newline. */\n if (index === -1) {\n index = length;\n break;\n }\n\n /* Stop if the next character is NEWLINE. */\n if (value.charAt(index + 1) === C_NEWLINE) {\n break;\n }\n\n /* In commonmark-mode, following indented lines\n * are part of the paragraph. */\n if (commonmark) {\n size = 0;\n position = index + 1;\n\n while (position < length) {\n character = value.charAt(position);\n\n if (character === C_TAB) {\n size = TAB_SIZE;\n break;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n position++;\n }\n\n if (size >= TAB_SIZE) {\n index = value.indexOf(C_NEWLINE, index + 1);\n continue;\n }\n }\n\n subvalue = value.slice(index + 1);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) {\n break;\n }\n\n /* Break if the following line starts a list, when\n * already in a list, or when in commonmark, or when\n * in gfm mode and the bullet is *not* numeric. */\n if (\n tokenizers.list.call(self, eat, subvalue, true) &&\n (\n self.inList ||\n commonmark ||\n (gfm && !decimal(trim.left(subvalue).charAt(0)))\n )\n ) {\n break;\n }\n\n position = index;\n index = value.indexOf(C_NEWLINE, index + 1);\n\n if (index !== -1 && trim(value.slice(position, index)) === '') {\n index = position;\n break;\n }\n }\n\n subvalue = value.slice(0, index);\n\n if (trim(subvalue) === '') {\n eat(subvalue);\n\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n subvalue = trimTrailingLines(subvalue);\n\n return eat(subvalue)({\n type: 'paragraph',\n children: self.tokenizeInline(subvalue, now)\n });\n}\n\n\n/***/ }),\n/* 923 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar locate = __webpack_require__(924);\n\nmodule.exports = escape;\nescape.locator = locate;\n\nfunction escape(eat, value, silent) {\n var self = this;\n var character;\n var node;\n\n if (value.charAt(0) === '\\\\') {\n character = value.charAt(1);\n\n if (self.escape.indexOf(character) !== -1) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (character === '\\n') {\n node = {type: 'break'};\n } else {\n node = {\n type: 'text',\n value: character\n };\n }\n\n return eat('\\\\' + character)(node);\n }\n }\n}\n\n\n/***/ }),\n/* 924 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('\\\\', fromIndex);\n}\n\n\n/***/ }),\n/* 925 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar decode = __webpack_require__(238);\nvar locate = __webpack_require__(404);\n\nmodule.exports = autoLink;\nautoLink.locator = locate;\nautoLink.notInLink = true;\n\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_AT_SIGN = '@';\nvar C_SLASH = '/';\nvar MAILTO = 'mailto:';\nvar MAILTO_LENGTH = MAILTO.length;\n\n/* Tokenise a link. */\nfunction autoLink(eat, value, silent) {\n var self;\n var subvalue;\n var length;\n var index;\n var queue;\n var character;\n var hasAtCharacter;\n var link;\n var now;\n var content;\n var tokenizers;\n var exit;\n\n if (value.charAt(0) !== C_LT) {\n return;\n }\n\n self = this;\n subvalue = '';\n length = value.length;\n index = 0;\n queue = '';\n hasAtCharacter = false;\n link = '';\n\n index++;\n subvalue = C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n whitespace(character) ||\n character === C_GT ||\n character === C_AT_SIGN ||\n (character === ':' && value.charAt(index + 1) === C_SLASH)\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n link += queue;\n queue = '';\n\n character = value.charAt(index);\n link += character;\n index++;\n\n if (character === C_AT_SIGN) {\n hasAtCharacter = true;\n } else {\n if (\n character !== ':' ||\n value.charAt(index + 1) !== C_SLASH\n ) {\n return;\n }\n\n link += C_SLASH;\n index++;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_GT) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || character !== C_GT) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n link += queue;\n content = link;\n subvalue += link + character;\n now = eat.now();\n now.column++;\n now.offset++;\n\n if (hasAtCharacter) {\n if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) {\n content = content.substr(MAILTO_LENGTH);\n now.column += MAILTO_LENGTH;\n now.offset += MAILTO_LENGTH;\n } else {\n link = MAILTO + link;\n }\n }\n\n /* Temporarily remove all tokenizers except text in autolinks. */\n tokenizers = self.inlineTokenizers;\n self.inlineTokenizers = {text: tokenizers.text};\n\n exit = self.enterLink();\n\n content = self.tokenizeInline(content, now);\n\n self.inlineTokenizers = tokenizers;\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(link, {nonTerminated: false}),\n children: content\n });\n}\n\n\n/***/ }),\n/* 926 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar decode = __webpack_require__(238);\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(927);\n\nmodule.exports = url;\nurl.locator = locate;\nurl.notInLink = true;\n\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_AT_SIGN = '@';\n\nvar HTTP_PROTOCOL = 'http://';\nvar HTTPS_PROTOCOL = 'https://';\nvar MAILTO_PROTOCOL = 'mailto:';\n\nvar PROTOCOLS = [\n HTTP_PROTOCOL,\n HTTPS_PROTOCOL,\n MAILTO_PROTOCOL\n];\n\nvar PROTOCOLS_LENGTH = PROTOCOLS.length;\n\nfunction url(eat, value, silent) {\n var self = this;\n var subvalue;\n var content;\n var character;\n var index;\n var position;\n var protocol;\n var match;\n var length;\n var queue;\n var parenCount;\n var nextCharacter;\n var exit;\n\n if (!self.options.gfm) {\n return;\n }\n\n subvalue = '';\n index = -1;\n length = PROTOCOLS_LENGTH;\n\n while (++index < length) {\n protocol = PROTOCOLS[index];\n match = value.slice(0, protocol.length);\n\n if (match.toLowerCase() === protocol) {\n subvalue = match;\n break;\n }\n }\n\n if (!subvalue) {\n return;\n }\n\n index = subvalue.length;\n length = value.length;\n queue = '';\n parenCount = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_LT) {\n break;\n }\n\n if (\n character === '.' ||\n character === ',' ||\n character === ':' ||\n character === ';' ||\n character === '\"' ||\n character === '\\'' ||\n character === ')' ||\n character === ']'\n ) {\n nextCharacter = value.charAt(index + 1);\n\n if (!nextCharacter || whitespace(nextCharacter)) {\n break;\n }\n }\n\n if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) {\n parenCount++;\n }\n\n if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) {\n parenCount--;\n\n if (parenCount < 0) {\n break;\n }\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue += queue;\n content = subvalue;\n\n if (protocol === MAILTO_PROTOCOL) {\n position = queue.indexOf(C_AT_SIGN);\n\n if (position === -1 || position === length - 1) {\n return;\n }\n\n content = content.substr(MAILTO_PROTOCOL.length);\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n exit = self.enterLink();\n content = self.tokenizeInline(content, eat.now());\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(subvalue, {nonTerminated: false}),\n children: content\n });\n}\n\n\n/***/ }),\n/* 927 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nvar PROTOCOLS = ['https://', 'http://', 'mailto:'];\n\nfunction locate(value, fromIndex) {\n var length = PROTOCOLS.length;\n var index = -1;\n var min = -1;\n var position;\n\n if (!this.options.gfm) {\n return -1;\n }\n\n while (++index < length) {\n position = value.indexOf(PROTOCOLS[index], fromIndex);\n\n if (position !== -1 && (position < min || min === -1)) {\n min = position;\n }\n }\n\n return min;\n}\n\n\n/***/ }),\n/* 928 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar alphabetical = __webpack_require__(400);\nvar locate = __webpack_require__(404);\nvar tag = __webpack_require__(403).tag;\n\nmodule.exports = inlineHTML;\ninlineHTML.locator = locate;\n\nvar EXPRESSION_HTML_LINK_OPEN = /^/i;\n\nfunction inlineHTML(eat, value, silent) {\n var self = this;\n var length = value.length;\n var character;\n var subvalue;\n\n if (value.charAt(0) !== '<' || length < 3) {\n return;\n }\n\n character = value.charAt(1);\n\n if (\n !alphabetical(character) &&\n character !== '?' &&\n character !== '!' &&\n character !== '/'\n ) {\n return;\n }\n\n subvalue = value.match(tag);\n\n if (!subvalue) {\n return;\n }\n\n /* istanbul ignore if - not used yet. */\n if (silent) {\n return true;\n }\n\n subvalue = subvalue[0];\n\n if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) {\n self.inLink = true;\n } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) {\n self.inLink = false;\n }\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n/***/ }),\n/* 929 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(405);\n\nmodule.exports = link;\nlink.locator = locate;\n\nvar own = {}.hasOwnProperty;\n\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_TICK = '`';\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\n\n/* Map of characters, which can be used to mark link\n * and image titles. */\nvar LINK_MARKERS = {};\n\nLINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nLINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\n\n/* Map of characters, which can be used to mark link\n * and image titles in commonmark-mode. */\nvar COMMONMARK_LINK_MARKERS = {};\n\nCOMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE;\n\nfunction link(eat, value, silent) {\n var self = this;\n var subvalue = '';\n var index = 0;\n var character = value.charAt(0);\n var pedantic = self.options.pedantic;\n var commonmark = self.options.commonmark;\n var gfm = self.options.gfm;\n var closed;\n var count;\n var opening;\n var beforeURL;\n var beforeTitle;\n var subqueue;\n var hasMarker;\n var markers;\n var isImage;\n var content;\n var marker;\n var length;\n var title;\n var depth;\n var queue;\n var url;\n var now;\n var exit;\n var node;\n\n /* Detect whether this is an image. */\n if (character === '!') {\n isImage = true;\n subvalue = character;\n character = value.charAt(++index);\n }\n\n /* Eat the opening. */\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n /* Exit when this is a link and we’re already inside\n * a link. */\n if (!isImage && self.inLink) {\n return;\n }\n\n subvalue += character;\n queue = '';\n index++;\n\n /* Eat the content. */\n length = value.length;\n now = eat.now();\n depth = 0;\n\n now.column += index;\n now.offset += index;\n\n while (index < length) {\n character = value.charAt(index);\n subqueue = character;\n\n if (character === C_TICK) {\n /* Inline-code in link content. */\n count = 1;\n\n while (value.charAt(index + 1) === C_TICK) {\n subqueue += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n } else if (character === C_BACKSLASH) {\n /* Allow brackets to be escaped. */\n index++;\n subqueue += value.charAt(index);\n /* In GFM mode, brackets in code still count.\n * In all other modes, they don’t. This empty\n * block prevents the next statements are\n * entered. */\n } else if ((!opening || gfm) && character === C_BRACKET_OPEN) {\n depth++;\n } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) {\n if (depth) {\n depth--;\n } else {\n /* Allow white-space between content and\n * url in GFM mode. */\n if (!pedantic) {\n while (index < length) {\n character = value.charAt(index + 1);\n\n if (!whitespace(character)) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n }\n\n if (value.charAt(index + 1) !== C_PAREN_OPEN) {\n return;\n }\n\n subqueue += C_PAREN_OPEN;\n closed = true;\n index++;\n\n break;\n }\n }\n\n queue += subqueue;\n subqueue = '';\n index++;\n }\n\n /* Eat the content closing. */\n if (!closed) {\n return;\n }\n\n content = queue;\n subvalue += queue + subqueue;\n index++;\n\n /* Eat white-space. */\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat the URL. */\n character = value.charAt(index);\n markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS;\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n beforeURL += C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_GT) {\n break;\n }\n\n if (commonmark && character === '\\n') {\n return;\n }\n\n queue += character;\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n subvalue += C_LT + queue + C_GT;\n url = queue;\n index++;\n } else {\n character = null;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (subqueue && own.call(markers, character)) {\n break;\n }\n\n if (whitespace(character)) {\n if (!pedantic) {\n break;\n }\n\n subqueue += character;\n } else {\n if (character === C_PAREN_OPEN) {\n depth++;\n } else if (character === C_PAREN_CLOSE) {\n if (depth === 0) {\n break;\n }\n\n depth--;\n }\n\n queue += subqueue;\n subqueue = '';\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n }\n\n index++;\n }\n\n subvalue += queue;\n url = queue;\n index = subvalue.length;\n }\n\n /* Eat white-space. */\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n subvalue += queue;\n\n /* Eat the title. */\n if (queue && own.call(markers, character)) {\n index++;\n subvalue += character;\n queue = '';\n marker = markers[character];\n beforeTitle = subvalue;\n\n /* In commonmark-mode, things are pretty easy: the\n * marker cannot occur inside the title.\n *\n * Non-commonmark does, however, support nested\n * delimiters. */\n if (commonmark) {\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n index++;\n queue += character;\n }\n\n character = value.charAt(index);\n\n if (character !== marker) {\n return;\n }\n\n title = queue;\n subvalue += queue + character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n } else {\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n if (hasMarker) {\n queue += marker + subqueue;\n subqueue = '';\n }\n\n hasMarker = true;\n } else if (!hasMarker) {\n queue += character;\n } else if (character === C_PAREN_CLOSE) {\n subvalue += queue + marker + subqueue;\n title = queue;\n break;\n } else if (whitespace(character)) {\n subqueue += character;\n } else {\n queue += marker + subqueue + character;\n subqueue = '';\n hasMarker = false;\n }\n\n index++;\n }\n }\n }\n\n if (value.charAt(index) !== C_PAREN_CLOSE) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n subvalue += C_PAREN_CLOSE;\n\n url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n node = {\n type: isImage ? 'image' : 'link',\n title: title || null,\n url: url\n };\n\n if (isImage) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n } else {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n }\n\n return eat(subvalue)(node);\n}\n\n\n/***/ }),\n/* 930 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(405);\nvar normalize = __webpack_require__(242);\n\nmodule.exports = reference;\nreference.locator = locate;\n\nvar T_LINK = 'link';\nvar T_IMAGE = 'image';\nvar T_FOOTNOTE = 'footnote';\nvar REFERENCE_TYPE_SHORTCUT = 'shortcut';\nvar REFERENCE_TYPE_COLLAPSED = 'collapsed';\nvar REFERENCE_TYPE_FULL = 'full';\nvar C_CARET = '^';\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\n\nfunction reference(eat, value, silent) {\n var self = this;\n var character = value.charAt(0);\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var intro = '';\n var type = T_LINK;\n var referenceType = REFERENCE_TYPE_SHORTCUT;\n var content;\n var identifier;\n var now;\n var node;\n var exit;\n var queue;\n var bracketed;\n var depth;\n\n /* Check whether we’re eating an image. */\n if (character === '!') {\n type = T_IMAGE;\n intro = character;\n character = value.charAt(++index);\n }\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n intro += character;\n queue = '';\n\n /* Check whether we’re eating a footnote. */\n if (self.options.footnotes && value.charAt(index) === C_CARET) {\n /* Exit if `![^` is found, so the `!` will be seen as text after this,\n * and we’ll enter this function again when `[^` is found. */\n if (type === T_IMAGE) {\n return;\n }\n\n intro += C_CARET;\n index++;\n type = T_FOOTNOTE;\n }\n\n /* Eat the text. */\n depth = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN) {\n bracketed = true;\n depth++;\n } else if (character === C_BRACKET_CLOSE) {\n if (!depth) {\n break;\n }\n\n depth--;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n\n subvalue = queue;\n content = queue;\n character = value.charAt(index);\n\n if (character !== C_BRACKET_CLOSE) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n /* Inline footnotes cannot have an identifier. */\n if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) {\n identifier = '';\n queue += character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n identifier += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n identifier += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED;\n queue += identifier + character;\n index++;\n } else {\n identifier = '';\n }\n\n subvalue += queue;\n queue = '';\n } else {\n if (!content) {\n return;\n }\n\n identifier = content;\n }\n\n /* Brackets cannot be inside the identifier. */\n if (referenceType !== REFERENCE_TYPE_FULL && bracketed) {\n return;\n }\n\n subvalue = intro + subvalue;\n\n if (type === T_LINK && self.inLink) {\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) {\n return eat(subvalue)({\n type: 'footnote',\n children: this.tokenizeInline(content, eat.now())\n });\n }\n\n now = eat.now();\n now.column += intro.length;\n now.offset += intro.length;\n identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content;\n\n node = {\n type: type + 'Reference',\n identifier: normalize(identifier)\n };\n\n if (type === T_LINK || type === T_IMAGE) {\n node.referenceType = referenceType;\n }\n\n if (type === T_LINK) {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n } else if (type === T_IMAGE) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n }\n\n return eat(subvalue)(node);\n}\n\n\n/***/ }),\n/* 931 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(932);\n\nmodule.exports = strong;\nstrong.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction strong(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (\n (character !== C_ASTERISK && character !== C_UNDERSCORE) ||\n value.charAt(++index) !== character\n ) {\n return;\n }\n\n pedantic = self.options.pedantic;\n marker = character;\n subvalue = marker + marker;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (\n character === marker &&\n value.charAt(index + 1) === marker &&\n (!pedantic || !whitespace(prev))\n ) {\n character = value.charAt(index + 2);\n\n if (character !== marker) {\n if (!trim(queue)) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n return eat(subvalue + queue + subvalue)({\n type: 'strong',\n children: self.tokenizeInline(queue, now)\n });\n }\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n/***/ }),\n/* 932 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('**', fromIndex);\n var underscore = value.indexOf('__', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n/***/ }),\n/* 933 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar trim = __webpack_require__(119);\nvar word = __webpack_require__(934);\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(935);\n\nmodule.exports = emphasis;\nemphasis.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction emphasis(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (character !== C_ASTERISK && character !== C_UNDERSCORE) {\n return;\n }\n\n pedantic = self.options.pedantic;\n subvalue = character;\n marker = character;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (character === marker && (!pedantic || !whitespace(prev))) {\n character = value.charAt(++index);\n\n if (character !== marker) {\n if (!trim(queue) || prev === marker) {\n return;\n }\n\n if (!pedantic && marker === C_UNDERSCORE && word(character)) {\n queue += marker;\n continue;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column++;\n now.offset++;\n\n return eat(subvalue + queue + marker)({\n type: 'emphasis',\n children: self.tokenizeInline(queue, now)\n });\n }\n\n queue += marker;\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n/***/ }),\n/* 934 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = wordCharacter\n\nvar fromCode = String.fromCharCode\nvar re = /\\w/\n\n/* Check if the given character code, or the character\n * code at the first character, is a word character. */\nfunction wordCharacter(character) {\n return re.test(\n typeof character === 'number' ? fromCode(character) : character.charAt(0)\n )\n}\n\n\n/***/ }),\n/* 935 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('*', fromIndex);\n var underscore = value.indexOf('_', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n/***/ }),\n/* 936 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(937);\n\nmodule.exports = strikethrough;\nstrikethrough.locator = locate;\n\nvar C_TILDE = '~';\nvar DOUBLE = '~~';\n\nfunction strikethrough(eat, value, silent) {\n var self = this;\n var character = '';\n var previous = '';\n var preceding = '';\n var subvalue = '';\n var index;\n var length;\n var now;\n\n if (\n !self.options.gfm ||\n value.charAt(0) !== C_TILDE ||\n value.charAt(1) !== C_TILDE ||\n whitespace(value.charAt(2))\n ) {\n return;\n }\n\n index = 1;\n length = value.length;\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (\n character === C_TILDE &&\n previous === C_TILDE &&\n (!preceding || !whitespace(preceding))\n ) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n return eat(DOUBLE + subvalue + DOUBLE)({\n type: 'delete',\n children: self.tokenizeInline(subvalue, now)\n });\n }\n\n subvalue += previous;\n preceding = previous;\n previous = character;\n }\n}\n\n\n/***/ }),\n/* 937 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('~~', fromIndex);\n}\n\n\n/***/ }),\n/* 938 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar whitespace = __webpack_require__(54);\nvar locate = __webpack_require__(939);\n\nmodule.exports = inlineCode;\ninlineCode.locator = locate;\n\nvar C_TICK = '`';\n\n/* Tokenise inline code. */\nfunction inlineCode(eat, value, silent) {\n var length = value.length;\n var index = 0;\n var queue = '';\n var tickQueue = '';\n var contentQueue;\n var subqueue;\n var count;\n var openingCount;\n var subvalue;\n var character;\n var found;\n var next;\n\n while (index < length) {\n if (value.charAt(index) !== C_TICK) {\n break;\n }\n\n queue += C_TICK;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue = queue;\n openingCount = index;\n queue = '';\n next = value.charAt(index);\n count = 0;\n\n while (index < length) {\n character = next;\n next = value.charAt(index + 1);\n\n if (character === C_TICK) {\n count++;\n tickQueue += character;\n } else {\n count = 0;\n queue += character;\n }\n\n if (count && next !== C_TICK) {\n if (count === openingCount) {\n subvalue += queue + tickQueue;\n found = true;\n break;\n }\n\n queue += tickQueue;\n tickQueue = '';\n }\n\n index++;\n }\n\n if (!found) {\n if (openingCount % 2 !== 0) {\n return;\n }\n\n queue = '';\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n contentQueue = '';\n subqueue = '';\n length = queue.length;\n index = -1;\n\n while (++index < length) {\n character = queue.charAt(index);\n\n if (whitespace(character)) {\n subqueue += character;\n continue;\n }\n\n if (subqueue) {\n if (contentQueue) {\n contentQueue += subqueue;\n }\n\n subqueue = '';\n }\n\n contentQueue += character;\n }\n\n return eat(subvalue)({\n type: 'inlineCode',\n value: contentQueue\n });\n}\n\n\n/***/ }),\n/* 939 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('`', fromIndex);\n}\n\n\n/***/ }),\n/* 940 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar locate = __webpack_require__(941);\n\nmodule.exports = hardBreak;\nhardBreak.locator = locate;\n\nvar MIN_BREAK_LENGTH = 2;\n\nfunction hardBreak(eat, value, silent) {\n var length = value.length;\n var index = -1;\n var queue = '';\n var character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === '\\n') {\n if (index < MIN_BREAK_LENGTH) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n queue += character;\n\n return eat(queue)({type: 'break'});\n }\n\n if (character !== ' ') {\n return;\n }\n\n queue += character;\n }\n}\n\n\n/***/ }),\n/* 941 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var index = value.indexOf('\\n', fromIndex);\n\n while (index > fromIndex) {\n if (value.charAt(index - 1) !== ' ') {\n break;\n }\n\n index--;\n }\n\n return index;\n}\n\n\n/***/ }),\n/* 942 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = text;\n\nfunction text(eat, value, silent) {\n var self = this;\n var methods;\n var tokenizers;\n var index;\n var length;\n var subvalue;\n var position;\n var tokenizer;\n var name;\n var min;\n var now;\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n methods = self.inlineMethods;\n length = methods.length;\n tokenizers = self.inlineTokenizers;\n index = -1;\n min = value.length;\n\n while (++index < length) {\n name = methods[index];\n\n if (name === 'text' || !tokenizers[name]) {\n continue;\n }\n\n tokenizer = tokenizers[name].locator;\n\n if (!tokenizer) {\n eat.file.fail('Missing locator: `' + name + '`');\n }\n\n position = tokenizer.call(self, value, 1);\n\n if (position !== -1 && position < min) {\n min = position;\n }\n }\n\n subvalue = value.slice(0, min);\n now = eat.now();\n\n self.decode(subvalue, now, function (content, position, source) {\n eat(source || content)({\n type: 'text',\n value: content\n });\n });\n}\n\n\n/***/ }),\n/* 943 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar visitWithParents = __webpack_require__(944);\n\nfunction addListMetadata() {\n return function (ast) {\n visitWithParents(ast, 'list', function (listNode, parents) {\n var depth = 0, i, n;\n for (i = 0, n = parents.length; i < n; i++) {\n if (parents[i].type === 'list') depth += 1;\n }\n for (i = 0, n = listNode.children.length; i < n; i++) {\n var child = listNode.children[i];\n child.index = i;\n child.ordered = listNode.ordered;\n }\n listNode.depth = depth;\n });\n return ast;\n };\n}\n\nmodule.exports = addListMetadata;\n\n\n/***/ }),\n/* 944 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/* Expose. */\nmodule.exports = visitParents\n\n/* Visit. */\nfunction visitParents(tree, type, visitor) {\n var stack = []\n\n if (typeof type === 'function') {\n visitor = type\n type = null\n }\n\n one(tree)\n\n /* Visit a single node. */\n function one(node) {\n var result\n\n if (!type || node.type === type) {\n result = visitor(node, stack.concat())\n }\n\n if (node.children && result !== false) {\n return all(node.children, node)\n }\n\n return result\n }\n\n /* Visit children in `parent`. */\n function all(children, parent) {\n var length = children.length\n var index = -1\n var child\n\n stack.push(parent)\n\n while (++index < length) {\n child = children[index]\n\n if (child && one(child) === false) {\n return false\n }\n }\n\n stack.pop()\n\n return true\n }\n}\n\n\n/***/ }),\n/* 945 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/**\n * Naive, simple plugin to match inline nodes without attributes\n * This allows say foo, but not foo\n * For proper HTML support, you'll want a different plugin\n **/\nvar visit = __webpack_require__(181);\n\nvar type = 'virtualHtml';\nvar selfClosingRe = /^<(area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)\\s*\\/?>$/i;\nvar simpleTagRe = /^<(\\/?)([a-z]+)\\s*>$/;\n\nmodule.exports = function (tree) {\n var open = void 0;\n var currentParent = void 0;\n visit(tree, 'html', function (node, index, parent) {\n if (currentParent !== parent) {\n open = [];\n currentParent = parent;\n }\n\n var selfClosing = getSelfClosing(node);\n if (selfClosing) {\n parent.children.splice(index, 1, {\n type: type,\n tag: selfClosing,\n position: node.position\n });\n return true;\n }\n\n var current = getSimpleTag(node, parent);\n if (!current) {\n return true;\n }\n\n var matching = findAndPull(open, current.tag);\n\n if (matching) {\n parent.children.splice(index, 0, virtual(current, matching, parent));\n } else if (!current.opening) {\n open.push(current);\n }\n\n return true;\n }, true // Iterate in reverse\n );\n\n return tree;\n};\n\nfunction findAndPull(open, matchingTag) {\n var i = open.length;\n while (i--) {\n if (open[i].tag === matchingTag) {\n return open.splice(i, 1)[0];\n }\n }\n\n return false;\n}\n\nfunction getSimpleTag(node, parent) {\n var match = node.value.match(simpleTagRe);\n return match ? { tag: match[2], opening: !match[1], node: node } : false;\n}\n\nfunction getSelfClosing(node) {\n var match = node.value.match(selfClosingRe);\n return match ? match[1] : false;\n}\n\nfunction virtual(fromNode, toNode, parent) {\n var fromIndex = parent.children.indexOf(fromNode.node);\n var toIndex = parent.children.indexOf(toNode.node);\n\n var extracted = parent.children.splice(fromIndex, toIndex - fromIndex + 1);\n var children = extracted.slice(1, -1);\n return {\n type: type,\n children: children,\n tag: fromNode.tag,\n position: {\n start: fromNode.node.position.start,\n end: toNode.node.position.end,\n indent: []\n }\n };\n}\n\n/***/ }),\n/* 946 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar visit = __webpack_require__(181);\n\nexports.ofType = function (types, mode) {\n return function (node) {\n types.forEach(function (type) {\n return visit(node, type, disallow, true);\n });\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nexports.ifNotMatch = function (allowNode, mode) {\n return function (node) {\n visit(node, disallow, true);\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent && !allowNode(node, index, parent)) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nfunction untangle(node, index, parent, mode) {\n if (mode === 'remove') {\n parent.children.splice(index, 1);\n } else if (mode === 'unwrap') {\n var args = [index, 1];\n\n if (node.children) {\n args = args.concat(node.children);\n }\n\n Array.prototype.splice.apply(parent.children, args);\n }\n}\n\n/***/ }),\n/* 947 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar React = __webpack_require__(0);\nvar xtend = __webpack_require__(76);\n\nfunction astToReact(node, options) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var renderer = options.renderers[node.type];\n\n var pos = node.position.start;\n var key = [node.type, pos.line, pos.column].join('-');\n\n if (node.type === 'text') {\n return renderer ? renderer(node.value, key) : node.value;\n }\n\n if (typeof renderer !== 'function' && typeof renderer !== 'string' && !isReactFragment(renderer)) {\n throw new Error('Renderer for type `' + node.type + '` not defined or is not renderable');\n }\n\n var nodeProps = getNodeProps(node, key, options, renderer, parent, index);\n\n return React.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || undefined);\n\n function resolveChildren() {\n return node.children && node.children.map(function (childNode, i) {\n return astToReact(childNode, options, { node: node, props: nodeProps }, i);\n });\n }\n}\n\nfunction isReactFragment(renderer) {\n return React.Fragment && React.Fragment === renderer;\n}\n\n// eslint-disable-next-line max-params, complexity\nfunction getNodeProps(node, key, opts, renderer, parent, index) {\n var props = { key: key };\n\n var isTagRenderer = typeof renderer === 'string';\n\n // `sourcePos` is true if the user wants source information (line/column info from markdown source)\n if (opts.sourcePos && node.position) {\n props['data-sourcepos'] = flattenPosition(node.position);\n }\n\n if (opts.rawSourcePos && !isTagRenderer) {\n props.sourcePosition = node.position;\n }\n\n // If `includeNodeIndex` is true, pass node index info to all non-tag renderers\n if (opts.includeNodeIndex && parent.node && parent.node.children && !isTagRenderer) {\n props.index = parent.node.children.indexOf(node);\n props.parentChildCount = parent.node.children.length;\n }\n\n var ref = node.identifier !== null && node.identifier !== undefined ? opts.definitions[node.identifier] || {} : null;\n\n switch (node.type) {\n case 'root':\n assignDefined(props, { className: opts.className });\n break;\n case 'heading':\n props.level = node.depth;\n break;\n case 'list':\n props.start = node.start;\n props.ordered = node.ordered;\n props.tight = !node.loose;\n props.depth = node.depth;\n break;\n case 'listItem':\n props.checked = node.checked;\n props.tight = !node.loose;\n props.ordered = node.ordered;\n props.index = node.index;\n props.children = (props.tight ? unwrapParagraphs(node) : node.children).map(function (childNode, i) {\n return astToReact(childNode, opts, { node: node, props: props }, i);\n });\n break;\n case 'definition':\n assignDefined(props, { identifier: node.identifier, title: node.title, url: node.url });\n break;\n case 'code':\n assignDefined(props, { language: node.lang && node.lang.split(/\\s/, 1)[0] });\n break;\n case 'inlineCode':\n props.children = node.value;\n props.inline = true;\n break;\n case 'link':\n assignDefined(props, {\n title: node.title || undefined,\n target: typeof opts.linkTarget === 'function' ? opts.linkTarget(node.url, node.children, node.title) : opts.linkTarget,\n href: opts.transformLinkUri ? opts.transformLinkUri(node.url, node.children, node.title) : node.url\n });\n break;\n case 'image':\n assignDefined(props, {\n alt: node.alt || undefined,\n title: node.title || undefined,\n src: opts.transformImageUri ? opts.transformImageUri(node.url, node.children, node.title, node.alt) : node.url\n });\n break;\n case 'linkReference':\n assignDefined(props, xtend(ref, {\n href: opts.transformLinkUri ? opts.transformLinkUri(ref.href) : ref.href\n }));\n break;\n case 'imageReference':\n assignDefined(props, {\n src: opts.transformImageUri && ref.href ? opts.transformImageUri(ref.href, node.children, ref.title, node.alt) : ref.href,\n title: ref.title || undefined,\n alt: node.alt || undefined\n });\n break;\n case 'table':\n case 'tableHead':\n case 'tableBody':\n props.columnAlignment = node.align;\n break;\n case 'tableRow':\n props.isHeader = parent.node.type === 'tableHead';\n props.columnAlignment = parent.props.columnAlignment;\n break;\n case 'tableCell':\n assignDefined(props, {\n isHeader: parent.props.isHeader,\n align: parent.props.columnAlignment[index]\n });\n break;\n case 'virtualHtml':\n props.tag = node.tag;\n break;\n case 'html':\n // @todo find a better way than this\n props.isBlock = node.position.start.line !== node.position.end.line;\n props.escapeHtml = opts.escapeHtml;\n props.skipHtml = opts.skipHtml;\n break;\n default:\n assignDefined(props, xtend(node, {\n type: undefined,\n position: undefined,\n children: undefined\n }));\n }\n\n if (!isTagRenderer && node.value) {\n props.value = node.value;\n }\n\n return props;\n}\n\nfunction assignDefined(target, attrs) {\n for (var key in attrs) {\n if (typeof attrs[key] !== 'undefined') {\n target[key] = attrs[key];\n }\n }\n}\n\nfunction flattenPosition(pos) {\n return [pos.start.line, ':', pos.start.column, '-', pos.end.line, ':', pos.end.column].map(String).join('');\n}\n\nfunction unwrapParagraphs(node) {\n return node.children.reduce(function (array, child) {\n return array.concat(child.type === 'paragraph' ? child.children || [] : [child]);\n }, []);\n}\n\nmodule.exports = astToReact;\n\n/***/ }),\n/* 948 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar visit = __webpack_require__(181);\n\nmodule.exports = function (node) {\n visit(node, 'table', wrap);\n return node;\n};\n\nfunction wrap(table) {\n var children = table.children;\n table.children = [{\n type: 'tableHead',\n align: table.align,\n children: [children[0]],\n position: children[0].position\n }];\n if (children.length > 1) {\n table.children.push({\n type: 'tableBody',\n align: table.align,\n children: children.slice(1),\n position: {\n start: children[1].position.start,\n end: children[children.length - 1].position.end\n }\n });\n }\n}\n\n/***/ }),\n/* 949 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function getDefinitions(node) {\n var defs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (node.children || []).reduce(function (definitions, child) {\n if (child.type === 'definition') {\n definitions[child.identifier] = {\n href: child.url,\n title: child.title\n };\n }\n\n return getDefinitions(child, definitions);\n }, defs);\n};\n\n/***/ }),\n/* 950 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar protocols = ['http', 'https', 'mailto', 'tel'];\n\nmodule.exports = function uriTransformer(uri) {\n var url = (uri || '').trim();\n var first = url.charAt(0);\n\n if (first === '#' || first === '/') {\n return url;\n }\n\n var colon = url.indexOf(':');\n if (colon === -1) {\n return url;\n }\n\n var length = protocols.length;\n var index = -1;\n\n while (++index < length) {\n var protocol = protocols[index];\n\n if (colon === protocol.length && url.slice(0, protocol.length) === protocol) {\n return url;\n }\n }\n\n index = url.indexOf('?');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n index = url.indexOf('#');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)';\n};\n\n/***/ }),\n/* 951 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* eslint-disable react/prop-types, react/no-multi-comp */\n\n\nvar xtend = __webpack_require__(76);\nvar React = __webpack_require__(0);\nvar createElement = React.createElement;\n\nmodule.exports = {\n root: 'div',\n break: 'br',\n paragraph: 'p',\n emphasis: 'em',\n strong: 'strong',\n thematicBreak: 'hr',\n blockquote: 'blockquote',\n delete: 'del',\n link: 'a',\n image: 'img',\n linkReference: 'a',\n imageReference: 'img',\n table: SimpleRenderer.bind(null, 'table'),\n tableHead: SimpleRenderer.bind(null, 'thead'),\n tableBody: SimpleRenderer.bind(null, 'tbody'),\n tableRow: SimpleRenderer.bind(null, 'tr'),\n tableCell: TableCell,\n\n list: List,\n listItem: ListItem,\n definition: NullRenderer,\n heading: Heading,\n inlineCode: InlineCode,\n code: CodeBlock,\n html: Html,\n virtualHtml: VirtualHtml\n};\n\nfunction SimpleRenderer(tag, props) {\n return createElement(tag, getCoreProps(props), props.children);\n}\n\nfunction TableCell(props) {\n var style = props.align ? { textAlign: props.align } : undefined;\n var coreProps = getCoreProps(props);\n return createElement(props.isHeader ? 'th' : 'td', style ? xtend({ style: style }, coreProps) : coreProps, props.children);\n}\n\nfunction Heading(props) {\n return createElement('h' + props.level, getCoreProps(props), props.children);\n}\n\nfunction List(props) {\n var attrs = getCoreProps(props);\n if (props.start !== null && props.start !== 1) {\n attrs.start = props.start.toString();\n }\n\n return createElement(props.ordered ? 'ol' : 'ul', attrs, props.children);\n}\n\nfunction ListItem(props) {\n var checkbox = null;\n if (props.checked !== null) {\n var checked = props.checked;\n checkbox = createElement('input', { type: 'checkbox', checked: checked, readOnly: true });\n }\n\n return createElement('li', getCoreProps(props), checkbox, props.children);\n}\n\nfunction CodeBlock(props) {\n var className = props.language && 'language-' + props.language;\n var code = createElement('code', className ? { className: className } : null, props.value);\n return createElement('pre', getCoreProps(props), code);\n}\n\nfunction InlineCode(props) {\n return createElement('code', getCoreProps(props), props.children);\n}\n\nfunction Html(props) {\n if (props.skipHtml) {\n return null;\n }\n\n var tag = props.isBlock ? 'div' : 'span';\n if (props.escapeHtml) {\n // @todo when fiber lands, we can simply render props.value\n return createElement(tag, null, props.value);\n }\n\n var nodeProps = { dangerouslySetInnerHTML: { __html: props.value } };\n return createElement(tag, nodeProps);\n}\n\nfunction VirtualHtml(props) {\n return createElement(props.tag, getCoreProps(props), props.children);\n}\n\nfunction NullRenderer() {\n return null;\n}\n\nfunction getCoreProps(props) {\n return props['data-sourcepos'] ? { 'data-sourcepos': props['data-sourcepos'] } : {};\n}\n\n/***/ }),\n/* 952 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_material_ui_styles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Table__ = __webpack_require__(953);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_material_ui_Table___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_material_ui_Table__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Paper__ = __webpack_require__(137);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_material_ui_Paper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_material_ui_Paper__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_showdown__ = __webpack_require__(601);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_showdown___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_showdown__);\nvar converter=new __WEBPACK_IMPORTED_MODULE_5_showdown___default.a.Converter();// text = '# hello, markdown!',\n// html = converter.makeHtml(text);\nvar styles=function styles(theme){return{root:{width:'100%',marginTop:theme.spacing.unit*3+'px !important',overflowX:'auto'},table:{// minWidth: 300,\nwidth:'200px !important',margin:'0 auto'}};};var ChooseAnswerView=function ChooseAnswerView(_ref){var gameAnswer=_ref.gameAnswer,classes=_ref.classes;if(!gameAnswer){return'';}return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',null,gameAnswer.map(function(n,index){return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{key:index,className:'mb20'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,'\\u7B2C',index+1,'\\u9898'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{dangerouslySetInnerHTML:{__html:converter.makeHtml(n.answer)}}));}));};/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_material_ui_styles__[\"withStyles\"])(styles)(ChooseAnswerView));\n\n/***/ }),\n/* 953 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Table.default;\n }\n});\nObject.defineProperty(exports, \"TableBody\", {\n enumerable: true,\n get: function get() {\n return _TableBody.default;\n }\n});\nObject.defineProperty(exports, \"TableCell\", {\n enumerable: true,\n get: function get() {\n return _TableCell.default;\n }\n});\nObject.defineProperty(exports, \"TableFooter\", {\n enumerable: true,\n get: function get() {\n return _TableFooter.default;\n }\n});\nObject.defineProperty(exports, \"TableHead\", {\n enumerable: true,\n get: function get() {\n return _TableHead.default;\n }\n});\nObject.defineProperty(exports, \"TablePagination\", {\n enumerable: true,\n get: function get() {\n return _TablePagination.default;\n }\n});\nObject.defineProperty(exports, \"TableRow\", {\n enumerable: true,\n get: function get() {\n return _TableRow.default;\n }\n});\nObject.defineProperty(exports, \"TableSortLabel\", {\n enumerable: true,\n get: function get() {\n return _TableSortLabel.default;\n }\n});\n\nvar _Table = _interopRequireDefault(__webpack_require__(954));\n\nvar _TableBody = _interopRequireDefault(__webpack_require__(955));\n\nvar _TableCell = _interopRequireDefault(__webpack_require__(406));\n\nvar _TableFooter = _interopRequireDefault(__webpack_require__(956));\n\nvar _TableHead = _interopRequireDefault(__webpack_require__(957));\n\nvar _TablePagination = _interopRequireDefault(__webpack_require__(958));\n\nvar _TableRow = _interopRequireDefault(__webpack_require__(984));\n\nvar _TableSortLabel = _interopRequireDefault(__webpack_require__(985));\n\n/***/ }),\n/* 954 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'table',\n fontFamily: theme.typography.fontFamily,\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar Table =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Table, _React$Component);\n\n function Table() {\n (0, _classCallCheck2.default)(this, Table);\n return (0, _possibleConstructorReturn2.default)(this, (Table.__proto__ || (0, _getPrototypeOf.default)(Table)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(Table, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {}\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return Table;\n}(_react.default.Component);\n\nTable.propTypes = false ? {\n /**\n * The content of the table, normally `TableHeader` and `TableBody`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTable.defaultProps = {\n component: 'table'\n};\nTable.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTable'\n})(Table);\n\nexports.default = _default;\n\n/***/ }),\n/* 955 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n display: 'table-row-group'\n }\n};\n\nvar TableBody =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableBody, _React$Component);\n\n function TableBody() {\n (0, _classCallCheck2.default)(this, TableBody);\n return (0, _possibleConstructorReturn2.default)(this, (TableBody.__proto__ || (0, _getPrototypeOf.default)(TableBody)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableBody, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n body: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableBody;\n}(_react.default.Component);\n\nTableBody.propTypes = false ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableBody.defaultProps = {\n component: 'tbody'\n};\nTableBody.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableBody'\n})(TableBody);\n\nexports.default = _default;\n\n/***/ }),\n/* 956 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n display: 'table-footer-group'\n }\n};\n\nvar TableFooter =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableFooter, _React$Component);\n\n function TableFooter() {\n (0, _classCallCheck2.default)(this, TableFooter);\n return (0, _possibleConstructorReturn2.default)(this, (TableFooter.__proto__ || (0, _getPrototypeOf.default)(TableFooter)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableFooter, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n footer: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableFooter;\n}(_react.default.Component);\n\nTableFooter.propTypes = false ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableFooter.defaultProps = {\n component: 'tfoot'\n};\nTableFooter.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableFooter'\n})(TableFooter);\n\nexports.default = _default;\n\n/***/ }),\n/* 957 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n display: 'table-header-group'\n }\n};\n\nvar TableHead =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableHead, _React$Component);\n\n function TableHead() {\n (0, _classCallCheck2.default)(this, TableHead);\n return (0, _possibleConstructorReturn2.default)(this, (TableHead.__proto__ || (0, _getPrototypeOf.default)(TableHead)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableHead, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n head: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableHead;\n}(_react.default.Component);\n\nTableHead.propTypes = false ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableHead.defaultProps = {\n component: 'thead'\n};\nTableHead.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableHead'\n})(TableHead);\n\nexports.default = _default;\n\n/***/ }),\n/* 958 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Input = _interopRequireDefault(__webpack_require__(203));\n\nvar _Menu = __webpack_require__(959);\n\nvar _Select = _interopRequireDefault(__webpack_require__(971));\n\nvar _TableCell = _interopRequireDefault(__webpack_require__(406));\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(979));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar _TablePaginationActions = _interopRequireDefault(__webpack_require__(981));\n\n// @inheritedComponent TableCell\nvar styles = function styles(theme) {\n return {\n root: {\n fontSize: theme.typography.pxToRem(12),\n // Increase the specificity to override TableCell.\n '&:last-child': {\n padding: 0\n }\n },\n toolbar: {\n height: 56,\n minHeight: 56,\n paddingRight: 2\n },\n spacer: {\n flex: '1 1 100%'\n },\n menuItem: {},\n caption: {\n flexShrink: 0\n },\n input: {\n fontSize: 'inherit',\n flexShrink: 0\n },\n selectRoot: {\n marginRight: theme.spacing.unit * 4,\n marginLeft: theme.spacing.unit,\n color: theme.palette.text.secondary\n },\n select: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit * 2\n },\n selectIcon: {\n top: 1\n },\n actions: {\n flexShrink: 0,\n color: theme.palette.text.secondary,\n marginLeft: theme.spacing.unit * 2.5\n }\n };\n};\n/**\n * A `TableCell` based component for placing inside `TableFooter` for pagination.\n */\n\n\nexports.styles = styles;\n\nvar TablePagination =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePagination, _React$Component);\n\n function TablePagination() {\n (0, _classCallCheck2.default)(this, TablePagination);\n return (0, _possibleConstructorReturn2.default)(this, (TablePagination.__proto__ || (0, _getPrototypeOf.default)(TablePagination)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TablePagination, [{\n key: \"componentDidUpdate\",\n // This logic would be better handled on userside.\n // However, we have it just in case.\n value: function componentDidUpdate() {\n var _props = this.props,\n count = _props.count,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage;\n var newLastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);\n\n if (page > newLastPage) {\n onChangePage(null, newLastPage);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n ActionsComponent = _props2.ActionsComponent,\n backIconButtonProps = _props2.backIconButtonProps,\n classes = _props2.classes,\n colSpanProp = _props2.colSpan,\n Component = _props2.component,\n count = _props2.count,\n labelDisplayedRows = _props2.labelDisplayedRows,\n labelRowsPerPage = _props2.labelRowsPerPage,\n nextIconButtonProps = _props2.nextIconButtonProps,\n onChangePage = _props2.onChangePage,\n onChangeRowsPerPage = _props2.onChangeRowsPerPage,\n page = _props2.page,\n rowsPerPage = _props2.rowsPerPage,\n rowsPerPageOptions = _props2.rowsPerPageOptions,\n SelectProps = _props2.SelectProps,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"ActionsComponent\", \"backIconButtonProps\", \"classes\", \"colSpan\", \"component\", \"count\", \"labelDisplayedRows\", \"labelRowsPerPage\", \"nextIconButtonProps\", \"onChangePage\", \"onChangeRowsPerPage\", \"page\", \"rowsPerPage\", \"rowsPerPageOptions\", \"SelectProps\"]);\n var colSpan;\n\n if (Component === _TableCell.default || Component === 'td') {\n colSpan = colSpanProp || 1000; // col-span over everything\n }\n\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: classes.root,\n colSpan: colSpan\n }, other), _react.default.createElement(_Toolbar.default, {\n className: classes.toolbar\n }, _react.default.createElement(\"div\", {\n className: classes.spacer\n }), rowsPerPageOptions.length > 1 && _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelRowsPerPage), rowsPerPageOptions.length > 1 && _react.default.createElement(_Select.default, (0, _extends2.default)({\n classes: {\n root: classes.selectRoot,\n select: classes.select,\n icon: classes.selectIcon\n },\n input: _react.default.createElement(_Input.default, {\n className: classes.input,\n disableUnderline: true\n }),\n value: rowsPerPage,\n onChange: onChangeRowsPerPage\n }, SelectProps), rowsPerPageOptions.map(function (rowsPerPageOption) {\n return _react.default.createElement(_Menu.MenuItem, {\n className: classes.menuItem,\n key: rowsPerPageOption,\n value: rowsPerPageOption\n }, rowsPerPageOption);\n })), _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelDisplayedRows({\n from: count === 0 ? 0 : page * rowsPerPage + 1,\n to: Math.min(count, (page + 1) * rowsPerPage),\n count: count,\n page: page\n })), _react.default.createElement(ActionsComponent, {\n className: classes.actions,\n backIconButtonProps: backIconButtonProps,\n count: count,\n nextIconButtonProps: nextIconButtonProps,\n onChangePage: onChangePage,\n page: page,\n rowsPerPage: rowsPerPage\n })));\n }\n }]);\n return TablePagination;\n}(_react.default.Component);\n\nTablePagination.propTypes = false ? {\n /**\n * The component used for displaying the actions.\n * Either a string to use a DOM element or a component.\n */\n ActionsComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Properties applied to the back arrow `IconButton` component.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n colSpan: _propTypes.default.number,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Useful to customize the displayed rows label.\n */\n labelDisplayedRows: _propTypes.default.func,\n\n /**\n * Useful to customize the rows per page label. Invoked with a `{ from, to, count, page }`\n * object.\n */\n labelRowsPerPage: _propTypes.default.node,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * Callback fired when the number of rows per page is changed.\n *\n * @param {object} event The event source of the callback\n */\n onChangeRowsPerPage: _propTypes.default.func,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * Customizes the options of the rows per page select field. If less than two options are\n * available, no select field will be displayed.\n */\n rowsPerPageOptions: _propTypes.default.array,\n\n /**\n * Properties applied to the rows per page `Select` element.\n */\n SelectProps: _propTypes.default.object\n} : {};\nTablePagination.defaultProps = {\n ActionsComponent: _TablePaginationActions.default,\n component: _TableCell.default,\n labelDisplayedRows: function labelDisplayedRows(_ref) {\n var from = _ref.from,\n to = _ref.to,\n count = _ref.count;\n return \"\".concat(from, \"-\").concat(to, \" of \").concat(count);\n },\n labelRowsPerPage: 'Rows per page:',\n rowsPerPageOptions: [5, 10, 25]\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTablePagination'\n})(TablePagination);\n\nexports.default = _default;\n\n/***/ }),\n/* 959 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Menu.default;\n }\n});\nObject.defineProperty(exports, \"MenuList\", {\n enumerable: true,\n get: function get() {\n return _MenuList.default;\n }\n});\nObject.defineProperty(exports, \"MenuItem\", {\n enumerable: true,\n get: function get() {\n return _MenuItem.default;\n }\n});\n\nvar _Menu = _interopRequireDefault(__webpack_require__(407));\n\nvar _MenuList = _interopRequireDefault(__webpack_require__(408));\n\nvar _MenuItem = _interopRequireDefault(__webpack_require__(970));\n\n/***/ }),\n/* 960 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Popover.default;\n }\n});\n\nvar _Popover = _interopRequireDefault(__webpack_require__(961));\n\n/***/ }),\n/* 961 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _reactDom = _interopRequireDefault(__webpack_require__(9));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _contains = _interopRequireDefault(__webpack_require__(171));\n\nvar _ownerDocument = _interopRequireDefault(__webpack_require__(59));\n\nvar _debounce = _interopRequireDefault(__webpack_require__(66));\n\nvar _reactEventListener = _interopRequireDefault(__webpack_require__(97));\n\nvar _ownerWindow = _interopRequireDefault(__webpack_require__(173));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Modal = _interopRequireDefault(__webpack_require__(227));\n\nvar _Grow = _interopRequireDefault(__webpack_require__(962));\n\nvar _Paper = _interopRequireDefault(__webpack_require__(137));\n\n// @inheritedComponent Modal\nfunction getOffsetTop(rect, vertical) {\n var offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\n\nfunction getOffsetLeft(rect, horizontal) {\n var offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(function (n) {\n return typeof n === 'number' ? \"\".concat(n, \"px\") : n;\n }).join(' ');\n} // Sum the scrollTop between two elements.\n\n\nfunction getScrollParent(parent, child) {\n var element = child;\n var scrollTop = 0;\n\n while (element && element !== parent) {\n element = element.parentNode;\n scrollTop += element.scrollTop;\n }\n\n return scrollTop;\n}\n\nfunction getAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nvar styles = {\n paper: {\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100vw - 32px)',\n maxHeight: 'calc(100vh - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none'\n }\n};\nexports.styles = styles;\n\nvar Popover =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Popover, _React$Component);\n\n function Popover() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Popover);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Popover.__proto__ || (0, _getPrototypeOf.default)(Popover)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"componentWillUnmount\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.handleResize.cancel();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"setPositioningStyles\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (element && element.style) {\n var positioning = _this.getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getPositioningStyle\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n var _this$props = _this.props,\n anchorEl = _this$props.anchorEl,\n anchorReference = _this$props.anchorReference,\n marginThreshold = _this$props.marginThreshold; // Check if the parent has requested anchoring on an inner content node\n\n var contentAnchorOffset = _this.getContentAnchorOffset(element);\n\n var elemRect = {\n width: element.clientWidth,\n height: element.clientHeight\n }; // Get the transform origin point on the element itself\n\n var transformOrigin = _this.getTransformOrigin(elemRect, contentAnchorOffset);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n } // Get the offset of of the anchoring element\n\n\n var anchorOffset = _this.getAnchorOffset(contentAnchorOffset); // Calculate element positioning\n\n\n var top = anchorOffset.top - transformOrigin.vertical;\n var left = anchorOffset.left - transformOrigin.horizontal;\n var bottom = top + elemRect.height;\n var right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n var containerWindow = (0, _ownerWindow.default)(getAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n var heightThreshold = containerWindow.innerHeight - marginThreshold;\n var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n var diff = top - marginThreshold;\n top -= diff;\n transformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n var _diff = bottom - heightThreshold;\n\n top -= _diff;\n transformOrigin.vertical += _diff;\n }\n\n false ? (0, _warning.default)(elemRect.height < heightThreshold || !elemRect.height || !heightThreshold, ['Material-UI: the popover component is too tall.', \"Some part of it can not be seen on the screen (\".concat(elemRect.height - heightThreshold, \"px).\"), 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n')) : void 0; // Check if the horizontal axis needs shifting\n\n if (left < marginThreshold) {\n var _diff2 = left - marginThreshold;\n\n left -= _diff2;\n transformOrigin.horizontal += _diff2;\n } else if (right > widthThreshold) {\n var _diff3 = right - widthThreshold;\n\n left -= _diff3;\n transformOrigin.horizontal += _diff3;\n }\n\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"transitionEl\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetTop\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetTop\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetLeft\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetLeft\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (_this.props.onEnter) {\n _this.props.onEnter(element);\n }\n\n _this.setPositioningStyles(element);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n var element = _reactDom.default.findDOMNode(_this.transitionEl);\n\n _this.setPositioningStyles(element);\n }, 166)\n }), _temp));\n }\n\n (0, _createClass2.default)(Popover, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.action) {\n this.props.action({\n updatePosition: this.handleResize\n });\n }\n }\n }, {\n key: \"getAnchorOffset\",\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n value: function getAnchorOffset(contentAnchorOffset) {\n var _props = this.props,\n anchorEl = _props.anchorEl,\n anchorOrigin = _props.anchorOrigin,\n anchorReference = _props.anchorReference,\n anchorPosition = _props.anchorPosition;\n\n if (anchorReference === 'anchorPosition') {\n false ? (0, _warning.default)(anchorPosition, 'Material-UI: you need to provide a `anchorPosition` property when using ' + '.') : void 0;\n return anchorPosition;\n } // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n\n var anchorElement = getAnchorEl(anchorEl) || (0, _ownerDocument.default)(_reactDom.default.findDOMNode(this.transitionEl)).body;\n var anchorRect = anchorElement.getBoundingClientRect();\n var anchorVertical = contentAnchorOffset === 0 ? anchorOrigin.vertical : 'center';\n return {\n top: anchorRect.top + this.handleGetOffsetTop(anchorRect, anchorVertical),\n left: anchorRect.left + this.handleGetOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n } // Returns the vertical offset of inner content to anchor the transform on if provided\n\n }, {\n key: \"getContentAnchorOffset\",\n value: function getContentAnchorOffset(element) {\n var _props2 = this.props,\n getContentAnchorEl = _props2.getContentAnchorEl,\n anchorReference = _props2.anchorReference;\n var contentAnchorOffset = 0;\n\n if (getContentAnchorEl && anchorReference === 'anchorEl') {\n var contentAnchorEl = getContentAnchorEl(element);\n\n if (contentAnchorEl && (0, _contains.default)(element, contentAnchorEl)) {\n var scrollTop = getScrollParent(element, contentAnchorEl);\n contentAnchorOffset = contentAnchorEl.offsetTop + contentAnchorEl.clientHeight / 2 - scrollTop || 0;\n } // != the default value\n\n\n false ? (0, _warning.default)(this.props.anchorOrigin.vertical === 'top', ['Material-UI: you can not change the default `anchorOrigin.vertical` value ', 'when also providing the `getContentAnchorEl` property to the popover component.', 'Only use one of the two properties.', 'Set `getContentAnchorEl` to null or left `anchorOrigin.vertical` unchanged.'].join('\\n')) : void 0;\n }\n\n return contentAnchorOffset;\n } // Return the base transform origin using the element\n // and taking the content anchor offset into account if in use\n\n }, {\n key: \"getTransformOrigin\",\n value: function getTransformOrigin(elemRect) {\n var contentAnchorOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var transformOrigin = this.props.transformOrigin;\n return {\n vertical: this.handleGetOffsetTop(elemRect, transformOrigin.vertical) + contentAnchorOffset,\n horizontal: this.handleGetOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }\n }, {\n key: \"render\",\n // Corresponds to 10 frames at 60 Hz.\n value: function render() {\n var _this2 = this;\n\n var _props3 = this.props,\n action = _props3.action,\n anchorEl = _props3.anchorEl,\n anchorOrigin = _props3.anchorOrigin,\n anchorPosition = _props3.anchorPosition,\n anchorReference = _props3.anchorReference,\n children = _props3.children,\n classes = _props3.classes,\n containerProp = _props3.container,\n elevation = _props3.elevation,\n getContentAnchorEl = _props3.getContentAnchorEl,\n marginThreshold = _props3.marginThreshold,\n onEnter = _props3.onEnter,\n onEntered = _props3.onEntered,\n onEntering = _props3.onEntering,\n onExit = _props3.onExit,\n onExited = _props3.onExited,\n onExiting = _props3.onExiting,\n open = _props3.open,\n PaperProps = _props3.PaperProps,\n role = _props3.role,\n transformOrigin = _props3.transformOrigin,\n TransitionComponent = _props3.TransitionComponent,\n transitionDuration = _props3.transitionDuration,\n TransitionProps = _props3.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(_props3, [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"classes\", \"container\", \"elevation\", \"getContentAnchorEl\", \"marginThreshold\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"role\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]); // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n var container = containerProp || (anchorEl ? (0, _ownerDocument.default)(getAnchorEl(anchorEl)).body : undefined);\n return _react.default.createElement(_Modal.default, (0, _extends2.default)({\n container: container,\n open: open,\n BackdropProps: {\n invisible: true\n }\n }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n onEnter: this.handleEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n onExit: onExit,\n onExited: onExited,\n onExiting: onExiting,\n role: role,\n ref: function ref(node) {\n _this2.transitionEl = node;\n }\n }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({\n className: classes.paper,\n elevation: elevation\n }, PaperProps), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), children)));\n }\n }]);\n return Popover;\n}(_react.default.Component);\n\nPopover.propTypes = false ? {\n /**\n * This is callback property. It's called by the component on mount.\n * This is useful when you want to trigger an action programmatically.\n * It currently only supports updatePosition() action.\n *\n * @param {object} actions This object contains all posible actions\n * that can be triggered programmatically.\n */\n action: _propTypes.default.func,\n\n /**\n * This is the DOM element, or a function that returns the DOM element,\n * that may be used to set the position of the popover.\n */\n anchorEl: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n */\n anchorOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * This is the position that may be used\n * to set the position of the popover.\n * The coordinates are relative to\n * the application's client area.\n */\n anchorPosition: _propTypes.default.shape({\n top: _propTypes.default.number,\n left: _propTypes.default.number\n }),\n\n /*\n * This determines which anchor prop to refer to to set\n * the position of the popover.\n */\n anchorReference: _propTypes.default.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n * By default, it's using the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * The elevation of the popover.\n */\n elevation: _propTypes.default.number,\n\n /**\n * This function is called in order to retrieve the content anchor element.\n * It's the opposite of the `anchorEl` property.\n * The content anchor element should be an element inside the popover.\n * It's used to correctly scroll and set the position of the popover.\n * The positioning strategy tries to make the content anchor element just above the\n * anchor element.\n */\n getContentAnchorEl: _propTypes.default.func,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n */\n marginThreshold: _propTypes.default.number,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the component is entering.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the component has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the component is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired before the component is exiting.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the component has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the component is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * If `true`, the popover is visible.\n */\n open: _propTypes.default.bool.isRequired,\n\n /**\n * Properties applied to the `Paper` element.\n */\n PaperProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n */\n transformOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nPopover.defaultProps = {\n anchorReference: 'anchorEl',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n elevation: 8,\n marginThreshold: 16,\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent: _Grow.default,\n transitionDuration: 'auto'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiPopover'\n})(Popover);\n\nexports.default = _default;\n\n/***/ }),\n/* 962 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _Transition = _interopRequireDefault(__webpack_require__(175));\n\nvar _withTheme = _interopRequireDefault(__webpack_require__(115));\n\nvar _utils = __webpack_require__(229);\n\n// @inheritedComponent Transition\nfunction getScale(value) {\n return \"scale(\".concat(value, \", \").concat(Math.pow(value, 2), \")\");\n}\n\nvar styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: getScale(1)\n }\n};\n/**\n * The Grow transition is used by the [Popover](/utils/popovers) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Grow =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Grow, _React$Component);\n\n function Grow() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Grow);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Grow.__proto__ || (0, _getPrototypeOf.default)(Grow)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"autoTimeout\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"timer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props = _this.props,\n theme = _this$props.theme,\n timeout = _this$props.timeout;\n (0, _utils.reflow)(node); // So the animation always start from the start.\n\n var _getTransitionProps = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration,\n delay = _getTransitionProps.delay;\n\n var duration = 0;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay\n })].join(',');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props2 = _this.props,\n theme = _this$props2.theme,\n timeout = _this$props2.timeout;\n var duration = 0;\n\n var _getTransitionProps2 = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration,\n delay = _getTransitionProps2.delay;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay || duration * 0.333\n })].join(',');\n node.style.opacity = '0';\n node.style.transform = getScale(0.75);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"addEndListener\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(_, next) {\n if (_this.props.timeout === 'auto') {\n _this.timer = setTimeout(next, _this.autoTimeout || 0);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Grow, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timer);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n onEnter = _props.onEnter,\n onExit = _props.onExit,\n styleProp = _props.style,\n theme = _props.theme,\n timeout = _props.timeout,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"onEnter\", \"onExit\", \"style\", \"theme\", \"timeout\"]);\n var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {});\n return _react.default.createElement(_Transition.default, (0, _extends2.default)({\n appear: true,\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n addEndListener: this.addEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n style: (0, _objectSpread2.default)({\n opacity: 0,\n transform: getScale(0.75)\n }, styles[state], style)\n }, childProps));\n });\n }\n }]);\n return Grow;\n}(_react.default.Component);\n\nGrow.propTypes = false ? {\n /**\n * A single child content element.\n */\n children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),\n\n /**\n * If `true`, show the component; triggers the enter or exit animation.\n */\n in: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onEnter: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onExit: _propTypes.default.func,\n\n /**\n * @ignore\n */\n style: _propTypes.default.object,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])])\n} : {};\nGrow.defaultProps = {\n timeout: 'auto'\n};\n\nvar _default = (0, _withTheme.default)()(Grow);\n\nexports.default = _default;\n\n/***/ }),\n/* 963 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _List.default;\n }\n});\nObject.defineProperty(exports, \"ListItem\", {\n enumerable: true,\n get: function get() {\n return _ListItem.default;\n }\n});\nObject.defineProperty(exports, \"ListItemAvatar\", {\n enumerable: true,\n get: function get() {\n return _ListItemAvatar.default;\n }\n});\nObject.defineProperty(exports, \"ListItemText\", {\n enumerable: true,\n get: function get() {\n return _ListItemText.default;\n }\n});\nObject.defineProperty(exports, \"ListItemIcon\", {\n enumerable: true,\n get: function get() {\n return _ListItemIcon.default;\n }\n});\nObject.defineProperty(exports, \"ListItemSecondaryAction\", {\n enumerable: true,\n get: function get() {\n return _ListItemSecondaryAction.default;\n }\n});\nObject.defineProperty(exports, \"ListSubheader\", {\n enumerable: true,\n get: function get() {\n return _ListSubheader.default;\n }\n});\n\nvar _List = _interopRequireDefault(__webpack_require__(964));\n\nvar _ListItem = _interopRequireDefault(__webpack_require__(409));\n\nvar _ListItemAvatar = _interopRequireDefault(__webpack_require__(965));\n\nvar _ListItemText = _interopRequireDefault(__webpack_require__(966));\n\nvar _ListItemIcon = _interopRequireDefault(__webpack_require__(967));\n\nvar _ListItemSecondaryAction = _interopRequireDefault(__webpack_require__(968));\n\nvar _ListSubheader = _interopRequireDefault(__webpack_require__(969));\n\n/***/ }),\n/* 964 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n },\n padding: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit\n },\n dense: {\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2\n },\n subheader: {\n paddingTop: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar List =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(List, _React$Component);\n\n function List() {\n (0, _classCallCheck2.default)(this, List);\n return (0, _possibleConstructorReturn2.default)(this, (List.__proto__ || (0, _getPrototypeOf.default)(List)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(List, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n dense: this.props.dense\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n Component = _props.component,\n dense = _props.dense,\n disablePadding = _props.disablePadding,\n subheader = _props.subheader,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"classes\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.dense, dense && !disablePadding), (0, _defineProperty2.default)(_classNames, classes.padding, !disablePadding), (0, _defineProperty2.default)(_classNames, classes.subheader, subheader), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), subheader, children);\n }\n }]);\n return List;\n}(_react.default.Component);\n\nList.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used for\n * the list and list items. The property is available to descendant components as the\n * `dense` context.\n */\n dense: _propTypes.default.bool,\n\n /**\n * If `true`, vertical padding will be removed from the list.\n */\n disablePadding: _propTypes.default.bool,\n\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: _propTypes.default.node\n} : {};\nList.defaultProps = {\n component: 'ul',\n dense: false,\n disablePadding: false\n};\nList.childContextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiList'\n})(List);\n\nexports.default = _default;\n\n/***/ }),\n/* 965 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n width: 36,\n height: 36,\n fontSize: theme.typography.pxToRem(18),\n marginRight: 4\n },\n icon: {\n width: 20,\n height: 20,\n fontSize: theme.typography.pxToRem(20)\n }\n };\n};\n/**\n * It's a simple wrapper to apply the `dense` mode styles to `Avatar`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemAvatar(props, context) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n\n if (context.dense === undefined) {\n false ? (0, _warning.default)(false, \"Material-UI: is a simple wrapper to apply the dense styles\\n to . You do not need it unless you are controlling the dense property.\") : void 0;\n return props.children;\n }\n\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.root, context.dense), classNameProp, children.props.className),\n childrenClassName: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.icon, context.dense), children.props.childrenClassName)\n }, other));\n}\n\nListItemAvatar.propTypes = false ? {\n /**\n * The content of the component, normally `Avatar`.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemAvatar.contextTypes = {\n dense: _propTypes.default.bool\n};\nListItemAvatar.muiName = 'ListItemAvatar';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemAvatar'\n})(ListItemAvatar);\n\nexports.default = _default;\n\n/***/ }),\n/* 966 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _Typography = _interopRequireDefault(__webpack_require__(96));\n\nvar styles = function styles(theme) {\n return {\n root: {\n flex: '1 1 auto',\n minWidth: 0,\n padding: \"0 \".concat(theme.spacing.unit * 2, \"px\"),\n '&:first-child': {\n paddingLeft: 0\n }\n },\n inset: {\n '&:first-child': {\n paddingLeft: theme.spacing.unit * 7\n }\n },\n dense: {\n fontSize: theme.typography.pxToRem(13)\n },\n primary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n secondary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n textDense: {}\n };\n};\n\nexports.styles = styles;\n\nfunction ListItemText(props, context) {\n var _classNames3;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableTypography = props.disableTypography,\n inset = props.inset,\n primaryProp = props.primary,\n secondaryProp = props.secondary,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"secondary\"]);\n var dense = context.dense;\n var primary = primaryProp || children;\n\n if (primary && !disableTypography) {\n primary = _react.default.createElement(_Typography.default, {\n variant: \"subheading\",\n className: (0, _classnames.default)(classes.primary, (0, _defineProperty2.default)({}, classes.textDense, dense))\n }, primary);\n }\n\n var secondary = secondaryProp;\n\n if (secondary && !disableTypography) {\n secondary = _react.default.createElement(_Typography.default, {\n variant: \"body1\",\n className: (0, _classnames.default)(classes.secondary, (0, _defineProperty2.default)({}, classes.textDense, dense)),\n color: \"textSecondary\"\n }, secondary);\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.dense, dense), (0, _defineProperty2.default)(_classNames3, classes.inset, inset), _classNames3), classNameProp)\n }, other), primary, secondary);\n}\n\nListItemText.propTypes = false ? {\n /**\n * Alias for the `primary` property.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the children won't be wrapped by a typography component.\n * For instance, that can be useful to can render an h4 instead of a\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * If `true`, the children will be indented.\n * This should be used if there is no left avatar or left icon.\n */\n inset: _propTypes.default.bool,\n primary: _propTypes.default.node,\n secondary: _propTypes.default.node\n} : {};\nListItemText.defaultProps = {\n disableTypography: false,\n inset: false\n};\nListItemText.contextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemText'\n})(ListItemText);\n\nexports.default = _default;\n\n/***/ }),\n/* 967 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n marginRight: theme.spacing.unit * 2,\n color: theme.palette.action.active,\n flexShrink: 0\n }\n };\n};\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)(classes.root, classNameProp, children.props.className)\n }, other));\n}\n\nListItemIcon.propTypes = false ? {\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@material-ui/icons` SVG icon element.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemIcon'\n})(ListItemIcon);\n\nexports.default = _default;\n\n/***/ }),\n/* 968 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = {\n root: {\n position: 'absolute',\n right: 4,\n top: '50%',\n transform: 'translateY(-50%)'\n }\n};\nexports.styles = styles;\n\nfunction ListItemSecondaryAction(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nListItemSecondaryAction.propTypes = false ? {\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemSecondaryAction'\n})(ListItemSecondaryAction);\n\nexports.default = _default;\n\n/***/ }),\n/* 969 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar styles = function styles(theme) {\n return {\n root: theme.mixins.gutters({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n }),\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorInherit: {\n color: 'inherit'\n },\n inset: {\n paddingLeft: theme.spacing.unit * 9\n },\n sticky: {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: 'inherit'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction ListSubheader(props) {\n var _classNames;\n\n var classes = props.classes,\n className = props.className,\n color = props.color,\n Component = props.component,\n disableSticky = props.disableSticky,\n inset = props.inset,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"component\", \"disableSticky\", \"inset\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.inset, inset), (0, _defineProperty2.default)(_classNames, classes.sticky, !disableSticky), _classNames), className)\n }, other));\n}\n\nListSubheader.propTypes = false ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'primary', 'inherit']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n */\n disableSticky: _propTypes.default.bool,\n\n /**\n * If `true`, the List Subheader will be indented.\n */\n inset: _propTypes.default.bool\n} : {};\nListSubheader.defaultProps = {\n color: 'default',\n component: 'li',\n disableSticky: false,\n inset: false\n};\nListSubheader.muiName = 'ListSubheader';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListSubheader'\n})(ListSubheader);\n\nexports.default = _default;\n\n/***/ }),\n/* 970 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ListItem = _interopRequireDefault(__webpack_require__(409));\n\n// @inheritedComponent ListItem\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.typography.subheading, {\n height: theme.spacing.unit * 3,\n boxSizing: 'content-box',\n width: 'auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n paddingLeft: theme.spacing.unit * 2,\n paddingRight: theme.spacing.unit * 2,\n '&$selected': {\n backgroundColor: theme.palette.action.selected\n }\n }),\n selected: {}\n };\n};\n\nexports.styles = styles;\n\nfunction MenuItem(props) {\n var classes = props.classes,\n className = props.className,\n component = props.component,\n selected = props.selected,\n role = props.role,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"selected\", \"role\"]);\n return _react.default.createElement(_ListItem.default, (0, _extends2.default)({\n button: true,\n role: role,\n tabIndex: -1,\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.selected, selected), className),\n component: component\n }, other));\n}\n\nMenuItem.propTypes = false ? {\n /**\n * Menu item contents.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * Use to apply selected styling.\n */\n selected: _propTypes.default.bool\n} : {};\nMenuItem.defaultProps = {\n component: 'li',\n role: 'menuitem',\n selected: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiMenuItem'\n})(MenuItem);\n\nexports.default = _default;\n\n/***/ }),\n/* 971 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Select.default;\n }\n});\n\nvar _Select = _interopRequireDefault(__webpack_require__(972));\n\n/***/ }),\n/* 972 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _SelectInput = _interopRequireDefault(__webpack_require__(973));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ArrowDropDown = _interopRequireDefault(__webpack_require__(974));\n\nvar _Input = _interopRequireDefault(__webpack_require__(203));\n\n// @inheritedComponent Input\n// Import to enforce the CSS injection order\nvar styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n width: '100%'\n },\n select: {\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n paddingRight: theme.spacing.unit * 4,\n width: \"calc(100% - \".concat(theme.spacing.unit * 4, \"px)\"),\n minWidth: theme.spacing.unit * 2,\n // So it doesn't collapse.\n cursor: 'pointer',\n '&:focus': {\n // Show that it's not an text input\n background: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)',\n borderRadius: 0 // Reset Chrome style\n\n },\n // Remove Firefox focus border\n '&:-moz-focusring': {\n color: 'transparent',\n textShadow: '0 0 0 #000'\n },\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n '&$disabled': {\n cursor: 'default'\n }\n },\n selectMenu: {\n width: 'auto',\n // Fix Safari textOverflow\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n minHeight: '1.1875em' // Reset (19px), match the native input line-height\n\n },\n disabled: {},\n icon: {\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input.\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n // Center vertically\n color: theme.palette.action.active,\n 'pointer-events': 'none' // Don't block pointer events on the select under the icon.\n\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Select(props) {\n var autoWidth = props.autoWidth,\n children = props.children,\n classes = props.classes,\n displayEmpty = props.displayEmpty,\n IconComponent = props.IconComponent,\n input = props.input,\n inputProps = props.inputProps,\n MenuProps = props.MenuProps,\n multiple = props.multiple,\n native = props.native,\n onClose = props.onClose,\n onOpen = props.onOpen,\n open = props.open,\n renderValue = props.renderValue,\n SelectDisplayProps = props.SelectDisplayProps,\n other = (0, _objectWithoutProperties2.default)(props, [\"autoWidth\", \"children\", \"classes\", \"displayEmpty\", \"IconComponent\", \"input\", \"inputProps\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\"]);\n return _react.default.cloneElement(input, (0, _objectSpread2.default)({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent: _SelectInput.default,\n inputProps: (0, _objectSpread2.default)({\n autoWidth: autoWidth,\n children: children,\n classes: classes,\n displayEmpty: displayEmpty,\n IconComponent: IconComponent,\n MenuProps: MenuProps,\n multiple: multiple,\n native: native,\n onClose: onClose,\n onOpen: onOpen,\n open: open,\n renderValue: renderValue,\n SelectDisplayProps: SelectDisplayProps,\n type: undefined\n }, inputProps, input ? input.props.inputProps : {})\n }, other));\n}\n\nSelect.propTypes = false ? {\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: _propTypes.default.element,\n\n /**\n * Properties applied to the `input` element.\n * When `native` is `true`, the properties are applied on the `select` element.\n */\n inputProps: _propTypes.default.object,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nSelect.defaultProps = {\n autoWidth: false,\n displayEmpty: false,\n IconComponent: _ArrowDropDown.default,\n input: _react.default.createElement(_Input.default, null),\n multiple: false,\n native: false\n};\nSelect.muiName = 'Select';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSelect'\n})(Select);\n\nexports.default = _default;\n\n/***/ }),\n/* 973 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(231));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _keycode = _interopRequireDefault(__webpack_require__(136));\n\nvar _warning = _interopRequireDefault(__webpack_require__(17));\n\nvar _Menu = _interopRequireDefault(__webpack_require__(407));\n\nvar _Input = __webpack_require__(237);\n\n/**\n * @ignore - internal component.\n */\nvar SelectInput =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(SelectInput, _React$Component);\n\n function SelectInput() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, SelectInput);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = SelectInput.__proto__ || (0, _getPrototypeOf.default)(SelectInput)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n open: false\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoreNextBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isOpenControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.open !== undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.value != null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"updateDisplayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n // Perfom the layout computation outside of the render method.\n if (_this.displayNode) {\n _this.displayWidth = _this.displayNode.clientWidth;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"update\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.isOpenControlled ? function (_ref2) {\n var event = _ref2.event,\n open = _ref2.open;\n\n if (open) {\n _this.props.onOpen(event);\n } else {\n _this.props.onClose(event);\n }\n } : function (_ref3) {\n var open = _ref3.open;\n return _this.setState({\n open: open\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // Opening the menu is going to blur the. It will be focused back when closed.\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.update({\n open: false,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleItemClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(child) {\n return function (event) {\n if (!_this.props.multiple) {\n _this.update({\n open: false,\n event: event\n });\n }\n\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n\n if (onChange) {\n var value;\n var target;\n\n if (event.target) {\n target = event.target;\n }\n\n if (_this.props.multiple) {\n value = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];\n var itemIndex = value.indexOf(child.props.value);\n\n if (itemIndex === -1) {\n value.push(child.props.value);\n } else {\n value.splice(itemIndex, 1);\n }\n } else {\n value = child.props.value;\n }\n\n event.persist();\n event.target = (0, _objectSpread2.default)({}, target, {\n value: value,\n name: name\n });\n onChange(event, child);\n }\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.ignoreNextBlur === true) {\n // The parent components are relying on the bubbling of the event.\n event.stopPropagation();\n _this.ignoreNextBlur = false;\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.readOnly) {\n return;\n }\n\n if (['space', 'up', 'down'].indexOf((0, _keycode.default)(event)) !== -1) {\n event.preventDefault(); // Opening the menu is going to blur the. It will be focused back when closed.\n\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDisplayRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.displayNode = node;\n\n _this.updateDisplayWidth();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleSelectRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n if (!_this.props.inputRef) {\n return;\n }\n\n _this.props.inputRef({\n node: node,\n // By pass the native input as we expose a rich object (array).\n value: _this.props.value\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(SelectInput, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.isOpenControlled && this.props.open) {\n // Focus the display node so the focus is restored on this element once\n // the menu is closed.\n this.displayNode.focus(); // Rerender with the resolve `displayNode` reference.\n\n this.forceUpdate();\n }\n\n if (this.props.autoFocus && !this.props.native) {\n this.displayNode.focus();\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n this.updateDisplayWidth();\n return true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n autoWidth = _props.autoWidth,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n disabled = _props.disabled,\n displayEmpty = _props.displayEmpty,\n IconComponent = _props.IconComponent,\n inputRef = _props.inputRef,\n _props$MenuProps = _props.MenuProps,\n MenuProps = _props$MenuProps === void 0 ? {} : _props$MenuProps,\n multiple = _props.multiple,\n name = _props.name,\n native = _props.native,\n onBlur = _props.onBlur,\n onChange = _props.onChange,\n onClose = _props.onClose,\n onFocus = _props.onFocus,\n onOpen = _props.onOpen,\n openProp = _props.open,\n readOnly = _props.readOnly,\n renderValue = _props.renderValue,\n SelectDisplayProps = _props.SelectDisplayProps,\n tabIndexProp = _props.tabIndex,\n _props$type = _props.type,\n type = _props$type === void 0 ? 'hidden' : _props$type,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"autoWidth\", \"children\", \"classes\", \"className\", \"disabled\", \"displayEmpty\", \"IconComponent\", \"inputRef\", \"MenuProps\", \"multiple\", \"name\", \"native\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\"]);\n var open = this.isOpenControlled && this.displayNode ? openProp : this.state.open;\n\n if (native) {\n false ? (0, _warning.default)(multiple === false, 'Material-UI: you can not use the `native={true}` and `multiple={true}` properties ' + 'at the same time on a `Select` component.') : void 0;\n false ? (0, _warning.default)(!renderValue, 'Material-UI: the `renderValue` property is not used by the native implementation.') : void 0;\n false ? (0, _warning.default)(!displayEmpty, 'Material-UI: the `displayEmpty` property is not used by the native implementation.') : void 0;\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"select\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n name: name,\n disabled: disabled,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n value: value,\n readOnly: readOnly,\n ref: inputRef\n }, other), children), _react.default.createElement(IconComponent, {\n className: classes.icon\n }));\n }\n\n if (!this.isControlled) {\n throw new Error('Material-UI: the `value` property is required ' + 'when using the `Select` component with `native=false` (default).');\n }\n\n var display;\n var displaySingle = '';\n var displayMultiple = [];\n var computeDisplay = false; // No need to display any value if the field is empty.\n\n if ((0, _Input.isFilled)(this.props) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n\n var items = _react.default.Children.map(children, function (child) {\n if (!_react.default.isValidElement(child)) {\n return null;\n }\n\n var selected;\n\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error('Material-UI: the `value` property must be an array ' + 'when using the `Select` component with `multiple`.');\n }\n\n selected = value.indexOf(child.props.value) !== -1;\n\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = value === child.props.value;\n\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n\n return _react.default.cloneElement(child, {\n onClick: _this2.handleItemClick(child),\n role: 'option',\n selected: selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n\n });\n });\n\n if (computeDisplay) {\n display = multiple ? displayMultiple.join(', ') : displaySingle;\n }\n\n var MenuMinWidth = this.displayNode && !autoWidth ? this.displayWidth : undefined;\n var tabIndex;\n\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, classes.selectMenu, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n ref: this.handleDisplayRef,\n \"aria-pressed\": open ? 'true' : 'false',\n tabIndex: tabIndex,\n role: \"button\",\n \"aria-owns\": open ? \"menu-\".concat(name || '') : null,\n \"aria-haspopup\": \"true\",\n onKeyDown: this.handleKeyDown,\n onBlur: this.handleBlur,\n onClick: disabled || readOnly ? null : this.handleClick,\n onFocus: onFocus\n }, SelectDisplayProps), display || _react.default.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: '​'\n }\n })), _react.default.createElement(\"input\", (0, _extends2.default)({\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n readOnly: readOnly,\n ref: this.handleSelectRef,\n type: type\n }, other)), _react.default.createElement(IconComponent, {\n className: classes.icon\n }), _react.default.createElement(_Menu.default, (0, _extends2.default)({\n id: \"menu-\".concat(name || ''),\n anchorEl: this.displayNode,\n open: open,\n onClose: this.handleClose\n }, MenuProps, {\n MenuListProps: (0, _objectSpread2.default)({\n role: 'listbox'\n }, MenuProps.MenuListProps),\n PaperProps: (0, _objectSpread2.default)({}, MenuProps.PaperProps, {\n style: (0, _objectSpread2.default)({\n minWidth: MenuMinWidth\n }, MenuProps.PaperProps != null ? MenuProps.PaperProps.style : null)\n })\n }), items));\n }\n }]);\n return SelectInput;\n}(_react.default.Component);\n\nSelectInput.propTypes = false ? {\n /**\n * @ignore\n */\n autoFocus: _propTypes.default.bool,\n\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * The CSS class name of the select element.\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the select will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Use that property to pass a ref callback to the native select element.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: _propTypes.default.string,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n readOnly: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * @ignore\n */\n type: _propTypes.default.string,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nvar _default = SelectInput;\nexports.default = _default;\n\n/***/ }),\n/* 974 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDropDown = function ArrowDropDown(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDropDown = (0, _pure.default)(ArrowDropDown);\nArrowDropDown.muiName = 'SvgIcon';\nvar _default = ArrowDropDown;\nexports.default = _default;\n\n/***/ }),\n/* 975 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = __webpack_require__(4);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(5);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(6);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = __webpack_require__(0);\n\nvar _setDisplayName = __webpack_require__(410);\n\nvar _setDisplayName2 = _interopRequireDefault(_setDisplayName);\n\nvar _wrapDisplayName = __webpack_require__(134);\n\nvar _wrapDisplayName2 = _interopRequireDefault(_wrapDisplayName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate = function (_Component) {\n (0, _inherits3.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n (0, _classCallCheck3.default)(this, ShouldUpdate);\n return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));\n }\n\n ShouldUpdate.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n ShouldUpdate.prototype.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (false) {\n return (0, _setDisplayName2.default)((0, _wrapDisplayName2.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n return ShouldUpdate;\n };\n};\n\nexports.default = shouldUpdate;\n\n/***/ }),\n/* 976 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n return BaseComponent;\n };\n};\n\nexports.default = setStatic;\n\n/***/ }),\n/* 977 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _shallowEqual = __webpack_require__(379);\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _shallowEqual2.default;\n\n/***/ }),\n/* 978 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _helpers = __webpack_require__(39);\n\nvar styles = function styles(theme) {\n return {\n root: {\n userSelect: 'none',\n fontSize: 24,\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n transition: theme.transitions.create('fill', {\n duration: theme.transitions.duration.shorter\n })\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n colorAction: {\n color: theme.palette.action.active\n },\n colorError: {\n color: theme.palette.error.main\n },\n colorDisabled: {\n color: theme.palette.action.disabled\n }\n };\n};\n\nexports.styles = styles;\n\nfunction SvgIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n nativeColor = props.nativeColor,\n titleAccess = props.titleAccess,\n viewBox = props.viewBox,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"nativeColor\", \"titleAccess\", \"viewBox\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), classNameProp);\n return _react.default.createElement(\"svg\", (0, _extends2.default)({\n className: className,\n focusable: \"false\",\n viewBox: viewBox,\n color: nativeColor,\n \"aria-hidden\": titleAccess ? 'false' : 'true'\n }, other), titleAccess ? _react.default.createElement(\"title\", null, titleAccess) : null, children);\n}\n\nSvgIcon.propTypes = false ? {\n /**\n * Node passed into the SVG element.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * You can use the `nativeColor` property to apply a color attribute to the SVG element.\n */\n color: _propTypes.default.oneOf(['inherit', 'primary', 'secondary', 'action', 'error', 'disabled']),\n\n /**\n * Applies a color attribute to the SVG element.\n */\n nativeColor: _propTypes.default.string,\n\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: _propTypes.default.string,\n\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n */\n viewBox: _propTypes.default.string\n} : {};\nSvgIcon.defaultProps = {\n color: 'inherit',\n viewBox: '0 0 24 24'\n};\nSvgIcon.muiName = 'SvgIcon';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSvgIcon'\n})(SvgIcon);\n\nexports.default = _default;\n\n/***/ }),\n/* 979 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Toolbar.default;\n }\n});\n\nvar _Toolbar = _interopRequireDefault(__webpack_require__(980));\n\n/***/ }),\n/* 980 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _objectSpread2 = _interopRequireDefault(__webpack_require__(28));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.mixins.toolbar, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n }),\n gutters: theme.mixins.gutters()\n };\n};\n\nexports.styles = styles;\n\nfunction Toolbar(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableGutters = props.disableGutters,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableGutters\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.gutters, !disableGutters), classNameProp);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: className\n }, other), children);\n}\n\nToolbar.propTypes = false ? {\n /**\n * Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, disables gutter padding.\n */\n disableGutters: _propTypes.default.bool\n} : {};\nToolbar.defaultProps = {\n disableGutters: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiToolbar'\n})(Toolbar);\n\nexports.default = _default;\n\n/***/ }),\n/* 981 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _getPrototypeOf = _interopRequireDefault(__webpack_require__(21));\n\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(18));\n\nvar _createClass2 = _interopRequireDefault(__webpack_require__(19));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(22));\n\nvar _inherits2 = _interopRequireDefault(__webpack_require__(23));\n\nvar _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(29));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _KeyboardArrowLeft = _interopRequireDefault(__webpack_require__(982));\n\nvar _KeyboardArrowRight = _interopRequireDefault(__webpack_require__(983));\n\nvar _withTheme = _interopRequireDefault(__webpack_require__(115));\n\nvar _IconButton = _interopRequireDefault(__webpack_require__(139));\n\nvar _ref2 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\nvar _ref3 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref4 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref5 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\n/**\n * @ignore - internal component.\n */\nvar TablePaginationActions =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePaginationActions, _React$Component);\n\n function TablePaginationActions() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, TablePaginationActions);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TablePaginationActions.__proto__ || (0, _getPrototypeOf.default)(TablePaginationActions)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBackButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page - 1);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleNextButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page + 1);\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(TablePaginationActions, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n backIconButtonProps = _props.backIconButtonProps,\n count = _props.count,\n nextIconButtonProps = _props.nextIconButtonProps,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage,\n theme = _props.theme,\n other = (0, _objectWithoutProperties2.default)(_props, [\"backIconButtonProps\", \"count\", \"nextIconButtonProps\", \"onChangePage\", \"page\", \"rowsPerPage\", \"theme\"]);\n return _react.default.createElement(\"div\", other, _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleBackButtonClick,\n disabled: page === 0\n }, backIconButtonProps), theme.direction === 'rtl' ? _ref2 : _ref3), _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleNextButtonClick,\n disabled: page >= Math.ceil(count / rowsPerPage) - 1\n }, nextIconButtonProps), theme.direction === 'rtl' ? _ref4 : _ref5));\n }\n }]);\n return TablePaginationActions;\n}(_react.default.Component);\n\nTablePaginationActions.propTypes = false ? {\n /**\n * Properties applied to the back arrow `IconButton` element.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired\n} : {};\n\nvar _default = (0, _withTheme.default)()(TablePaginationActions);\n\nexports.default = _default;\n\n/***/ }),\n/* 982 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowLeft = function KeyboardArrowLeft(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowLeft = (0, _pure.default)(KeyboardArrowLeft);\nKeyboardArrowLeft.muiName = 'SvgIcon';\nvar _default = KeyboardArrowLeft;\nexports.default = _default;\n\n/***/ }),\n/* 983 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowRight = function KeyboardArrowRight(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowRight = (0, _pure.default)(KeyboardArrowRight);\nKeyboardArrowRight.muiName = 'SvgIcon';\nvar _default = KeyboardArrowRight;\nexports.default = _default;\n\n/***/ }),\n/* 984 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: 'inherit',\n display: 'table-row',\n height: 48,\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n '&$selected': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.04)' // grey[100]\n : 'rgba(255, 255, 255, 0.08)'\n },\n '&$hover:hover': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.07)' // grey[200]\n : 'rgba(255, 255, 255, 0.14)'\n }\n },\n selected: {},\n hover: {},\n head: {\n height: 56\n },\n footer: {\n height: 56\n }\n };\n};\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\n\n\nexports.styles = styles;\n\nfunction TableRow(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n hover = props.hover,\n selected = props.selected,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"hover\", \"selected\"]);\n var table = context.table;\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.head, table && table.head), (0, _defineProperty2.default)(_classNames, classes.footer, table && table.footer), (0, _defineProperty2.default)(_classNames, classes.hover, table && hover), (0, _defineProperty2.default)(_classNames, classes.selected, table && selected), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nTableRow.propTypes = false ? {\n /**\n * Should be valid children such as `TableCell`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the table row will shade on hover.\n */\n hover: _propTypes.default.bool,\n\n /**\n * If `true`, the table row will have the selected shading.\n */\n selected: _propTypes.default.bool\n} : {};\nTableRow.defaultProps = {\n component: 'tr',\n hover: false,\n selected: false\n};\nTableRow.contextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableRow'\n})(TableRow);\n\nexports.default = _default;\n\n/***/ }),\n/* 985 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(__webpack_require__(12));\n\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(16));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(__webpack_require__(10));\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _propTypes = _interopRequireDefault(__webpack_require__(1));\n\nvar _classnames = _interopRequireDefault(__webpack_require__(2));\n\nvar _ArrowDownward = _interopRequireDefault(__webpack_require__(986));\n\nvar _withStyles = _interopRequireDefault(__webpack_require__(13));\n\nvar _ButtonBase = _interopRequireDefault(__webpack_require__(176));\n\nvar _helpers = __webpack_require__(39);\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'inherit',\n alignItems: 'center',\n '&:hover': {\n color: theme.palette.text.primary\n },\n '&:focus': {\n color: theme.palette.text.primary\n }\n },\n active: {\n color: theme.palette.text.primary,\n '& $icon': {\n opacity: 1\n }\n },\n icon: {\n height: 16,\n marginRight: 4,\n marginLeft: 4,\n opacity: 0,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shorter\n }),\n userSelect: 'none',\n width: 16\n },\n iconDirectionDesc: {\n transform: 'rotate(0deg)'\n },\n iconDirectionAsc: {\n transform: 'rotate(180deg)'\n }\n };\n};\n/**\n * A button based label for placing inside `TableCell` for column sorting.\n */\n\n\nexports.styles = styles;\n\nfunction TableSortLabel(props) {\n var active = props.active,\n classes = props.classes,\n className = props.className,\n children = props.children,\n direction = props.direction,\n other = (0, _objectWithoutProperties2.default)(props, [\"active\", \"classes\", \"className\", \"children\", \"direction\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.active, active), className),\n component: \"span\",\n disableRipple: true\n }, other), children, _react.default.createElement(_ArrowDownward.default, {\n className: (0, _classnames.default)(classes.icon, classes[\"iconDirection\".concat((0, _helpers.capitalize)(direction))])\n }));\n}\n\nTableSortLabel.propTypes = false ? {\n /**\n * If `true`, the label will have the active styling (should be true for the sorted column).\n */\n active: _propTypes.default.bool,\n\n /**\n * Label contents, the arrow will be appended automatically.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The current sort direction.\n */\n direction: _propTypes.default.oneOf(['asc', 'desc'])\n} : {};\nTableSortLabel.defaultProps = {\n active: false,\n direction: 'desc'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableSortLabel'\n})(TableSortLabel);\n\nexports.default = _default;\n\n/***/ }),\n/* 986 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _interopRequireDefault = __webpack_require__(3);\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(__webpack_require__(0));\n\nvar _pure = _interopRequireDefault(__webpack_require__(77));\n\nvar _SvgIcon = _interopRequireDefault(__webpack_require__(78));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDownward = function ArrowDownward(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDownward = (0, _pure.default)(ArrowDownward);\nArrowDownward.muiName = 'SvgIcon';\nvar _default = ArrowDownward;\nexports.default = _default;\n\n/***/ }),\n/* 987 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__AnswerList__ = __webpack_require__(988);\nvar _createClass=function(){function defineProperties(target,props){for(var i=0;i 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var getContainer = arguments.length > 2 ? arguments[2] : undefined;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var container = getContainer();\n var scrollTop = Object(__WEBPACK_IMPORTED_MODULE_7__util_getScroll__[\"a\" /* default */])(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(href);\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n var startTime = Date.now();\n\n var frameFunc = function frameFunc() {\n var timestamp = Date.now();\n var time = timestamp - startTime;\n var nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n\n if (time < 450) {\n __WEBPACK_IMPORTED_MODULE_8_raf___default()(frameFunc);\n } else {\n callback();\n }\n };\n\n __WEBPACK_IMPORTED_MODULE_8_raf___default()(frameFunc);\n}\n\nvar Anchor =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Anchor, _React$Component);\n\n function Anchor() {\n var _this;\n\n _classCallCheck(this, Anchor);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Anchor).apply(this, arguments));\n _this.state = {\n activeLink: null\n };\n _this.links = [];\n\n _this.handleScroll = function () {\n if (_this.animating) {\n return;\n }\n\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n bounds = _this$props.bounds;\n\n _this.setState({\n activeLink: _this.getCurrentAnchor(offsetTop, bounds)\n });\n };\n\n _this.handleScrollTo = function (link) {\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n getContainer = _this$props2.getContainer;\n _this.animating = true;\n\n _this.setState({\n activeLink: link\n });\n\n scrollTo(link, offsetTop, getContainer, function () {\n _this.animating = false;\n });\n };\n\n _this.updateInk = function () {\n if (typeof document === 'undefined') {\n return;\n }\n\n var prefixCls = _this.prefixCls;\n var anchorNode = __WEBPACK_IMPORTED_MODULE_1_react_dom__[\"findDOMNode\"](_assertThisInitialized(_this));\n var linkNode = anchorNode.getElementsByClassName(\"\".concat(prefixCls, \"-link-title-active\"))[0];\n\n if (linkNode) {\n _this.inkNode.style.top = \"\".concat(linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5, \"px\");\n }\n };\n\n _this.saveInkNode = function (node) {\n _this.inkNode = node;\n };\n\n _this.renderAnchor = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,\n style = _this$props3.style,\n offsetTop = _this$props3.offsetTop,\n affix = _this$props3.affix,\n showInkInFixed = _this$props3.showInkInFixed,\n children = _this$props3.children,\n getContainer = _this$props3.getContainer;\n var activeLink = _this.state.activeLink;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls); // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n\n _this.prefixCls = prefixCls;\n var inkClass = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(\"\".concat(prefixCls, \"-ink-ball\"), {\n visible: activeLink\n });\n var wrapperClass = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(className, \"\".concat(prefixCls, \"-wrapper\"));\n var anchorClass = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = _extends({\n maxHeight: offsetTop ? \"calc(100vh - \".concat(offsetTop, \"px)\") : '100vh'\n }, style);\n\n var anchorContent = __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: wrapperClass,\n style: wrapperStyle\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: anchorClass\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-ink\")\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"span\", {\n className: inkClass,\n ref: _this.saveInkNode\n })), children));\n return !affix ? anchorContent : __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_5__affix__[\"a\" /* default */], {\n offsetTop: offsetTop,\n target: getContainer\n }, anchorContent);\n };\n\n return _this;\n }\n\n _createClass(Anchor, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _this2 = this;\n\n var antAnchor = {\n registerLink: function registerLink(link) {\n if (!_this2.links.includes(link)) {\n _this2.links.push(link);\n }\n },\n unregisterLink: function unregisterLink(link) {\n var index = _this2.links.indexOf(link);\n\n if (index !== -1) {\n _this2.links.splice(index, 1);\n }\n },\n activeLink: this.state.activeLink,\n scrollTo: this.handleScrollTo,\n onClick: this.props.onClick\n };\n return {\n antAnchor: antAnchor\n };\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var getContainer = this.props.getContainer;\n this.scrollEvent = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Dom_addEventListener__[\"a\" /* default */])(getContainer(), 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateInk();\n }\n }, {\n key: \"getCurrentAnchor\",\n value: function getCurrentAnchor() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var activeLink = '';\n\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n var linkSections = [];\n var getContainer = this.props.getContainer;\n var container = getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var target = document.getElementById(sharpLinkMatch[1]);\n\n if (target) {\n var top = getOffsetTop(target, container);\n\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n\n return '';\n }\n }, {\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_6__config_provider__[\"a\" /* ConfigConsumer */], null, this.renderAnchor);\n }\n }]);\n\n return Anchor;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\nAnchor.defaultProps = {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer\n};\nAnchor.childContextTypes = {\n antAnchor: __WEBPACK_IMPORTED_MODULE_2_prop_types__[\"object\"]\n};\n\n/***/ }),\n/* 999 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config_provider__ = __webpack_require__(7);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\nvar AnchorLink =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AnchorLink, _React$Component);\n\n function AnchorLink() {\n var _this;\n\n _classCallCheck(this, AnchorLink);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AnchorLink).apply(this, arguments));\n\n _this.handleClick = function (e) {\n var _this$context$antAnch = _this.context.antAnchor,\n scrollTo = _this$context$antAnch.scrollTo,\n onClick = _this$context$antAnch.onClick;\n var _this$props = _this.props,\n href = _this$props.href,\n title = _this$props.title;\n\n if (onClick) {\n onClick(e, {\n title: title,\n href: href\n });\n }\n\n scrollTo(href);\n };\n\n _this.renderAnchorLink = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n href = _this$props2.href,\n title = _this$props2.title,\n children = _this$props2.children,\n className = _this$props2.className;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n var active = _this.context.antAnchor.activeLink === href;\n var wrapperClassName = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(className, \"\".concat(prefixCls, \"-link\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-active\"), active));\n var titleClassName = __WEBPACK_IMPORTED_MODULE_3_classnames___default()(\"\".concat(prefixCls, \"-link-title\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-title-active\"), active));\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"div\", {\n className: wrapperClassName\n }, __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](\"a\", {\n className: titleClassName,\n href: href,\n title: typeof title === 'string' ? title : '',\n onClick: _this.handleClick\n }, title), children);\n };\n\n return _this;\n }\n\n _createClass(AnchorLink, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.context.antAnchor.registerLink(this.props.href);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_ref2) {\n var prevHref = _ref2.href;\n var href = this.props.href;\n\n if (prevHref !== href) {\n this.context.antAnchor.unregisterLink(prevHref);\n this.context.antAnchor.registerLink(href);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.antAnchor.unregisterLink(this.props.href);\n }\n }, {\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_4__config_provider__[\"a\" /* ConfigConsumer */], null, this.renderAnchorLink);\n }\n }]);\n\n return AnchorLink;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nAnchorLink.defaultProps = {\n href: '#'\n};\nAnchorLink.contextTypes = {\n antAnchor: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"object\"]\n};\nObject(__WEBPACK_IMPORTED_MODULE_2_react_lifecycles_compat__[\"polyfill\"])(AnchorLink);\n/* harmony default export */ __webpack_exports__[\"a\"] = (AnchorLink);\n\n/***/ }),\n/* 1000 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_rc_select__ = __webpack_require__(419);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__InputElement__ = __webpack_require__(1032);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__input__ = __webpack_require__(185);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__select__ = __webpack_require__(140);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__config_provider__ = __webpack_require__(7);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\nfunction isSelectOptionOrSelectOptGroup(child) {\n return child && child.type && (child.type.isSelectOption || child.type.isSelectOptGroup);\n}\n\nvar AutoComplete =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AutoComplete, _React$Component);\n\n function AutoComplete() {\n var _this;\n\n _classCallCheck(this, AutoComplete);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AutoComplete).apply(this, arguments));\n\n _this.getInputElement = function () {\n var children = _this.props.children;\n var element = children && __WEBPACK_IMPORTED_MODULE_0_react__[\"isValidElement\"](children) && children.type !== __WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */] ? __WEBPACK_IMPORTED_MODULE_0_react__[\"Children\"].only(_this.props.children) : __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_4__input__[\"a\" /* default */], null);\n\n var elementProps = _extends({}, element.props); // https://github.com/ant-design/ant-design/pull/7742\n\n\n delete elementProps.children;\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3__InputElement__[\"a\" /* default */], elementProps, element);\n };\n\n _this.saveSelect = function (node) {\n _this.select = node;\n };\n\n _this.renderAutoComplete = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n size = _this$props.size,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n notFoundContent = _this$props.notFoundContent,\n optionLabelProp = _this$props.optionLabelProp,\n dataSource = _this$props.dataSource,\n children = _this$props.children;\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var cls = __WEBPACK_IMPORTED_MODULE_2_classnames___default()((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, className, !!className), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-search\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-auto-complete\"), true), _classNames));\n var options;\n var childArray = __WEBPACK_IMPORTED_MODULE_0_react__[\"Children\"].toArray(children);\n\n if (childArray.length && isSelectOptionOrSelectOptGroup(childArray[0])) {\n options = children;\n } else {\n options = dataSource ? dataSource.map(function (item) {\n if (__WEBPACK_IMPORTED_MODULE_0_react__[\"isValidElement\"](item)) {\n return item;\n }\n\n switch (_typeof(item)) {\n case 'string':\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */], {\n key: item\n }, item);\n\n case 'object':\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */], {\n key: item.value\n }, item.text);\n\n default:\n throw new Error('AutoComplete[dataSource] only supports type `string[] | Object[]`.');\n }\n }) : [];\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_5__select__[\"a\" /* default */], _extends({}, _this.props, {\n className: cls,\n mode: __WEBPACK_IMPORTED_MODULE_5__select__[\"a\" /* default */].SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp: optionLabelProp,\n getInputElement: _this.getInputElement,\n notFoundContent: notFoundContent,\n ref: _this.saveSelect\n }), options);\n };\n\n return _this;\n }\n\n _createClass(AutoComplete, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_6__config_provider__[\"a\" /* ConfigConsumer */], null, this.renderAutoComplete);\n }\n }]);\n\n return AutoComplete;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\nAutoComplete.Option = __WEBPACK_IMPORTED_MODULE_1_rc_select__[\"b\" /* Option */];\nAutoComplete.OptGroup = __WEBPACK_IMPORTED_MODULE_1_rc_select__[\"a\" /* OptGroup */];\nAutoComplete.defaultProps = {\n transitionName: 'slide-up',\n optionLabelProp: 'children',\n choiceTransitionName: 'zoom',\n showSearch: false,\n filterOption: false\n};\n\n/***/ }),\n/* 1001 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return OptGroup; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\nvar OptGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(OptGroup, _Component);\n\n function OptGroup() {\n _classCallCheck(this, OptGroup);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(OptGroup).apply(this, arguments));\n }\n\n return OptGroup;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\nOptGroup.isSelectOptGroup = true;\n\n/***/ }),\n/* 1002 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_component_classes__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_component_classes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_component_classes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rc_animate__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_menu__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__ = __webpack_require__(37);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_lifecycles_compat__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_warning__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_warning__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Option__ = __webpack_require__(420);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__PropTypes__ = __webpack_require__(421);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__SelectTrigger__ = __webpack_require__(1030);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__util__ = __webpack_require__(249);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nvar noop = function noop() {\n return null;\n};\n\nfunction chaining() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\n\nvar Select =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Select, _React$Component);\n\n function Select(props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Select).call(this, props));\n _this.inputRef = null;\n _this.inputMirrorRef = null;\n _this.topCtrlRef = null;\n _this.selectTriggerRef = null;\n _this.rootRef = null;\n _this.selectionRef = null;\n _this.dropdownContainer = null;\n _this.blurTimer = null;\n _this.focusTimer = null; // tslint:disable-next-line:variable-name\n\n _this._focused = false; // tslint:disable-next-line:variable-name\n\n _this._mouseDown = false; // tslint:disable-next-line:variable-name\n\n _this._options = []; // tslint:disable-next-line:variable-name\n\n _this._empty = false;\n\n _this.onInputChange = function (event) {\n var tokenSeparators = _this.props.tokenSeparators;\n var val = event.target.value;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) && tokenSeparators.length && Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"l\" /* includesSeparators */])(val, tokenSeparators)) {\n var nextValue = _this.getValueByInput(val);\n\n if (nextValue !== undefined) {\n _this.fireChange(nextValue);\n }\n\n _this.setOpenState(false, true);\n\n _this.setInputValue('', false);\n\n return;\n }\n\n _this.setInputValue(val);\n\n _this.setState({\n open: true\n });\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(_this.props)) {\n _this.fireChange([val]);\n }\n };\n\n _this.onDropdownVisibleChange = function (open) {\n if (open && !_this._focused) {\n _this.clearBlurTime();\n\n _this.timeoutFocus();\n\n _this._focused = true;\n\n _this.updateFocusClassName();\n }\n\n _this.setOpenState(open);\n }; // combobox ignore\n\n\n _this.onKeyDown = function (event) {\n var open = _this.state.open;\n var disabled = _this.props.disabled;\n\n if (disabled) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (open && !_this.getInputDOMNode()) {\n _this.onInputKeyDown(event);\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ENTER || keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].DOWN) {\n if (!open) {\n _this.setOpenState(true);\n }\n\n event.preventDefault();\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].SPACE) {\n // Not block space if popup is shown\n if (!open) {\n _this.setOpenState(true);\n\n event.preventDefault();\n }\n }\n };\n\n _this.onInputKeyDown = function (event) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n combobox = _this$props.combobox;\n\n if (disabled) {\n return;\n }\n\n var state = _this.state;\n\n var isRealOpen = _this.getRealOpenState(state); // magic code\n\n\n var keyCode = event.keyCode;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) && !event.target.value && keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].BACKSPACE) {\n event.preventDefault();\n var value = state.value;\n\n if (value.length) {\n _this.removeSelected(value[value.length - 1]);\n }\n\n return;\n }\n\n if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].DOWN) {\n if (!state.open) {\n _this.openIfHasChildren();\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ENTER && state.open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n } else if (keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ESC) {\n if (state.open) {\n _this.setOpenState(false);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n return;\n }\n\n if (isRealOpen && _this.selectTriggerRef) {\n var menu = _this.selectTriggerRef.getInnerMenu();\n\n if (menu && menu.onKeyDown(event, _this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n _this.onMenuSelect = function (_ref) {\n var item = _ref.item;\n\n if (!item) {\n return;\n }\n\n var value = _this.state.value;\n var props = _this.props;\n var selectedValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item);\n var lastValue = value[value.length - 1];\n\n _this.fireSelect(selectedValue);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props)) {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"e\" /* findIndexInValueBySingleValue */])(value, selectedValue) !== -1) {\n return;\n }\n\n value = value.concat([selectedValue]);\n } else {\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props) && lastValue !== undefined && lastValue === selectedValue && selectedValue !== _this.state.backfillValue) {\n _this.setOpenState(false, true);\n\n return;\n }\n\n value = [selectedValue];\n\n _this.setOpenState(false, true);\n }\n\n _this.fireChange(value);\n\n var inputValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props) ? Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"i\" /* getPropValue */])(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n _this.setInputValue(inputValue, false);\n }\n };\n\n _this.onMenuDeselect = function (_ref2) {\n var item = _ref2.item,\n domEvent = _ref2.domEvent;\n\n if (domEvent.type === 'keydown' && domEvent.keyCode === __WEBPACK_IMPORTED_MODULE_5_rc_util_es_KeyCode__[\"a\" /* default */].ENTER) {\n _this.removeSelected(Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item));\n\n return;\n }\n\n if (domEvent.type === 'click') {\n _this.removeSelected(Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item));\n }\n\n var props = _this.props;\n\n if (props.autoClearSearchValue) {\n _this.setInputValue('', false);\n }\n };\n\n _this.onArrowClick = function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n if (!_this.props.disabled) {\n _this.setOpenState(!_this.state.open, !_this.state.open);\n }\n };\n\n _this.onPlaceholderClick = function () {\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().focus();\n }\n };\n\n _this.onOuterFocus = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.clearBlurTime();\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(_this.props) && e.target === _this.getInputDOMNode()) {\n return;\n }\n\n if (_this._focused) {\n return;\n }\n\n _this._focused = true;\n\n _this.updateFocusClassName(); // only effect multiple or tag mode\n\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) || !_this._mouseDown) {\n _this.timeoutFocus();\n }\n };\n\n _this.onPopupFocus = function () {\n // fix ie scrollbar, focus element again\n _this.maybeFocus(true, true);\n };\n\n _this.onOuterBlur = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.blurTimer = window.setTimeout(function () {\n _this._focused = false;\n\n _this.updateFocusClassName();\n\n var props = _this.props;\n var value = _this.state.value;\n var inputValue = _this.state.inputValue;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props) && props.showSearch && inputValue && props.defaultActiveFirstOption) {\n var options = _this._options || [];\n\n if (options.length) {\n var firstOption = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"d\" /* findFirstMenuItem */])(options);\n\n if (firstOption) {\n value = [Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(firstOption)];\n\n _this.fireChange(value);\n }\n }\n } else if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props) && inputValue) {\n if (_this._mouseDown) {\n // need update dropmenu when not blur\n _this.setInputValue('');\n } else {\n // why not use setState?\n // https://github.com/ant-design/ant-design/issues/14262\n _this.state.inputValue = '';\n\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().value = '';\n }\n }\n\n var tmpValue = _this.getValueByInput(inputValue);\n\n if (tmpValue !== undefined) {\n value = tmpValue;\n\n _this.fireChange(value);\n }\n } // if click the rest space of Select in multiple mode\n\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props) && _this._mouseDown) {\n _this.maybeFocus(true, true);\n\n _this._mouseDown = false;\n return;\n }\n\n _this.setOpenState(false);\n\n if (props.onBlur) {\n props.onBlur(_this.getVLForOnChange(value));\n }\n }, 10);\n };\n\n _this.onClearSelection = function (event) {\n var props = _this.props;\n var state = _this.state;\n\n if (props.disabled) {\n return;\n }\n\n var inputValue = state.inputValue;\n var value = state.value;\n event.stopPropagation();\n\n if (inputValue || value.length) {\n if (value.length) {\n _this.fireChange([]);\n }\n\n _this.setOpenState(false, true);\n\n if (inputValue) {\n _this.setInputValue('');\n }\n }\n };\n\n _this.onChoiceAnimationLeave = function () {\n _this.forcePopupAlign();\n };\n\n _this.getOptionInfoBySingleValue = function (value, optionsInfo) {\n var info;\n optionsInfo = optionsInfo || _this.state.optionsInfo;\n\n if (optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)]) {\n info = optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)];\n }\n\n if (info) {\n return info;\n }\n\n var defaultLabel = value;\n\n if (_this.props.labelInValue) {\n var label = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"g\" /* getLabelFromPropsValue */])(_this.props.value, value);\n\n if (label !== undefined) {\n defaultLabel = label;\n }\n }\n\n var defaultInfo = {\n option: __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_10__Option__[\"a\" /* default */], {\n value: value,\n key: value\n }, value),\n value: value,\n label: defaultLabel\n };\n return defaultInfo;\n };\n\n _this.getOptionBySingleValue = function (value) {\n var _this$getOptionInfoBy = _this.getOptionInfoBySingleValue(value),\n option = _this$getOptionInfoBy.option;\n\n return option;\n };\n\n _this.getOptionsBySingleValue = function (values) {\n return values.map(function (value) {\n return _this.getOptionBySingleValue(value);\n });\n };\n\n _this.getValueByLabel = function (label) {\n if (label === undefined) {\n return null;\n }\n\n var value = null;\n Object.keys(_this.state.optionsInfo).forEach(function (key) {\n var info = _this.state.optionsInfo[key];\n var disabled = info.disabled;\n\n if (disabled) {\n return;\n }\n\n var oldLable = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(info.label);\n\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n };\n\n _this.getVLBySingleValue = function (value) {\n if (_this.props.labelInValue) {\n return {\n key: value,\n label: _this.getLabelBySingleValue(value)\n };\n }\n\n return value;\n };\n\n _this.getVLForOnChange = function (vlsS) {\n var vls = vlsS;\n\n if (vls !== undefined) {\n if (!_this.props.labelInValue) {\n vls = vls.map(function (v) {\n return v;\n });\n } else {\n vls = vls.map(function (vl) {\n return {\n key: vl,\n label: _this.getLabelBySingleValue(vl)\n };\n });\n }\n\n return Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) ? vls : vls[0];\n }\n\n return vls;\n };\n\n _this.getLabelBySingleValue = function (value, optionsInfo) {\n var _this$getOptionInfoBy2 = _this.getOptionInfoBySingleValue(value, optionsInfo),\n label = _this$getOptionInfoBy2.label;\n\n return label;\n };\n\n _this.getDropdownContainer = function () {\n if (!_this.dropdownContainer) {\n _this.dropdownContainer = document.createElement('div');\n document.body.appendChild(_this.dropdownContainer);\n }\n\n return _this.dropdownContainer;\n };\n\n _this.getPlaceholderElement = function () {\n var props = _this.props;\n var state = _this.state;\n var hidden = false;\n\n if (state.inputValue) {\n hidden = true;\n }\n\n var value = state.value;\n\n if (value.length) {\n hidden = true;\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props) && value.length === 1 && state.value && !state.value[0]) {\n hidden = false;\n }\n\n var placeholder = props.placeholder;\n\n if (placeholder) {\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", _extends({\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n style: _extends({\n display: hidden ? 'none' : 'block'\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */])\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onClick: _this.onPlaceholderClick,\n className: \"\".concat(props.prefixCls, \"-selection__placeholder\")\n }), placeholder);\n }\n\n return null;\n };\n\n _this.getInputElement = function () {\n var props = _this.props;\n var defaultInput = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"input\", {\n id: props.id,\n autoComplete: \"off\"\n }); // tslint:disable-next-line:typedef-whitespace\n\n var inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n var inputCls = __WEBPACK_IMPORTED_MODULE_0_classnames___default()(inputElement.props.className, _defineProperty({}, \"\".concat(props.prefixCls, \"-search__field\"), true)); // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(props.prefixCls, \"-search__field__wrap\")\n }, __WEBPACK_IMPORTED_MODULE_6_react__[\"cloneElement\"](inputElement, {\n ref: _this.saveInputRef,\n onChange: _this.onInputChange,\n onKeyDown: chaining(_this.onInputKeyDown, inputElement.props.onKeyDown, _this.props.onInputKeyDown),\n value: _this.state.inputValue,\n disabled: props.disabled,\n className: inputCls\n }), __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", {\n ref: _this.saveInputMirrorRef,\n className: \"\".concat(props.prefixCls, \"-search__field__mirror\")\n }, _this.state.inputValue, \"\\xA0\"));\n };\n\n _this.getInputDOMNode = function () {\n return _this.topCtrlRef ? _this.topCtrlRef.querySelector('input,textarea,div[contentEditable]') : _this.inputRef;\n };\n\n _this.getInputMirrorDOMNode = function () {\n return _this.inputMirrorRef;\n };\n\n _this.getPopupDOMNode = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getPopupDOMNode();\n }\n };\n\n _this.getPopupMenuComponent = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getInnerMenu();\n }\n };\n\n _this.setOpenState = function (open, needFocus) {\n var props = _this.props;\n var state = _this.state;\n\n if (state.open === open) {\n _this.maybeFocus(open, !!needFocus);\n\n return;\n }\n\n if (_this.props.onDropdownVisibleChange) {\n _this.props.onDropdownVisibleChange(open);\n }\n\n var nextState = {\n open: open,\n backfillValue: ''\n }; // clear search input value when open is false in singleMode.\n\n if (!open && Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props) && props.showSearch) {\n _this.setInputValue('', false);\n }\n\n if (!open) {\n _this.maybeFocus(open, !!needFocus);\n }\n\n _this.setState(_extends({\n open: open\n }, nextState), function () {\n if (open) {\n _this.maybeFocus(open, !!needFocus);\n }\n });\n };\n\n _this.setInputValue = function (inputValue) {\n var fireSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (inputValue !== _this.state.inputValue) {\n _this.setState({\n inputValue: inputValue\n }, _this.forcePopupAlign);\n\n if (fireSearch && _this.props.onSearch) {\n _this.props.onSearch(inputValue);\n }\n }\n };\n\n _this.getValueByInput = function (str) {\n var _this$props2 = _this.props,\n multiple = _this$props2.multiple,\n tokenSeparators = _this$props2.tokenSeparators;\n var nextValue = _this.state.value;\n var hasNewValue = false;\n Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"s\" /* splitBySeparators */])(str, tokenSeparators).forEach(function (label) {\n var selectedValue = [label];\n\n if (multiple) {\n var value = _this.getValueByLabel(label);\n\n if (value && Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"e\" /* findIndexInValueBySingleValue */])(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n\n _this.fireSelect(value);\n }\n } else if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"e\" /* findIndexInValueBySingleValue */])(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n\n _this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n };\n\n _this.getRealOpenState = function (state) {\n // tslint:disable-next-line:variable-name\n var _open = _this.props.open;\n\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n var open = (state || _this.state).open;\n var options = _this._options || [];\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(_this.props) || !_this.props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n\n return open;\n };\n\n _this.markMouseDown = function () {\n _this._mouseDown = true;\n };\n\n _this.markMouseLeave = function () {\n _this._mouseDown = false;\n };\n\n _this.handleBackfill = function (item) {\n if (!_this.props.backfill || !(Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(_this.props) || Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(_this.props))) {\n return;\n }\n\n var key = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(item);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(_this.props)) {\n _this.setInputValue(key, false);\n }\n\n _this.setState({\n value: [key],\n backfillValue: key\n });\n };\n\n _this.filterOption = function (input, child) {\n var defaultFilter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : __WEBPACK_IMPORTED_MODULE_13__util__[\"c\" /* defaultFilterFn */];\n var value = _this.state.value;\n var lastValue = value[value.length - 1];\n\n if (!input || lastValue && lastValue === _this.state.backfillValue) {\n return true;\n }\n\n var filterFn = _this.props.filterOption;\n\n if ('filterOption' in _this.props) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n } else {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(_assertThisInitialized(_this), input, child);\n } else if (child.props.disabled) {\n return false;\n }\n\n return true;\n };\n\n _this.timeoutFocus = function () {\n if (_this.focusTimer) {\n _this.clearFocusTime();\n }\n\n _this.focusTimer = window.setTimeout(function () {\n if (_this.props.onFocus) {\n _this.props.onFocus();\n }\n }, 10);\n };\n\n _this.clearFocusTime = function () {\n if (_this.focusTimer) {\n clearTimeout(_this.focusTimer);\n _this.focusTimer = null;\n }\n };\n\n _this.clearBlurTime = function () {\n if (_this.blurTimer) {\n clearTimeout(_this.blurTimer);\n _this.blurTimer = null;\n }\n };\n\n _this.updateFocusClassName = function () {\n var rootRef = _this.rootRef;\n var props = _this.props; // avoid setState and its side effect\n\n if (_this._focused) {\n __WEBPACK_IMPORTED_MODULE_1_component_classes___default()(rootRef).add(\"\".concat(props.prefixCls, \"-focused\"));\n } else {\n __WEBPACK_IMPORTED_MODULE_1_component_classes___default()(rootRef).remove(\"\".concat(props.prefixCls, \"-focused\"));\n }\n };\n\n _this.maybeFocus = function (open, needFocus) {\n if (needFocus || open) {\n var input = _this.getInputDOMNode();\n\n var _document = document,\n activeElement = _document.activeElement;\n\n if (input && (open || Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(_this.props))) {\n if (activeElement !== input) {\n input.focus();\n _this._focused = true;\n }\n } else if (activeElement !== _this.selectionRef && _this.selectionRef) {\n _this.selectionRef.focus();\n\n _this._focused = true;\n }\n }\n };\n\n _this.removeSelected = function (selectedKey, e) {\n var props = _this.props;\n\n if (props.disabled || _this.isChildDisabled(selectedKey)) {\n return;\n } // Do not trigger Trigger popup\n\n\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n\n var oldValue = _this.state.value;\n var value = oldValue.filter(function (singleValue) {\n return singleValue !== selectedKey;\n });\n var canMultiple = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props);\n\n if (canMultiple) {\n var event = selectedKey;\n\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: _this.getLabelBySingleValue(selectedKey)\n };\n }\n\n if (props.onDeselect) {\n props.onDeselect(event, _this.getOptionBySingleValue(selectedKey));\n }\n }\n\n _this.fireChange(value);\n };\n\n _this.openIfHasChildren = function () {\n var props = _this.props;\n\n if (__WEBPACK_IMPORTED_MODULE_6_react__[\"Children\"].count(props.children) || Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props)) {\n _this.setOpenState(true);\n }\n };\n\n _this.fireSelect = function (value) {\n if (_this.props.onSelect) {\n _this.props.onSelect(_this.getVLBySingleValue(value), _this.getOptionBySingleValue(value));\n }\n };\n\n _this.fireChange = function (value) {\n var props = _this.props;\n\n if (!('value' in props)) {\n _this.setState({\n value: value\n }, _this.forcePopupAlign);\n }\n\n var vls = _this.getVLForOnChange(value);\n\n var options = _this.getOptionsBySingleValue(value);\n\n if (props.onChange) {\n props.onChange(vls, Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(_this.props) ? options : options[0]);\n }\n };\n\n _this.isChildDisabled = function (key) {\n return Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__[\"a\" /* default */])(_this.props.children).some(function (child) {\n var childValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(child);\n return childValue === key && child.props && child.props.disabled;\n });\n };\n\n _this.forcePopupAlign = function () {\n if (!_this.state.open) {\n return;\n }\n\n if (_this.selectTriggerRef && _this.selectTriggerRef.triggerRef) {\n _this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n };\n\n _this.renderFilterOptions = function () {\n var inputValue = _this.state.inputValue;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n tags = _this$props3.tags,\n notFoundContent = _this$props3.notFoundContent;\n var menuItems = [];\n var childrenKeys = [];\n var empty = false;\n\n var options = _this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n\n if (tags) {\n // tags value must be string\n var value = _this.state.value;\n value = value.filter(function (singleValue) {\n return childrenKeys.indexOf(singleValue) === -1 && (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1);\n }); // sort by length\n\n value.sort(function (val1, val2) {\n return val1.length - val2.length;\n });\n value.forEach(function (singleValue) {\n var key = singleValue;\n var menuItem = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], {\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n role: \"option\",\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n value: key,\n key: key\n }, key);\n options.push(menuItem);\n menuItems.push(menuItem);\n }); // ref: https://github.com/ant-design/ant-design/issues/14090\n\n if (inputValue && menuItems.every(function (option) {\n return Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(option) !== inputValue;\n })) {\n options.unshift(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], {\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n role: \"option\",\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n value: inputValue,\n key: inputValue\n }, inputValue));\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n options = [__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], {\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n disabled: true,\n role: \"option\",\n value: \"NOT_FOUND\",\n key: \"NOT_FOUND\"\n }, notFoundContent)];\n }\n\n return {\n empty: empty,\n options: options\n };\n };\n\n _this.renderFilterOptionsFromChildren = function (children, childrenKeys, menuItems) {\n var sel = [];\n var props = _this.props;\n var inputValue = _this.state.inputValue;\n var tags = props.tags;\n __WEBPACK_IMPORTED_MODULE_6_react__[\"Children\"].forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n var label = child.props.label;\n var key = child.key;\n\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n } // Match option group label\n\n\n if (inputValue && _this.filterOption(inputValue, child)) {\n var innerItems = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__[\"a\" /* default */])(child.props.children).map(function (subChild) {\n var childValueSub = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(subChild) || subChild.key;\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], _extends({\n key: childValueSub,\n value: childValueSub\n }, subChild.props));\n });\n sel.push(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"c\" /* ItemGroup */], {\n key: key,\n title: label\n }, innerItems)); // Not match\n } else {\n var _innerItems = _this.renderFilterOptionsFromChildren(child.props.children, childrenKeys, menuItems);\n\n if (_innerItems.length) {\n sel.push(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"c\" /* ItemGroup */], {\n key: key,\n title: label\n }, _innerItems));\n }\n }\n\n return;\n }\n\n __WEBPACK_IMPORTED_MODULE_9_warning___default()(type.isSelectOption, 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' + \"instead of `\".concat(type.name || type.displayName || child.type, \"`.\"));\n var childValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(child);\n Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"v\" /* validateOptionValue */])(childValue, _this.props);\n\n if (_this.filterOption(inputValue, child)) {\n var menuItem = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"b\" /* Item */], _extends({\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */],\n attribute: __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */],\n value: childValue,\n key: childValue,\n role: \"option\"\n }, child.props));\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n return sel;\n };\n\n _this.renderTopControlNode = function () {\n var _this$state = _this.state,\n open = _this$state.open,\n inputValue = _this$state.inputValue;\n var value = _this.state.value;\n var props = _this.props;\n var choiceTransitionName = props.choiceTransitionName,\n prefixCls = props.prefixCls,\n maxTagTextLength = props.maxTagTextLength,\n maxTagCount = props.maxTagCount,\n showSearch = props.showSearch,\n removeIcon = props.removeIcon;\n var maxTagPlaceholder = props.maxTagPlaceholder;\n var className = \"\".concat(prefixCls, \"-selection__rendered\"); // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n\n var innerNode = null;\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(props)) {\n var selectedValue = null;\n\n if (value.length) {\n var showSelectedValue = false;\n var opacity = 1;\n\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n\n var singleValue = value[0];\n\n var _this$getOptionInfoBy3 = _this.getOptionInfoBySingleValue(singleValue),\n label = _this$getOptionInfoBy3.label,\n title = _this$getOptionInfoBy3.title;\n\n selectedValue = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n key: \"value\",\n className: \"\".concat(prefixCls, \"-selection-selected-value\"),\n title: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"u\" /* toTitle */])(title || label),\n style: {\n display: showSelectedValue ? 'block' : 'none',\n opacity: opacity\n }\n }, label);\n }\n\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [selectedValue, __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"input\",\n style: {\n display: open ? 'block' : 'none'\n }\n }, _this.getInputElement())];\n }\n } else {\n var selectedValueNodes = [];\n var limitedCountValue = value;\n var maxTagPlaceholderEl;\n\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n\n var omittedValues = _this.getVLForOnChange(value.slice(maxTagCount, value.length));\n\n var content = \"+ \".concat(value.length - maxTagCount, \" ...\");\n\n if (maxTagPlaceholder) {\n content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n }\n\n maxTagPlaceholderEl = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"li\", _extends({\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n role: \"presentation\",\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n className: \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\"),\n key: \"maxTagPlaceholder\",\n title: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"u\" /* toTitle */])(content)\n }), __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content));\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props)) {\n selectedValueNodes = limitedCountValue.map(function (singleValue) {\n var info = _this.getOptionInfoBySingleValue(singleValue);\n\n var content = info.label;\n var title = info.title || content;\n\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = \"\".concat(content.slice(0, maxTagTextLength), \"...\");\n }\n\n var disabled = _this.isChildDisabled(singleValue);\n\n var choiceClassName = disabled ? \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\") : \"\".concat(prefixCls, \"-selection__choice\");\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"li\", _extends({\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n className: choiceClassName,\n role: \"presentation\",\n key: singleValue || SELECT_EMPTY_VALUE_KEY,\n title: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"u\" /* toTitle */])(title)\n }), __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content), disabled ? null : __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", {\n onClick: function onClick(event) {\n _this.removeSelected(singleValue, event);\n },\n className: \"\".concat(prefixCls, \"-selection__choice__remove\")\n }, removeIcon || __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-selection__choice__remove-icon\")\n }, \"\\xD7\")));\n });\n }\n\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n\n selectedValueNodes.push(__WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"li\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"__input\"\n }, _this.getInputElement()));\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props) && choiceTransitionName) {\n innerNode = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_2_rc_animate__[\"a\" /* default */], {\n onLeave: _this.onChoiceAnimationLeave,\n component: \"ul\",\n transitionName: choiceTransitionName\n }, selectedValueNodes);\n } else {\n innerNode = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"ul\", null, selectedValueNodes);\n }\n }\n\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n className: className,\n ref: _this.saveTopCtrlRef\n }, _this.getPlaceholderElement(), innerNode);\n };\n\n var optionsInfo = Select.getOptionsInfoFromProps(props);\n\n if (props.tags && typeof props.filterOption !== 'function') {\n var isDisabledExist = Object.keys(optionsInfo).some(function (key) {\n return optionsInfo[key].disabled;\n });\n __WEBPACK_IMPORTED_MODULE_9_warning___default()(!isDisabledExist, 'Please avoid setting option to disabled in tags mode since user can always type text as tag.');\n }\n\n _this.state = {\n value: Select.getValueFromProps(props, true),\n inputValue: props.combobox ? Select.getInputValueForCombobox(props, optionsInfo, true) : '',\n open: props.defaultOpen,\n optionsInfo: optionsInfo,\n backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n skipBuildOptionsInfo: true,\n ariaId: ''\n };\n _this.saveInputRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'inputRef');\n _this.saveInputMirrorRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'inputMirrorRef');\n _this.saveTopCtrlRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'topCtrlRef');\n _this.saveSelectTriggerRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'selectTriggerRef');\n _this.saveRootRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'rootRef');\n _this.saveSelectionRef = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'selectionRef');\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.props.autoFocus || this.state.open) {\n this.focus();\n }\n\n this.setState({\n ariaId: Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"f\" /* generateUUID */])()\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(this.props)) {\n var inputNode = this.getInputDOMNode();\n var mirrorNode = this.getInputMirrorDOMNode();\n\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = \"\".concat(mirrorNode.clientWidth, \"px\");\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n\n this.forcePopupAlign();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearFocusTime();\n this.clearBlurTime();\n\n if (this.dropdownContainer) {\n __WEBPACK_IMPORTED_MODULE_7_react_dom__[\"unmountComponentAtNode\"](this.dropdownContainer);\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(this.props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"p\" /* isSingleMode */])(this.props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n }\n }, {\n key: \"renderArrow\",\n value: function renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n var _this$props4 = this.props,\n _this$props4$showArro = _this$props4.showArrow,\n showArrow = _this$props4$showArro === void 0 ? !multiple : _this$props4$showArro,\n loading = _this$props4.loading,\n inputIcon = _this$props4.inputIcon,\n prefixCls = _this$props4.prefixCls;\n\n if (!showArrow && !loading) {\n return null;\n } // if loading have loading icon\n\n\n var defaultIcon = loading ? __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-loading\")\n }) : __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-icon\")\n });\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", _extends({\n key: \"arrow\",\n className: \"\".concat(prefixCls, \"-arrow\"),\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onClick: this.onArrowClick\n }), inputIcon || defaultIcon);\n }\n }, {\n key: \"renderClear\",\n value: function renderClear() {\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n allowClear = _this$props5.allowClear,\n clearIcon = _this$props5.clearIcon;\n var inputValue = this.state.inputValue;\n var value = this.state.value;\n var clear = __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"span\", _extends({\n key: \"clear\",\n className: \"\".concat(prefixCls, \"-selection__clear\"),\n onMouseDown: __WEBPACK_IMPORTED_MODULE_13__util__[\"q\" /* preventDefaultEvent */],\n style: __WEBPACK_IMPORTED_MODULE_13__util__[\"b\" /* UNSELECTABLE_STYLE */]\n }, __WEBPACK_IMPORTED_MODULE_13__util__[\"a\" /* UNSELECTABLE_ATTRIBUTE */], {\n onClick: this.onClearSelection\n }), clearIcon || __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"i\", {\n className: \"\".concat(prefixCls, \"-selection__clear-icon\")\n }, \"\\xD7\"));\n\n if (!allowClear) {\n return null;\n }\n\n if (Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(this.props)) {\n if (inputValue) {\n return clear;\n }\n\n return null;\n }\n\n if (inputValue || value.length) {\n return clear;\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _rootCls;\n\n var props = this.props;\n var multiple = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"n\" /* isMultipleOrTags */])(props); // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var state = this.state;\n var className = props.className,\n disabled = props.disabled,\n prefixCls = props.prefixCls,\n loading = props.loading;\n var ctrlNode = this.renderTopControlNode();\n var _this$state2 = this.state,\n open = _this$state2.open,\n ariaId = _this$state2.ariaId;\n\n if (open) {\n var filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n\n var realOpen = this.getRealOpenState();\n var empty = this._empty;\n var options = this._options || [];\n var dataOrAriaAttributeProps = {};\n Object.keys(props).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(props, key) && (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')) {\n dataOrAriaAttributeProps[key] = props[key];\n }\n }); // for (const key in props) {\n // if (\n // Object.prototype.hasOwnProperty.call(props, key) &&\n // (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')\n // ) {\n // dataOrAriaAttributeProps[key] = props[key];\n // }\n // }\n\n var extraSelectionProps = _extends({}, dataOrAriaAttributeProps);\n\n if (!Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"o\" /* isMultipleOrTagsOrCombobox */])(props)) {\n extraSelectionProps = _extends({}, extraSelectionProps, {\n onKeyDown: this.onKeyDown,\n tabIndex: props.disabled ? -1 : props.tabIndex\n });\n }\n\n var rootCls = (_rootCls = {}, _defineProperty(_rootCls, className, !!className), _defineProperty(_rootCls, prefixCls, 1), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-open\"), open), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-focused\"), open || !!this._focused), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-combobox\"), Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"m\" /* isCombobox */])(props)), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-enabled\"), !disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-allow-clear\"), !!props.allowClear), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-no-arrow\"), !showArrow), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-loading\"), !!loading), _rootCls);\n return __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_12__SelectTrigger__[\"a\" /* default */], {\n onPopupFocus: this.onPopupFocus,\n onMouseEnter: this.props.onMouseEnter,\n onMouseLeave: this.props.onMouseLeave,\n dropdownAlign: props.dropdownAlign,\n dropdownClassName: props.dropdownClassName,\n dropdownMatchSelectWidth: props.dropdownMatchSelectWidth,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n transitionName: props.transitionName,\n animation: props.animation,\n prefixCls: props.prefixCls,\n dropdownStyle: props.dropdownStyle,\n combobox: props.combobox,\n showSearch: props.showSearch,\n options: options,\n empty: empty,\n multiple: multiple,\n disabled: disabled,\n visible: realOpen,\n inputValue: state.inputValue,\n value: state.value,\n backfillValue: state.backfillValue,\n firstActiveValue: props.firstActiveValue,\n onDropdownVisibleChange: this.onDropdownVisibleChange,\n getPopupContainer: props.getPopupContainer,\n onMenuSelect: this.onMenuSelect,\n onMenuDeselect: this.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n showAction: props.showAction,\n ref: this.saveSelectTriggerRef,\n menuItemSelectedIcon: props.menuItemSelectedIcon,\n dropdownRender: props.dropdownRender,\n ariaId: ariaId\n }, __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", {\n id: props.id,\n style: props.style,\n ref: this.saveRootRef,\n onBlur: this.onOuterBlur,\n onFocus: this.onOuterFocus,\n className: __WEBPACK_IMPORTED_MODULE_0_classnames___default()(rootCls),\n onMouseDown: this.markMouseDown,\n onMouseUp: this.markMouseLeave,\n onMouseOut: this.markMouseLeave\n }, __WEBPACK_IMPORTED_MODULE_6_react__[\"createElement\"](\"div\", _extends({\n ref: this.saveSelectionRef,\n key: \"selection\",\n className: \"\".concat(prefixCls, \"-selection\\n \").concat(prefixCls, \"-selection--\").concat(multiple ? 'multiple' : 'single'),\n role: \"combobox\",\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"true\",\n \"aria-controls\": ariaId,\n \"aria-expanded\": realOpen\n }, extraSelectionProps), ctrlNode, this.renderClear(), this.renderArrow(!!multiple))));\n }\n }]);\n\n return Select;\n}(__WEBPACK_IMPORTED_MODULE_6_react__[\"Component\"]);\n\nSelect.propTypes = __WEBPACK_IMPORTED_MODULE_11__PropTypes__[\"a\" /* default */];\nSelect.defaultProps = {\n prefixCls: 'rc-select',\n defaultOpen: false,\n labelInValue: false,\n defaultActiveFirstOption: true,\n showSearch: true,\n allowClear: false,\n placeholder: '',\n onChange: noop,\n onFocus: noop,\n onBlur: noop,\n onSelect: noop,\n onSearch: noop,\n onDeselect: noop,\n onInputKeyDown: noop,\n dropdownMatchSelectWidth: true,\n dropdownStyle: {},\n dropdownMenuStyle: {},\n optionFilterProp: 'value',\n optionLabelProp: 'value',\n notFoundContent: 'Not Found',\n backfill: false,\n showAction: ['click'],\n tokenSeparators: [],\n autoClearSearchValue: true,\n tabIndex: 0,\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\n\nSelect.getDerivedStateFromProps = function (nextProps, prevState) {\n var optionsInfo = prevState.skipBuildOptionsInfo ? prevState.optionsInfo : Select.getOptionsInfoFromProps(nextProps, prevState);\n var newState = {\n optionsInfo: optionsInfo,\n skipBuildOptionsInfo: false\n };\n\n if ('open' in nextProps) {\n newState.open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n var value = Select.getValueFromProps(nextProps);\n newState.value = value;\n\n if (nextProps.combobox) {\n newState.inputValue = Select.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n\n return newState;\n};\n\nSelect.getOptionsFromChildren = function (children) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n __WEBPACK_IMPORTED_MODULE_6_react__[\"Children\"].forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n Select.getOptionsFromChildren(child.props.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n};\n\nSelect.getInputValueForCombobox = function (props, optionsInfo, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.defaultValue);\n }\n\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n\n var label = value;\n\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)]) {\n label = optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(value)].label;\n }\n\n if (label === undefined) {\n label = '';\n }\n\n return label;\n};\n\nSelect.getLabelFromOption = function (props, option) {\n return Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"i\" /* getPropValue */])(option, props.optionLabelProp);\n};\n\nSelect.getOptionsInfoFromProps = function (props, preState) {\n var options = Select.getOptionsFromChildren(props.children);\n var optionsInfo = {};\n options.forEach(function (option) {\n var singleValue = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"k\" /* getValuePropValue */])(option);\n optionsInfo[Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(singleValue)] = {\n option: option,\n value: singleValue,\n label: Select.getLabelFromOption(props, option),\n title: option.props.title,\n disabled: option.props.disabled\n };\n });\n\n if (preState) {\n // keep option info in pre state value.\n var oldOptionsInfo = preState.optionsInfo;\n var value = preState.value;\n\n if (value) {\n value.forEach(function (v) {\n var key = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"h\" /* getMapKey */])(v);\n\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n\n return optionsInfo;\n};\n\nSelect.getValueFromProps = function (props, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = Object(__WEBPACK_IMPORTED_MODULE_13__util__[\"t\" /* toArray */])(props.defaultValue);\n }\n\n if (props.labelInValue) {\n value = value.map(function (v) {\n return v.key;\n });\n }\n\n return value;\n};\n\nSelect.displayName = 'Select';\nObject(__WEBPACK_IMPORTED_MODULE_8_react_lifecycles_compat__[\"polyfill\"])(Select);\n/* harmony default export */ __webpack_exports__[\"a\"] = (Select);\n\n/***/ }),\n/* 1003 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = toArrayChildren;\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = findChildInChildrenByKey;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = findShownChildInChildrenByKey;\n/* unused harmony export findHiddenChildInChildrenByKey */\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isSameChildren;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = mergeChildren;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n\nfunction toArrayChildren(children) {\n var ret = [];\n __WEBPACK_IMPORTED_MODULE_0_react___default.a.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nfunction findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nfunction findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nfunction isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nfunction mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n/***/ }),\n/* 1004 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_css_animation__ = __webpack_require__(245);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__util_animate__ = __webpack_require__(424);\n\n\n\n\n\n\n\n\n\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AnimateChild, _React$Component);\n\n function AnimateChild() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, AnimateChild);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (__WEBPACK_IMPORTED_MODULE_8__util_animate__[\"a\" /* default */].isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (__WEBPACK_IMPORTED_MODULE_8__util_animate__[\"a\" /* default */].isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (__WEBPACK_IMPORTED_MODULE_8__util_animate__[\"a\" /* default */].isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = __WEBPACK_IMPORTED_MODULE_5_react_dom___default.a.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((__WEBPACK_IMPORTED_MODULE_7_css_animation__[\"b\" /* isCssAnimationSupported */] || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = Object(__WEBPACK_IMPORTED_MODULE_7_css_animation__[\"a\" /* default */])(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);\n\nAnimateChild.propTypes = {\n children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (AnimateChild);\n\n/***/ }),\n/* 1005 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_mini_store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_mini_store__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__SubPopupMenu__ = __webpack_require__(426);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\n\n\nvar Menu = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(Menu, _React$Component);\n\n function Menu(props) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, Menu);\n\n var _this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.isRootMenu = true;\n\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n _this.store = Object(__WEBPACK_IMPORTED_MODULE_7_mini_store__[\"create\"])({\n selectedKeys: selectedKeys,\n openKeys: openKeys,\n activeKey: { '0-menu-': Object(__WEBPACK_IMPORTED_MODULE_8__SubPopupMenu__[\"b\" /* getActiveKey */])(props, props.activeKey) }\n });\n return _this;\n }\n\n Menu.prototype.componentDidMount = function componentDidMount() {\n this.updateMiniStore();\n };\n\n Menu.prototype.componentDidUpdate = function componentDidUpdate() {\n this.updateMiniStore();\n };\n\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n\n\n Menu.prototype.updateMiniStore = function updateMiniStore() {\n if ('selectedKeys' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || []\n });\n }\n if ('openKeys' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || []\n });\n }\n };\n\n Menu.prototype.render = function render() {\n var _this2 = this;\n\n var props = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(this.props, []);\n\n props.className += ' ' + props.prefixCls + '-root';\n props = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, {\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this\n });\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_7_mini_store__[\"Provider\"],\n { store: this.store },\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8__SubPopupMenu__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, { ref: function ref(c) {\n return _this2.innerMenu = c;\n } }),\n this.props.children\n )\n );\n };\n\n return Menu;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nMenu.propTypes = {\n defaultSelectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n defaultActiveFirst: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n defaultOpenKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n openKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string),\n mode: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n getPopupContainer: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n openTransitionName: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n openAnimation: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object]),\n subMenuOpenDelay: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n subMenuCloseDelay: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n forceSubMenuRender: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n triggerSubMenuAction: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n level: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n selectable: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,\n className: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n activeKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n prefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n builtinPlacements: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n expandIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node]),\n overflowedIndicator: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node\n};\nMenu.defaultProps = {\n selectable: true,\n onClick: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n onSelect: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n onOpenChange: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n onDeselect: __WEBPACK_IMPORTED_MODULE_9__util__[\"h\" /* noop */],\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: 'hover',\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n style: {},\n builtinPlacements: {},\n overflowedIndicator: __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'span',\n null,\n '\\xB7\\xB7\\xB7'\n )\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onSelect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n // root menu\n var selectedKeys = _this3.store.getState().selectedKeys;\n var selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onSelect(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.onClick = function (e) {\n _this3.props.onClick(e);\n };\n\n this.onKeyDown = function (e, callback) {\n _this3.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n this.onOpenChange = function (event) {\n var props = _this3.props;\n var openKeys = _this3.store.getState().openKeys.concat();\n var changed = false;\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!('openKeys' in _this3.props)) {\n _this3.store.setState({ openKeys: openKeys });\n }\n props.onOpenChange(openKeys);\n }\n };\n\n this.onDeselect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n var selectedKeys = _this3.store.getState().selectedKeys.concat();\n var selectedKey = selectInfo.key;\n var index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onDeselect(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.getOpenTransitionName = function () {\n var props = _this3.props;\n var transitionName = props.openTransitionName;\n var animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = props.prefixCls + '-open-' + animationName;\n }\n return transitionName;\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Menu);\n\n/***/ }),\n/* 1006 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _PropTypes = __webpack_require__(425);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n _classCallCheck(this, Provider);\n\n return _possibleConstructorReturn(this, (Provider.__proto__ || Object.getPrototypeOf(Provider)).apply(this, arguments));\n }\n\n _createClass(Provider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n miniStore: this.props.store\n };\n }\n }, {\n key: 'render',\n value: function render() {\n return _react.Children.only(this.props.children);\n }\n }]);\n\n return Provider;\n}(_react.Component);\n\nProvider.propTypes = {\n store: _PropTypes.storeShape.isRequired\n};\nProvider.childContextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n};\nexports.default = Provider;\n\n/***/ }),\n/* 1007 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = connect;\n\nvar _react = __webpack_require__(0);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _shallowequal = __webpack_require__(41);\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _hoistNonReactStatics = __webpack_require__(109);\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _reactLifecyclesCompat = __webpack_require__(11);\n\nvar _PropTypes = __webpack_require__(425);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction isStateless(Component) {\n return !Component.prototype.render;\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nfunction connect(mapStateToProps) {\n var shouldSubscribe = !!mapStateToProps;\n var finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n\n return function wrapWithConnect(WrappedComponent) {\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n _createClass(Connect, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finnalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n return { props: props };\n }\n }]);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, (Connect.__proto__ || Object.getPrototypeOf(Connect)).call(this, props, context));\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n var nextState = finnalMapStateToProps(_this.store.getState(), _this.props);\n _this.setState({ subscribed: nextState });\n };\n\n _this.store = context.miniStore;\n _this.state = {\n subscribed: finnalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n _createClass(Connect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.trySubscribe();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.tryUnsubscribe();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state.subscribed, nextState.subscribed);\n }\n }, {\n key: 'trySubscribe',\n value: function trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n }\n }, {\n key: 'tryUnsubscribe',\n value: function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n return this.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props, this.state.subscribed, {\n store: this.store\n });\n\n if (!isStateless(WrappedComponent)) {\n props = _extends({}, props, {\n ref: function ref(c) {\n return _this2.wrappedInstance = c;\n }\n });\n }\n\n return _react2.default.createElement(WrappedComponent, props);\n }\n }]);\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n Connect.contextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n };\n\n\n (0, _reactLifecyclesCompat.polyfill)(Connect);\n\n return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent);\n };\n}\n\n/***/ }),\n/* 1008 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = create;\nfunction create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = _extends({}, state, partial);\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}\n\n/***/ }),\n/* 1009 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;!function(e){var n=/iPhone/i,t=/iPod/i,r=/iPad/i,a=/\\bAndroid(?:.+)Mobile\\b/i,p=/Android/i,l=/\\bAndroid(?:.+)SD4930UR\\b/i,b=/\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i,f=/Windows Phone/i,u=/\\bWindows(?:.+)ARM\\b/i,c=/BlackBerry/i,s=/BB10/i,v=/Opera Mini/i,h=/\\b(CriOS|Chrome)(?:.+)Mobile/i,w=/\\Mobile(?:.+)Firefox\\b/i;function m(e,i){return e.test(i)}function i(e){var i=e||(\"undefined\"!=typeof navigator?navigator.userAgent:\"\"),o=i.split(\"[FBAN\");void 0!==o[1]&&(i=o[0]),void 0!==(o=i.split(\"Twitter\"))[1]&&(i=o[0]);var d={apple:{phone:m(n,i)&&!m(f,i),ipod:m(t,i),tablet:!m(n,i)&&m(r,i)&&!m(f,i),device:(m(n,i)||m(t,i)||m(r,i))&&!m(f,i)},amazon:{phone:m(l,i),tablet:!m(l,i)&&m(b,i),device:m(l,i)||m(b,i)},android:{phone:!m(f,i)&&m(l,i)||!m(f,i)&&m(a,i),tablet:!m(f,i)&&!m(l,i)&&!m(a,i)&&(m(b,i)||m(p,i)),device:!m(f,i)&&(m(l,i)||m(b,i)||m(a,i)||m(p,i))},windows:{phone:m(f,i),tablet:m(u,i),device:m(f,i)||m(u,i)},other:{blackberry:m(c,i),blackberry10:m(s,i),opera:m(v,i),firefox:m(w,i),chrome:m(h,i),device:m(c,i)||m(s,i)||m(v,i)||m(w,i)||m(h,i)}};return d.any=d.apple.device||d.android.device||d.windows.device||d.other.device,d.phone=d.apple.phone||d.android.phone||d.windows.phone,d.tablet=d.apple.tablet||d.android.tablet||d.windows.tablet,d}\"undefined\"!=typeof module&&module.exports&&\"undefined\"==typeof window?module.exports=i:\"undefined\"!=typeof module&&module.exports&&\"undefined\"!=typeof window?module.exports=i(): true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (e.isMobile=i()),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):e.isMobile=i()}(this);\n\n/***/ }),\n/* 1010 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_resize_observer_polyfill__ = __webpack_require__(247);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__SubMenu__ = __webpack_require__(427);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__util__ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\n\n\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n __webpack_require__(1024);\n}\n\nvar DOMWrap = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(DOMWrap, _React$Component);\n\n function DOMWrap() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, DOMWrap);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n lastVisibleIndex: undefined\n }, _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n\n var ul = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(prefixCls + '-overflowed-submenu') < 0;\n });\n }, _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme,\n propStyle = _this$props.style;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n eventKey = _copy$props.eventKey,\n rest = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(_copy$props, ['children', 'title', 'eventKey']);\n\n var style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, propStyle);\n var key = keyPrefix + '-overflowed-indicator';\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, style, {\n display: 'none'\n });\n } else if (renderPlaceholder) {\n style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, style, {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n });\n key = key + '-placeholder';\n }\n\n var popupClassName = theme ? prefixCls + '-' + theme : '';\n var props = {};\n __WEBPACK_IMPORTED_MODULE_10__util__[\"g\" /* menuAllProps */].forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_9__SubMenu__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n title: overflowedIndicator,\n className: prefixCls + '-overflowed-submenu',\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: keyPrefix + '-overflowed-indicator',\n disabled: false,\n style: style\n }),\n overflowedItems\n );\n }, _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n var ul = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = _this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n\n overflowedItems.forEach(function (c) {\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(c, 'display', 'inline-block');\n });\n\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"c\" /* getWidth */])(c);\n });\n\n overflowedItems.forEach(function (c) {\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(c, 'display', 'none');\n });\n _this.overflowedIndicatorWidth = Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"c\" /* getWidth */])(ul.children[ul.children.length - 1]);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n _this.handleResize();\n // prevent the overflowed indicator from taking space;\n Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"i\" /* setStyle */])(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n }, _this.resizeObserver = null, _this.mutationObserver = null, _this.originalTotalWidth = 0, _this.overflowedItems = [], _this.menuItemSizes = [], _this.handleResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n if (!ul) {\n return;\n }\n var width = Object(__WEBPACK_IMPORTED_MODULE_10__util__[\"c\" /* getWidth */])(ul);\n\n _this.overflowedItems = [];\n var currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n var lastVisibleIndex = undefined;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex++;\n }\n });\n }\n\n _this.setState({ lastVisibleIndex: lastVisibleIndex });\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n DOMWrap.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n var menuUl = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(this);\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new __WEBPACK_IMPORTED_MODULE_8_resize_observer_polyfill__[\"default\"](function (entries) {\n entries.forEach(_this2.setChildrenWidthAndResize);\n });\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, { attributes: false, childList: true, subTree: false });\n }\n }\n };\n\n DOMWrap.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.resizeObserver.disconnect();\n }\n };\n\n // get all valid menuItem nodes\n\n\n // memorize rendered menuSize\n\n\n // original scroll size of the list\n\n\n // copy of overflowed items\n\n\n // cache item of the original items (so we can track the size and order)\n\n\n DOMWrap.prototype.renderChildren = function renderChildren(children) {\n var _this3 = this;\n\n // need to take care of overflowed items in horizontal mode\n var lastVisibleIndex = this.state.lastVisibleIndex;\n\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n if (_this3.props.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(_this3.props.prefixCls + '-root') !== -1) {\n if (index > lastVisibleIndex) {\n item = __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n eventKey: childNode.props.eventKey + '-hidden',\n className: childNode.className + ' ' + MENUITEM_OVERFLOWED_CLASSNAME\n });\n }\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.cloneElement(c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n { key: c.props.eventKey, mode: 'vertical-left' });\n });\n\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(acc, [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n return ret;\n }\n return [].concat(acc, [item]);\n }, []);\n };\n\n DOMWrap.prototype.render = function render() {\n var _props = this.props,\n hiddenClassName = _props.hiddenClassName,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n overflowedIndicator = _props.overflowedIndicator,\n mode = _props.mode,\n level = _props.level,\n Tag = _props.tag,\n children = _props.children,\n theme = _props.theme,\n rest = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(_props, ['hiddenClassName', 'visible', 'prefixCls', 'overflowedIndicator', 'mode', 'level', 'tag', 'children', 'theme']);\n\n if (!visible) {\n rest.className += ' ' + hiddenClassName;\n }\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n Tag,\n rest,\n this.renderChildren(this.props.children)\n );\n };\n\n return DOMWrap;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nDOMWrap.propTypes = {\n className: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n children: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.node,\n mode: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n level: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.number,\n theme: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n overflowedIndicator: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.node,\n visible: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.bool,\n hiddenClassName: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n tag: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.string,\n style: __WEBPACK_IMPORTED_MODULE_7_prop_types___default.a.object\n};\n\nDOMWrap.defaultProps = {\n tag: 'div',\n className: ''\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DOMWrap);\n\n/***/ }),\n/* 1011 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_rc_align__ = __webpack_require__(429);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_animate__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__PopupInner__ = __webpack_require__(1022);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__LazyRenderBox__ = __webpack_require__(434);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__utils__ = __webpack_require__(428);\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar Popup = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Popup, _Component);\n\n function Popup(props) {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Popup);\n\n var _this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n\n _this.savePopupRef = __WEBPACK_IMPORTED_MODULE_11__utils__[\"c\" /* saveRef */].bind(_this, 'popupInstance');\n _this.saveAlignRef = __WEBPACK_IMPORTED_MODULE_11__utils__[\"c\" /* saveRef */].bind(_this, 'alignInstance');\n return _this;\n }\n\n Popup.prototype.componentDidMount = function componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n };\n\n Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n this.setStretchSize();\n };\n\n // Record size if stretch needed\n\n\n Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n return __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(this.popupInstance);\n };\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n\n Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n var props = this.props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n };\n\n Popup.prototype.getPopupElement = function getPopupElement() {\n var _this2 = this;\n\n var savePopupRef = this.savePopupRef;\n var _state = this.state,\n stretchChecked = _state.stretchChecked,\n targetHeight = _state.targetHeight,\n targetWidth = _state.targetWidth;\n var _props = this.props,\n align = _props.align,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n style = _props.style,\n getClassNameFromAlign = _props.getClassNameFromAlign,\n destroyPopupOnHide = _props.destroyPopupOnHide,\n stretch = _props.stretch,\n children = _props.children,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseDown = _props.onMouseDown,\n onTouchStart = _props.onTouchStart;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n var hiddenClassName = prefixCls + '-hidden';\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n sizeStyle.visibility = 'hidden';\n setTimeout(function () {\n if (_this2.alignInstance) {\n _this2.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n\n var newStyle = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, sizeStyle, style, this.getZIndexStyle());\n\n var popupInnerProps = {\n className: className,\n prefixCls: prefixCls,\n ref: savePopupRef,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\n style: newStyle\n };\n if (destroyPopupOnHide) {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8_rc_animate__[\"a\" /* default */],\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName()\n },\n visible ? __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_7_rc_align__[\"a\" /* default */],\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n align: align,\n onAlign: this.onAlign\n },\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_9__PopupInner__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n visible: true\n }, popupInnerProps),\n children\n )\n ) : null\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8_rc_animate__[\"a\" /* default */],\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName(),\n showProp: 'xVisible'\n },\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_7_rc_align__[\"a\" /* default */],\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n xVisible: visible,\n childrenProps: { visible: 'xVisible' },\n disabled: !visible,\n align: align,\n onAlign: this.onAlign\n },\n __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_9__PopupInner__[\"a\" /* default */],\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n hiddenClassName: hiddenClassName\n }, popupInnerProps),\n children\n )\n )\n );\n };\n\n Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n var style = {};\n var props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n };\n\n Popup.prototype.getMaskElement = function getMaskElement() {\n var props = this.props;\n var maskElement = void 0;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10__LazyRenderBox__[\"a\" /* default */], {\n style: this.getZIndexStyle(),\n key: 'mask',\n className: props.prefixCls + '-mask',\n hiddenClassName: props.prefixCls + '-mask-hidden',\n visible: props.visible\n });\n if (maskTransition) {\n maskElement = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_8_rc_animate__[\"a\" /* default */],\n {\n key: 'mask',\n showProp: 'visible',\n transitionAppear: true,\n component: '',\n transitionName: maskTransition\n },\n maskElement\n );\n }\n }\n return maskElement;\n };\n\n Popup.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n null,\n this.getMaskElement(),\n this.getPopupElement()\n );\n };\n\n return Popup;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nPopup.propTypes = {\n visible: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n style: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,\n getClassNameFromAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n getRootDomNode: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n align: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any,\n destroyPopupOnHide: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n className: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,\n prefixCls: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onMouseDown: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n onTouchStart: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n stretch: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.string,\n children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.node,\n point: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.shape({\n pageX: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageY: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number\n })\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onAlign = function (popupDomNode, align) {\n var props = _this3.props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (_this3.currentAlignClassName !== currentAlignClassName) {\n _this3.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = _this3.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n this.setStretchSize = function () {\n var _props2 = _this3.props,\n stretch = _props2.stretch,\n getRootDomNode = _props2.getRootDomNode,\n visible = _props2.visible;\n var _state2 = _this3.state,\n stretchChecked = _state2.stretchChecked,\n targetHeight = _state2.targetHeight,\n targetWidth = _state2.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n _this3.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n _this3.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n };\n\n this.getTargetElement = function () {\n return _this3.props.getRootDomNode();\n };\n\n this.getAlignTarget = function () {\n var point = _this3.props.point;\n\n if (point) {\n return point;\n }\n return _this3.getTargetElement;\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Popup);\n\n/***/ }),\n/* 1012 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_dom_align__ = __webpack_require__(1013);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__util__ = __webpack_require__(1021);\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Align, _Component);\n\n function Align() {\n var _ref;\n\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Align);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n target = _this$props.target,\n align = _this$props.align,\n onAlign = _this$props.onAlign;\n\n if (!disabled && target) {\n var source = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(_this);\n\n var result = void 0;\n var element = getElement(target);\n var point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var activeElement = document.activeElement;\n\n if (element) {\n result = Object(__WEBPACK_IMPORTED_MODULE_7_dom_align__[\"a\" /* alignElement */])(source, element, align);\n } else if (point) {\n result = Object(__WEBPACK_IMPORTED_MODULE_7_dom_align__[\"b\" /* alignPoint */])(source, point, align);\n }\n\n Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"e\" /* restoreFocus */])(activeElement, source);\n\n if (onAlign) {\n onAlign(source, result);\n }\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_createClass___default()(Align, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n var source = __WEBPACK_IMPORTED_MODULE_6_react_dom___default.a.findDOMNode(this);\n var sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n var lastElement = getElement(prevProps.target);\n var currentElement = getElement(props.target);\n var lastPoint = getPoint(prevProps.target);\n var currentPoint = getPoint(props.target);\n\n if (Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"d\" /* isWindow */])(lastElement) && Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"d\" /* isWindow */])(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (lastElement !== currentElement || // Element change\n lastElement && !currentElement && currentPoint || // Change from element to point\n lastPoint && currentPoint && currentElement || // Change from point to element\n currentPoint && !Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"b\" /* isSamePoint */])(lastPoint, currentPoint)) {\n reAlign = true;\n }\n\n // If source element size changed\n var preRect = this.sourceRect || {};\n if (!reAlign && source && (!Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"c\" /* isSimilarValue */])(preRect.width, sourceRect.width) || !Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"c\" /* isSimilarValue */])(preRect.height, sourceRect.height))) {\n reAlign = true;\n }\n }\n\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopMonitorWindowResize();\n }\n }, {\n key: 'startMonitorWindowResize',\n value: function startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = Object(__WEBPACK_IMPORTED_MODULE_9__util__[\"a\" /* buffer */])(this.forceAlign, this.props.monitorBufferTime);\n this.resizeHandler = Object(__WEBPACK_IMPORTED_MODULE_8_rc_util_es_Dom_addEventListener__[\"a\" /* default */])(window, 'resize', this.bufferMonitor);\n }\n }\n }, {\n key: 'stopMonitorWindowResize',\n value: function stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = __WEBPACK_IMPORTED_MODULE_4_react___default.a.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n var propList = Object.keys(childrenProps);\n propList.forEach(function (prop) {\n newProps[prop] = _this2.props[childrenProps[prop]];\n });\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.cloneElement(child, newProps);\n }\n return child;\n }\n }]);\n\n return Align;\n}(__WEBPACK_IMPORTED_MODULE_4_react__[\"Component\"]);\n\nAlign.propTypes = {\n childrenProps: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object,\n align: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.object.isRequired,\n target: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.shape({\n clientX: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n clientY: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageX: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n pageY: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number\n })]),\n onAlign: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func,\n monitorBufferTime: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.number,\n monitorWindowResize: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n disabled: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.any\n};\nAlign.defaultProps = {\n target: function target() {\n return window;\n },\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Align);\n\n/***/ }),\n/* 1013 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__align_alignElement__ = __webpack_require__(1014);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__align_alignPoint__ = __webpack_require__(1020);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__align_alignElement__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_1__align_alignPoint__[\"a\"]; });\n\n\n\n\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0__align_alignElement__[\"a\" /* default */]);\n\n/***/ }),\n/* 1014 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__align__ = __webpack_require__(430);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getOffsetParent__ = __webpack_require__(432);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__getVisibleRectForElement__ = __webpack_require__(431);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__getRegion__ = __webpack_require__(433);\n\n\n\n\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = Object(__WEBPACK_IMPORTED_MODULE_2__getVisibleRectForElement__[\"a\" /* default */])(target);\n var targetRegion = Object(__WEBPACK_IMPORTED_MODULE_3__getRegion__[\"a\" /* default */])(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = Object(__WEBPACK_IMPORTED_MODULE_3__getRegion__[\"a\" /* default */])(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return Object(__WEBPACK_IMPORTED_MODULE_0__align__[\"a\" /* default */])(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = __WEBPACK_IMPORTED_MODULE_1__getOffsetParent__[\"a\" /* default */];\n\nalignElement.__getVisibleRectForElement = __WEBPACK_IMPORTED_MODULE_2__getVisibleRectForElement__[\"a\" /* default */];\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (alignElement);\n\n/***/ }),\n/* 1015 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getTransformName;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = setTransitionProperty;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getTransitionProperty;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = getTransformXY;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = setTransformXY;\nvar vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nfunction getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n/***/ }),\n/* 1016 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = isAncestorFixed;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(100);\n\n\nfunction isAncestorFixed(element) {\n if (__WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n/***/ }),\n/* 1017 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(100);\n\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].mix(pos, size);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (adjustForViewport);\n\n/***/ }),\n/* 1018 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__getAlignOffset__ = __webpack_require__(1019);\n\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = Object(__WEBPACK_IMPORTED_MODULE_0__getAlignOffset__[\"a\" /* default */])(refNodeRegion, points[1]);\n var p2 = Object(__WEBPACK_IMPORTED_MODULE_0__getAlignOffset__[\"a\" /* default */])(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (getElFuturePos);\n\n/***/ }),\n/* 1019 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (getAlignOffset);\n\n/***/ }),\n/* 1020 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__align__ = __webpack_require__(430);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n\n\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getWindowScrollLeft(win);\n var scrollY = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].getWindowScrollTop(win);\n var viewportWidth = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].viewportWidth(win);\n var viewportHeight = __WEBPACK_IMPORTED_MODULE_0__utils__[\"a\" /* default */].viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return Object(__WEBPACK_IMPORTED_MODULE_1__align__[\"a\" /* default */])(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (alignPoint);\n\n/***/ }),\n/* 1021 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = buffer;\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = isSamePoint;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isWindow;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = isSimilarValue;\n/* harmony export (immutable) */ __webpack_exports__[\"e\"] = restoreFocus;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_rc_util_es_Dom_contains__ = __webpack_require__(183);\n\n\nfunction buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nfunction isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nfunction isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nfunction isSimilarValue(val1, val2) {\n var int1 = Math.floor(val1);\n var int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nfunction restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && Object(__WEBPACK_IMPORTED_MODULE_0_rc_util_es_Dom_contains__[\"a\" /* default */])(container, activeElement)) {\n activeElement.focus();\n }\n}\n\n/***/ }),\n/* 1022 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__LazyRenderBox__ = __webpack_require__(434);\n\n\n\n\n\n\n\nvar PopupInner = function (_Component) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(PopupInner, _Component);\n\n function PopupInner() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, PopupInner);\n\n return __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _Component.apply(this, arguments));\n }\n\n PopupInner.prototype.render = function render() {\n var props = this.props;\n var className = props.className;\n if (!props.visible) {\n className += ' ' + props.hiddenClassName;\n }\n return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(\n 'div',\n {\n className: className,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n style: props.style\n },\n __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(\n __WEBPACK_IMPORTED_MODULE_5__LazyRenderBox__[\"a\" /* default */],\n { className: props.prefixCls + '-content', visible: props.visible },\n props.children\n )\n );\n };\n\n return PopupInner;\n}(__WEBPACK_IMPORTED_MODULE_3_react__[\"Component\"]);\n\nPopupInner.propTypes = {\n hiddenClassName: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n className: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n prefixCls: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n onMouseDown: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n onTouchStart: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.func,\n children: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.any\n};\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PopupInner);\n\n/***/ }),\n/* 1023 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export placements */\nvar autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\n\nvar placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (placements);\n\n/***/ }),\n/* 1024 */\n/***/ (function(module, exports) {\n\n// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \nwindow.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new p({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:\"childList\",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:\"characterData\",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,\nq=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n var style = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props.style);\n if (props.mode === 'inline') {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n __WEBPACK_IMPORTED_MODULE_11__util__[\"g\" /* menuAllProps */].forEach(function (key) {\n return delete props[key];\n });\n var icon = this.props.itemIcon;\n if (typeof this.props.itemIcon === 'function') {\n icon = __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(this.props.itemIcon, this.props);\n }\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'li',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, attrs, mouseEvent, {\n style: style\n }),\n props.children,\n icon\n );\n };\n\n return MenuItem;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.Component);\n\nMenuItem.propTypes = {\n attribute: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n eventKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n active: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n children: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.any,\n selectedKeys: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.array,\n disabled: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n title: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n onItemHover: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onSelect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onClick: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onDeselect: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n parentMenu: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n onDestroy: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n multiple: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n isSelected: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n manualRef: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n itemIcon: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func, __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.node])\n};\nMenuItem.defaultProps = {\n onSelect: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */],\n onMouseEnter: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */],\n onMouseLeave: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */],\n manualRef: __WEBPACK_IMPORTED_MODULE_11__util__[\"h\" /* noop */]\n};\nMenuItem.isMenuItem = true;\n\nvar connected = Object(__WEBPACK_IMPORTED_MODULE_10_mini_store__[\"connect\"])(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (connected);\n\n/***/ }),\n/* 1026 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar util = __webpack_require__(1027);\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;\n\n/***/ }),\n/* 1027 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\n/***/ }),\n/* 1028 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(122);\n\n\n\n\n\n\n\n\n\nvar MenuItemGroup = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(MenuItemGroup, _React$Component);\n\n function MenuItemGroup() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, MenuItemGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n\n return renderMenuItem(item, index, _this.props.subMenuKey);\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n MenuItemGroup.prototype.render = function render() {\n var props = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_objectWithoutProperties___default()(this.props, []);\n\n var _props$className = props.className,\n className = _props$className === undefined ? '' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n\n var titleClassName = rootPrefixCls + '-item-group-title';\n var listClassName = rootPrefixCls + '-item-group-list';\n var title = props.title,\n children = props.children;\n\n __WEBPACK_IMPORTED_MODULE_7__util__[\"g\" /* menuAllProps */].forEach(function (key) {\n return delete props[key];\n });\n\n // Set onClick to null, to ignore propagated onClick event\n delete props.onClick;\n\n return __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'li',\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({}, props, { className: className + ' ' + rootPrefixCls + '-item-group' }),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'div',\n {\n className: titleClassName,\n title: typeof title === 'string' ? title : undefined\n },\n title\n ),\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.createElement(\n 'ul',\n { className: listClassName },\n __WEBPACK_IMPORTED_MODULE_5_react___default.a.Children.map(children, this.renderInnerMenuItem)\n )\n );\n };\n\n return MenuItemGroup;\n}(__WEBPACK_IMPORTED_MODULE_5_react___default.a.Component);\n\nMenuItemGroup.propTypes = {\n renderMenuItem: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func,\n index: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n className: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n subMenuKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string\n};\nMenuItemGroup.defaultProps = {\n disabled: true\n};\n\n\nMenuItemGroup.isMenuItemGroup = true;\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MenuItemGroup);\n\n/***/ }),\n/* 1029 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_prop_types__);\n\n\n\n\n\n\nvar Divider = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_inherits___default()(Divider, _React$Component);\n\n function Divider() {\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_classCallCheck___default()(this, Divider);\n\n return __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$Component.apply(this, arguments));\n }\n\n Divider.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n rootPrefixCls = _props.rootPrefixCls,\n style = _props.style;\n\n return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement('li', {\n className: className + ' ' + rootPrefixCls + '-item-divider',\n style: style\n });\n };\n\n return Divider;\n}(__WEBPACK_IMPORTED_MODULE_3_react___default.a.Component);\n\nDivider.propTypes = {\n className: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n rootPrefixCls: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.string,\n style: __WEBPACK_IMPORTED_MODULE_4_prop_types___default.a.object\n};\nDivider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: '',\n style: {}\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (Divider);\n\n/***/ }),\n/* 1030 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SelectTrigger; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rc_trigger__ = __webpack_require__(90);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__DropdownMenu__ = __webpack_require__(1031);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util__ = __webpack_require__(249);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n__WEBPACK_IMPORTED_MODULE_2_rc_trigger__[\"a\" /* default */].displayName = 'Trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nvar SelectTrigger =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(SelectTrigger, _React$Component);\n\n function SelectTrigger(props) {\n var _this;\n\n _classCallCheck(this, SelectTrigger);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SelectTrigger).call(this, props));\n _this.dropdownMenuRef = null;\n\n _this.setDropdownWidth = function () {\n var dom = __WEBPACK_IMPORTED_MODULE_4_react_dom__[\"findDOMNode\"](_assertThisInitialized(_this));\n var width = dom.offsetWidth;\n\n if (width !== _this.state.dropdownWidth) {\n _this.setState({\n dropdownWidth: width\n });\n }\n };\n\n _this.getInnerMenu = function () {\n return _this.dropdownMenuRef && _this.dropdownMenuRef.menuRef;\n };\n\n _this.getPopupDOMNode = function () {\n return _this.triggerRef.getPopupDomNode();\n };\n\n _this.getDropdownElement = function (newProps) {\n var props = _this.props;\n var dropdownRender = props.dropdownRender,\n ariaId = props.ariaId;\n var menuNode = __WEBPACK_IMPORTED_MODULE_3_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_5__DropdownMenu__[\"a\" /* default */], _extends({\n ref: _this.saveDropdownMenuRef\n }, newProps, {\n ariaId: ariaId,\n prefixCls: _this.getDropdownPrefixCls(),\n onMenuSelect: props.onMenuSelect,\n onMenuDeselect: props.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n value: props.value,\n backfillValue: props.backfillValue,\n firstActiveValue: props.firstActiveValue,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n menuItemSelectedIcon: props.menuItemSelectedIcon\n }));\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n\n return null;\n };\n\n _this.getDropdownTransitionName = function () {\n var props = _this.props;\n var transitionName = props.transitionName;\n\n if (!transitionName && props.animation) {\n transitionName = \"\".concat(_this.getDropdownPrefixCls(), \"-\").concat(props.animation);\n }\n\n return transitionName;\n };\n\n _this.getDropdownPrefixCls = function () {\n return \"\".concat(_this.props.prefixCls, \"-dropdown\");\n };\n\n _this.saveDropdownMenuRef = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'dropdownMenuRef');\n _this.saveTriggerRef = Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'triggerRef');\n _this.state = {\n dropdownWidth: 0\n };\n return _this;\n }\n\n _createClass(SelectTrigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setDropdownWidth();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.setDropdownWidth();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _popupClassName;\n\n var _a = this.props,\n onPopupFocus = _a.onPopupFocus,\n empty = _a.empty,\n props = __rest(_a, [\"onPopupFocus\", \"empty\"]);\n\n var multiple = props.multiple,\n visible = props.visible,\n inputValue = props.inputValue,\n dropdownAlign = props.dropdownAlign,\n disabled = props.disabled,\n showSearch = props.showSearch,\n dropdownClassName = props.dropdownClassName,\n dropdownStyle = props.dropdownStyle,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth;\n var dropdownPrefixCls = this.getDropdownPrefixCls();\n var popupClassName = (_popupClassName = {}, _defineProperty(_popupClassName, dropdownClassName, !!dropdownClassName), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--\").concat(multiple ? 'multiple' : 'single'), 1), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--empty\"), empty), _popupClassName);\n var popupElement = this.getDropdownElement({\n menuItems: props.options,\n onPopupFocus: onPopupFocus,\n multiple: multiple,\n inputValue: inputValue,\n visible: visible\n });\n var hideAction;\n\n if (disabled) {\n hideAction = [];\n } else if (Object(__WEBPACK_IMPORTED_MODULE_6__util__[\"p\" /* isSingleMode */])(props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n\n var popupStyle = _extends({}, dropdownStyle);\n\n var widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n\n if (this.state.dropdownWidth) {\n popupStyle[widthProp] = \"\".concat(this.state.dropdownWidth, \"px\");\n }\n\n return __WEBPACK_IMPORTED_MODULE_3_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_2_rc_trigger__[\"a\" /* default */], _extends({}, props, {\n showAction: disabled ? [] : this.props.showAction,\n hideAction: hideAction,\n ref: this.saveTriggerRef,\n popupPlacement: \"bottomLeft\",\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n onPopupVisibleChange: props.onDropdownVisibleChange,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: props.getPopupContainer,\n popupClassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()(popupClassName),\n popupStyle: popupStyle\n }), props.children);\n }\n }]);\n\n return SelectTrigger;\n}(__WEBPACK_IMPORTED_MODULE_3_react__[\"Component\"]);\n\n\nSelectTrigger.defaultProps = {\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\nSelectTrigger.propTypes = {\n onPopupFocus: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onPopupScroll: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n dropdownMatchSelectWidth: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n dropdownAlign: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"object\"],\n visible: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n disabled: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n showSearch: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n dropdownClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n multiple: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n inputValue: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n filterOption: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n options: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n popupClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n children: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n showAction: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"arrayOf\"](__WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"]),\n menuItemSelectedIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"oneOfType\"]([__WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"], __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"node\"]]),\n dropdownRender: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"]\n};\nSelectTrigger.displayName = 'SelectTrigger';\n\n/***/ }),\n/* 1031 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return DropdownMenu; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view__ = __webpack_require__(128);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_raf__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_raf___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_raf__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rc_menu__ = __webpack_require__(107);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__ = __webpack_require__(47);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_dom__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__util__ = __webpack_require__(249);\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n\n\n\n\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _classCallCheck(this, DropdownMenu);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DropdownMenu).call(this, props));\n _this.rafInstance = {\n cancel: function cancel() {\n return null;\n }\n };\n _this.lastVisible = false;\n\n _this.scrollActiveItemToView = function () {\n // scroll into view\n var itemComponent = Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__[\"findDOMNode\"])(_this.firstActiveItem);\n var _this$props = _this.props,\n visible = _this$props.visible,\n firstActiveValue = _this$props.firstActiveValue;\n var value = _this.props.value;\n\n if (!itemComponent || !visible) {\n return;\n }\n\n var scrollIntoViewOpts = {\n onlyScrollIfNeeded: true\n };\n\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n } // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n\n\n _this.rafInstance = __WEBPACK_IMPORTED_MODULE_2_raf___default()(function () {\n __WEBPACK_IMPORTED_MODULE_0_dom_scroll_into_view___default()(itemComponent, Object(__WEBPACK_IMPORTED_MODULE_6_react_dom__[\"findDOMNode\"])(_this.menuRef), scrollIntoViewOpts);\n });\n };\n\n _this.renderMenu = function () {\n var _this$props2 = _this.props,\n menuItems = _this$props2.menuItems,\n menuItemSelectedIcon = _this$props2.menuItemSelectedIcon,\n defaultActiveFirstOption = _this$props2.defaultActiveFirstOption,\n prefixCls = _this$props2.prefixCls,\n multiple = _this$props2.multiple,\n onMenuSelect = _this$props2.onMenuSelect,\n inputValue = _this$props2.inputValue,\n backfillValue = _this$props2.backfillValue,\n onMenuDeselect = _this$props2.onMenuDeselect,\n visible = _this$props2.visible;\n var firstActiveValue = _this.props.firstActiveValue;\n\n if (menuItems && menuItems.length) {\n var menuProps = {};\n\n if (multiple) {\n menuProps.onDeselect = onMenuDeselect;\n menuProps.onSelect = onMenuSelect;\n } else {\n menuProps.onClick = onMenuSelect;\n }\n\n var value = _this.props.value;\n var selectedKeys = Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"j\" /* getSelectKeys */])(menuItems, value);\n var activeKeyProps = {};\n var defaultActiveFirst = defaultActiveFirstOption;\n var clonedMenuItems = menuItems;\n\n if (selectedKeys.length || firstActiveValue) {\n if (visible && !_this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n\n activeKeyProps.activeKey = undefined;\n }\n\n var foundFirst = false; // set firstActiveItem via cloning menus\n // for scroll into view\n\n var clone = function clone(item) {\n var key = item.key;\n\n if (!foundFirst && selectedKeys.indexOf(key) !== -1 || !foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1) {\n foundFirst = true;\n return __WEBPACK_IMPORTED_MODULE_5_react__[\"cloneElement\"](item, {\n ref: function ref(_ref) {\n _this.firstActiveItem = _ref;\n }\n });\n }\n\n return item;\n };\n\n clonedMenuItems = menuItems.map(function (item) {\n if (item.type.isMenuItemGroup) {\n var children = Object(__WEBPACK_IMPORTED_MODULE_4_rc_util_es_Children_toArray__[\"a\" /* default */])(item.props.children).map(clone);\n return __WEBPACK_IMPORTED_MODULE_5_react__[\"cloneElement\"](item, {}, children);\n }\n\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n _this.firstActiveItem = null;\n } // clear activeKey when inputValue change\n\n\n var lastValue = value && value[value.length - 1];\n\n if (inputValue !== _this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n\n return __WEBPACK_IMPORTED_MODULE_5_react__[\"createElement\"](__WEBPACK_IMPORTED_MODULE_3_rc_menu__[\"e\" /* default */], _extends({\n ref: _this.saveMenuRef,\n style: _this.props.dropdownMenuStyle,\n defaultActiveFirst: defaultActiveFirst,\n role: \"listbox\",\n itemIcon: multiple ? menuItemSelectedIcon : null\n }, activeKeyProps, {\n multiple: multiple\n }, menuProps, {\n selectedKeys: selectedKeys,\n prefixCls: \"\".concat(prefixCls, \"-menu\")\n }), clonedMenuItems);\n }\n\n return null;\n };\n\n _this.lastInputValue = props.inputValue;\n _this.saveMenuRef = Object(__WEBPACK_IMPORTED_MODULE_7__util__[\"r\" /* saveRef */])(_assertThisInitialized(_this), 'menuRef');\n return _this;\n }\n\n _createClass(DropdownMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollActiveItemToView();\n this.lastVisible = this.props.visible;\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (!nextProps.visible) {\n this.lastVisible = false;\n } // freeze when hide\n\n\n return this.props.visible && !nextProps.visible || nextProps.visible || nextProps.inputValue !== this.props.inputValue;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n\n if (!prevProps.visible && props.visible) {\n this.scrollActiveItemToView();\n }\n\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.rafInstance && this.rafInstance.cancel) {\n this.rafInstance.cancel();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderMenu = this.renderMenu();\n return renderMenu ? __WEBPACK_IMPORTED_MODULE_5_react__[\"createElement\"](\"div\", {\n style: {\n overflow: 'auto',\n transform: 'translateZ(0)'\n },\n id: this.props.ariaId,\n onFocus: this.props.onPopupFocus,\n onMouseDown: __WEBPACK_IMPORTED_MODULE_7__util__[\"q\" /* preventDefaultEvent */],\n onScroll: this.props.onPopupScroll\n }, renderMenu) : null;\n }\n }]);\n\n return DropdownMenu;\n}(__WEBPACK_IMPORTED_MODULE_5_react__[\"Component\"]);\n\n\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.propTypes = {\n ariaId: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n defaultActiveFirstOption: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n value: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n dropdownMenuStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"object\"],\n multiple: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n onPopupFocus: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onPopupScroll: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onMenuDeSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n onMenuSelect: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"],\n prefixCls: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n menuItems: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"any\"],\n inputValue: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n visible: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"bool\"],\n firstActiveValue: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"string\"],\n menuItemSelectedIcon: __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"oneOfType\"]([__WEBPACK_IMPORTED_MODULE_1_prop_types__[\"func\"], __WEBPACK_IMPORTED_MODULE_1_prop_types__[\"node\"]])\n};\n\n/***/ }),\n/* 1032 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return InputElement; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar InputElement =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InputElement, _React$Component);\n\n function InputElement() {\n var _this;\n\n _classCallCheck(this, InputElement);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InputElement).apply(this, arguments));\n\n _this.focus = function () {\n _this.ele.focus ? _this.ele.focus() : __WEBPACK_IMPORTED_MODULE_1_react_dom__[\"findDOMNode\"](_this.ele).focus();\n };\n\n _this.blur = function () {\n _this.ele.blur ? _this.ele.blur() : __WEBPACK_IMPORTED_MODULE_1_react_dom__[\"findDOMNode\"](_this.ele).blur();\n };\n\n _this.saveRef = function (ele) {\n _this.ele = ele;\n var childRef = _this.props.children.ref;\n\n if (typeof childRef === 'function') {\n childRef(ele);\n }\n };\n\n return _this;\n }\n\n _createClass(InputElement, [{\n key: \"render\",\n value: function render() {\n return __WEBPACK_IMPORTED_MODULE_0_react__[\"cloneElement\"](this.props.children, _extends({}, this.props, {\n ref: this.saveRef\n }), null);\n }\n }]);\n\n return InputElement;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\n\n\n/***/ }),\n/* 1033 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__utils__ = __webpack_require__(1034);\n\n\n\n\n\n\n\n\n\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = function (_React$Component) {\n __WEBPACK_IMPORTED_MODULE_6_babel_runtime_helpers_inherits___default()(Icon, _React$Component);\n\n function Icon() {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_classCallCheck___default()(this, Icon);\n\n return __WEBPACK_IMPORTED_MODULE_5_babel_runtime_helpers_possibleConstructorReturn___default()(this, (Icon.__proto__ || Object.getPrototypeOf(Icon)).apply(this, arguments));\n }\n\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_createClass___default()(Icon, [{\n key: 'render',\n value: function render() {\n var _extends2;\n\n var _props = this.props,\n type = _props.type,\n className = _props.className,\n onClick = _props.onClick,\n style = _props.style,\n primaryColor = _props.primaryColor,\n secondaryColor = _props.secondaryColor,\n rest = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_objectWithoutProperties___default()(_props, ['type', 'className', 'onClick', 'style', 'primaryColor', 'secondaryColor']);\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"c\" /* getSecondaryColor */])(primaryColor)\n };\n }\n if (Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"d\" /* isIconDefinition */])(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"e\" /* log */])('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"b\" /* generate */])(target.icon, 'svg-' + target.name, __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()((_extends2 = {\n className: className,\n onClick: onClick,\n style: style\n }, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'data-icon', target.name), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'width', '1em'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'height', '1em'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'fill', 'currentColor'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_defineProperty___default()(_extends2, 'aria-hidden', 'true'), _extends2), rest));\n }\n }], [{\n key: 'add',\n value: function add() {\n var _this2 = this;\n\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n _this2.definitions.set(Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"f\" /* withSuffix */])(icon.name, icon.theme), icon);\n });\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.definitions.clear();\n }\n }, {\n key: 'get',\n value: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = this.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n }\n }, {\n key: 'setTwoToneColors',\n value: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || Object(__WEBPACK_IMPORTED_MODULE_8__utils__[\"c\" /* getSecondaryColor */])(primaryColor);\n }\n }, {\n key: 'getTwoToneColors',\n value: function getTwoToneColors() {\n return __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_extends___default()({}, twoToneColorPalette);\n }\n }]);\n\n return Icon;\n}(__WEBPACK_IMPORTED_MODULE_7_react__[\"Component\"]);\n\nIcon.displayName = 'IconReact';\nIcon.definitions = new __WEBPACK_IMPORTED_MODULE_8__utils__[\"a\" /* MiniMap */]();\n/* harmony default export */ __webpack_exports__[\"a\"] = (Icon);\n\n/***/ }),\n/* 1034 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (immutable) */ __webpack_exports__[\"e\"] = log;\n/* harmony export (immutable) */ __webpack_exports__[\"d\"] = isIconDefinition;\n/* unused harmony export normalizeAttrs */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MiniMap; });\n/* harmony export (immutable) */ __webpack_exports__[\"b\"] = generate;\n/* harmony export (immutable) */ __webpack_exports__[\"c\"] = getSecondaryColor;\n/* harmony export (immutable) */ __webpack_exports__[\"f\"] = withSuffix;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_ant_design_palettes__ = __webpack_require__(1035);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_ant_design_palettes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_ant_design_palettes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n\n\n\n\n\nfunction log(message) {\n if (!(process && Object({\"NODE_ENV\":\"production\",\"PUBLIC_URL\":\"\"}) && \"production\" === 'production')) {\n console.error('[@ant-design/icons-react]: ' + message + '.');\n }\n}\nfunction isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\nfunction normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nvar MiniMap = function () {\n function MiniMap() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, MiniMap);\n\n this.collection = {};\n }\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_createClass___default()(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\nfunction generate(node, key, rootProps) {\n if (!rootProps) {\n return __WEBPACK_IMPORTED_MODULE_4_react__[\"createElement\"](node.tag, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({ key: key }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n }\n return __WEBPACK_IMPORTED_MODULE_4_react__[\"createElement\"](node.tag, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_extends___default()({\n key: key\n }, normalizeAttrs(node.attrs), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n}\nfunction getSecondaryColor(primaryColor) {\n // choose the second color\n return Object(__WEBPACK_IMPORTED_MODULE_3_ant_design_palettes__[\"generate\"])(primaryColor)[0];\n}\nfunction withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(116)))\n\n/***/ }),\n/* 1035 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.presetPrimaryColors = exports.presetPalettes = exports.generate = undefined;\n\nvar _generate = __webpack_require__(1036);\n\nvar _generate2 = _interopRequireDefault(_generate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\n\nvar presetPalettes = {};\n\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = (0, _generate2.default)(presetPrimaryColors[key]);\n});\n\nexports.generate = _generate2.default;\nexports.presetPalettes = presetPalettes;\nexports.presetPrimaryColors = presetPrimaryColors;\n\n/***/ }),\n/* 1036 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = generate;\n\nvar _tinycolor = __webpack_require__(1037);\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n\nfunction getHue(hsv, i, light) {\n var hue = void 0;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation = void 0;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n } else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\n\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\n\nfunction generate(color) {\n var patterns = [];\n var pColor = (0, _tinycolor2.default)(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = (0, _tinycolor2.default)({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = pColor.toHsv();\n var _colorString = (0, _tinycolor2.default)({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }).toHexString();\n patterns.push(_colorString);\n }\n return patterns;\n}\n\n/***/ }),\n/* 1037 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (true) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = function () {return tinycolor;}.call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n/***/ }),\n/* 1038 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = create;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__index__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\nvar customCache = new Set();\nfunction create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var scriptUrl = options.scriptUrl,\n _options$extraCommonP = options.extraCommonProps,\n extraCommonProps = _options$extraCommonP === void 0 ? {} : _options$extraCommonP;\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a \\r\\n\\t\\r\\n \\r\\n \\r\\n
    \\r\\n

    \\u8fd9\\u662f\\u4e00\\u4e2a\\u4e00\\u7ea7\\u6807\\u9898

    \\r\\n

    \\u8fd9\\u662f\\u4e00\\u4e2a\\u6bb5\\u843d

    \\r\\n
    \\r\\n \\r\\n\\r\\n```\\r\\n\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u663e\\u793a\\u6548\\u679c\\u56fe\\uff1a\\r\\n![](/attachments/download/180646)\\r\\n\\r\\n\\u7531\\u4e0a\\u8fb9\\u7684\\u4ee3\\u7801\\u6bb5\\u53ef\\u4ee5\\u770b\\u51fa\\uff0c\\u4e00\\u4e2a\\u57fa\\u672c\\u7684Boostrap\\u7ed3\\u6784\\u4e3b\\u8981\\u7531\\u4e09\\u90e8\\u5206\\u6784\\u6210\\uff1a\\r\\n1. ``\\u4e2d\\u7684\\u6807\\u9898\\r\\n1. ``\\u4e2d\\u7684\\u6587\\u4ef6\\u5f15\\u7528\\r\\n1. `
    `\\u4e2d\\u7684container\\u5bb9\\u5668\\r\\n\\r\\n\\r\\n##### Bootstrap\\u6587\\u4ef6\\u5f15\\u7528\\r\\n\\r\\n\\u6807\\u9898\\u90e8\\u5206\\u4e0d\\u5728\\u6b64\\u8bf4\\u660e\\uff0c\\u4e0eHTML\\u5185\\u5bb9\\u4e00\\u81f4\\u3002`Bootstrap`\\u8bf4\\u767d\\u4e86\\u5c31\\u662f\\u4e00\\u4e2a\\u6837\\u5f0f\\u8868\\u6587\\u4ef6\\uff08`bootstrap.min.css`\\uff09\\u548c\\u4e00\\u4e2a`javascript`\\u6587\\u4ef6\\uff08`bootstrap.min.js`\\uff09\\uff0c\\u5728\\u9875\\u9762\\u91cc\\u628a\\u5b83\\u4eec\\u5f15\\u5165\\u8fdb\\u6765\\u540e\\uff0c\\u5c31\\u53ef\\u4ee5\\u76f4\\u63a5\\u4f7f\\u7528\\u91cc\\u9762\\u7684`CSS`\\u548c\\u5404\\u79cd\\u7ec4\\u4ef6\\u4e86\\u3002\\r\\n\\r\\n- \\u6587\\u4ef6\\u7684\\u5f15\\u5165\\u65b9\\u5f0f\\u4e00\\u822c\\u6709\\u4e24\\u79cd\\u65b9\\u5f0f\\r\\n - \\u8fdc\\u7a0bCDN\\u5f15\\u5165\\uff08\\u672c\\u4f8b\\u91c7\\u7528\\u8fd9\\u79cd\\u65b9\\u6cd5\\u5f15\\u5165\\uff09\\u3002\\u5982\\u4e0b\\u56fe\\uff1a\\r\\n ```html\\r\\n\\r\\n \\r\\n\\t\\r\\n```\\r\\n\\r\\n - \\u672c\\u5730\\u6587\\u4ef6\\u5f15\\u5165\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n ```html\\r\\n\\r\\n\\r\\n\\r\\n```\\r\\n \\u7ec6\\u5fc3\\u5730\\u540c\\u5b66\\u80af\\u5b9a\\u5df2\\u7ecf\\u770b\\u51fa\\u533a\\u522b\\u4e86\\uff0c**\\u5f15\\u7528\\u7684\\u8def\\u5f84\\u4e0d\\u4e00\\u6837**\\u3002\\u8fdc\\u7a0b\\u5f15\\u5165\\u662f\\u4f7f\\u7528CDN\\u6e90\\u4e0a\\u7684\\u8fdc\\u7a0b\\u6587\\u4ef6\\uff0c\\u8fd9\\u6837\\u53ef\\u4ee5\\u8282\\u7ea6\\u672c\\u5730\\u7684\\u5e26\\u5bbd\\u3002\\u800c\\u672c\\u5730\\u65b9\\u5f0f\\u662f\\u628a`Bootstrap`\\u7684\\u6240\\u6709\\u6587\\u4ef6\\u4e0b\\u8f7d\\u5230\\u672c\\u5730\\u540e\\u518d\\u5f15\\u7528\\u5230\\u9875\\u9762\\u4e2d\\u3002\\r\\n \\r\\n \\u6ce8\\u610f\\uff1a\\u5982\\u679c\\u5f15\\u5165\\u7684\\u6587\\u4ef6\\u987a\\u5e8f\\u4e0d\\u5bf9\\uff0c\\u4f1a\\u5bfc\\u81f4\\u9875\\u9762\\u65e0\\u6cd5\\u6b63\\u5e38\\u8fd0\\u884c\\u3002\\u6240\\u4ee5\\u5148\\u5f15\\u5165`bootstrap.min.css`\\uff0c\\u518d\\u5f15\\u5165`jQuery`\\uff0c\\u6700\\u540e\\u5f15\\u5165`bootstrap.min.js`\\u3002\\r\\n\\r\\n\\r\\n##### Bootstrap\\u5c5e\\u6027\\r\\n\\u5728`
    `\\u6807\\u7b7e\\u4e2d\\u6dfb\\u52a0container\\u5c5e\\u6027\\uff0c\\u6dfb\\u52a0\\u4e4b\\u540e\\u5185\\u5bb9\\u4f1a\\u88ab\\u9650\\u5236\\u5728\\u5728\\u4e00\\u4e2a\\u56fa\\u5b9a\\u5bbd\\u5ea6\\u7684\\u6805\\u683c\\u5e03\\u5c40\\u7684\\u8303\\u56f4\\u3002\\r\\n- Bootstrap\\u7684`container` \\u7c7b\\u662f\\u975e\\u5e38\\u6709\\u7528\\u7684\\uff0c\\u5b83\\u548c`HTML`\\u7684\\u533a\\u522b\\u662f\\u5b83\\u80fd\\u5728\\u9875\\u9762\\u4e2d\\u521b\\u5efa\\u4e00\\u4e2a\\u5c45\\u4e2d\\u7684\\u533a\\u57df\\uff0c\\u7136\\u540e\\u6211\\u4eec\\u80fd\\u591f\\u628a\\u5176\\u4ed6\\u4f4d\\u7f6e\\u7684\\u5185\\u5bb9\\u653e\\u5230\\u5b83\\u89c4\\u5b9a\\u7684\\u65b9\\u6846\\u5185\\uff0c\\u800c`HTML`\\u662f\\u6ca1\\u6709\\u8fd9\\u4e2a\\u533a\\u57df\\u7684\\u3002\\r\\n- `container`\\u7c7b\\u7b49\\u4ef7\\u4e8e\\u521b\\u5efa\\u4e86\\u4e00\\u4e2a\\u5177\\u6709\\u9759\\u6001\\u5bbd\\u5ea6\\u7684`div`\\u6846\\u3002\\u968f\\u7740\\u6211\\u4eec\\u5b66\\u4e60\\u7684\\u6df1\\u5165\\uff0c\\u6211\\u4eec\\u6e05\\u695a\\u4e86\\u89e3\\u5b83\\u7684\\u7279\\u70b9\\uff0c\\u57fa\\u672c\\u7684\\u8bed\\u53e5\\u5982\\u4e0b\\uff1a\\r\\n `
    `\\r\\n- \\u5982\\u679c\\u60f3\\u5c06\\u5185\\u5bb9\\u5145\\u6ee1\\u6574\\u4e2a\\u5e03\\u5c40\\uff0c\\u53ea\\u9700\\u5c06container\\u5c5e\\u6027\\u6539\\u6210container-fluid\\u5c5e\\u6027\\u5373\\u53ef\\u3002\\u5982\\u4e0b\\u6240\\u793a\\uff1a\\r\\n`
    `\\r\\n\\r\\n- `Bootstrap`\\u7684`container`\\u7c7b\\u7684\\u4f18\\u70b9\\u5728\\u4e8e\\u5b83\\u662f\\u54cd\\u5e94\\u5f0f\\u7684\\uff0c\\u5b83\\u4f1a\\u4ee5\\u5f53\\u524d\\u5c4f\\u5e55\\u7684\\u5bbd\\u5ea6\\u4e3a\\u57fa\\u7840\\u8ba1\\u7b97\\u51fa\\u6700\\u4f73\\u7684\\u5bbd\\u5ea6\\u4e88\\u4ee5\\u4f7f\\u7528\\uff0c\\u8fd9\\u662f`HTML`\\u6ca1\\u6709\\u7684\\u7279\\u70b9\\u3002\\r\\n\\r\\n\\r\\n#### \\u7f16\\u7a0b\\u8981\\u6c42\\r\\n\\r\\n1. \\u57289\\u884c\\u7684`
    `\\u6807\\u7b7e\\u4e2d\\uff0c\\u8bbe\\u7f6e\\u5c5e\\u6027class=\\\"container\\\"\\u3002\\r\\n1. \\u572811\\u884c\\u7684`

    `\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"Hello World\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u572812\\u884c\\u7684`

    `\\u6807\\u7b7e\\u91cc\\u586b\\u5165\\\"\\u521b\\u65b0\\u6e90\\u4e8e\\u5b9e\\u8df5\\\"\\u5185\\u5bb9\\u3002\\r\\n1. \\u586b\\u5199\\u5b8c\\u6bd5\\uff0c\\u70b9\\u51fb\\\"\\u8bc4\\u6d4b\\\"\\u5373\\u53ef\\u3002\\r\\n\\r\\n#### \\u8bc4\\u6d4b\\u8bf4\\u660e\\r\\n\\r\\n\\u5e73\\u53f0\\u5c06\\u81ea\\u52a8\\u7f16\\u8bd1\\u8865\\u5168\\u540e\\u7684\\u4ee3\\u7801\\uff0c\\u5e76\\u6839\\u636e\\u8f93\\u51fa\\u6765\\u5224\\u65ad\\u4ee3\\u7801\\u662f\\u5426\\u6b63\\u786e\\uff01\\r\\n\\r\\n\\r\\n------------------------------------------------------\\r\\n\\u5c06\\u6765\\u7684\\u4f60\\u4e00\\u5b9a\\u4f1a\\u611f\\u8c22\\u73b0\\u5728\\u7684\\u81ea\\u5df1\\uff01\\r\\n\\r\\n![](/attachments/download/176967)\\r\\n\\r\\n\\u606d\\u559c\\u8fc7\\u5173\\uff0c\\u7ee7\\u7eed\\u52a0\\u6cb9\\u5965\\uff01\\r\\n\\r\\n\\r\\n\"},\"game\":{\"id\":152020,\"status\":0,\"myshixun_id\":44997,\"user_id\":12,\"final_score\":0,\"challenge_id\":1135,\"identifier\":\"w8724qbe9mtv\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":2257550,\"star\":0},\"shixun\":{\"id\":386,\"name\":\"Bootstrap\\u5165\\u95e8\",\"gpid\":18892,\"modify_time\":\"2017-11-23T10:13:09+08:00\",\"reset_time\":\"2017-12-08T09:41:30+08:00\",\"language\":\"Html\",\"propaedeutics\":\"\",\"status\":2,\"identifier\":\"mnkfuyvx\"},\"record\":null,\"grade\":9279,\"prev_game\":\"w8724qbe9mtv\",\"next_game\":null,\"username\":\"\\u9ec4\\u4e95\\u6cc9\",\"image_url\":\"avatars/User/0\",\"user_url\":\"/users/Hjqreturn\",\"praise_count\":1,\"user_praise\":true}\r\n\t\t// \t// JavaScript学习手册一:JS简介\r\n\t\t// \t// chooseData = {\"tpm_modified\":false,\"tpm_cases_modified\":false,\"output_sets\":{\"test_sets\":\"{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"-1\\\",\\\"output\\\":\\\"90\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":0,\\\"result\\\":null,\\\"input\\\":\\\"0\\\",\\\"output\\\":\\\"100\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"2\\\",\\\"output\\\":\\\"120\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0},{\\\"is_public\\\":1,\\\"result\\\":null,\\\"input\\\":\\\"30\\\",\\\"output\\\":\\\"400\\\\r\\\\n\\\",\\\"actual_output\\\":null,\\\"compile_success\\\":0}\",\"had_test_count\":0,\"test_sets_count\":4,\"had_passed_testsests_error_count\":0},\"latest_output\":null,\"mirror_name\":[\"JavaScript\"],\"has_answer\":true,\"st\":0,\"discusses_count\":2,\"game_count\":3,\"myshixun\":{\"id\":43748,\"shixun_id\":534,\"identifier\":\"q2itywsgz9\",\"gpid\":44848,\"status\":0,\"user_id\":1,\"commit_id\":\"4f61172a0f161173a3fac5e8a71ee4b8fc789bdb\",\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"system_tip\":false},\"challenge\":{\"id\":1765,\"subject\":\"JavaScript\\u53d8\\u91cf\",\"position\":3,\"shixun_id\":534,\"st\":0,\"score\":100,\"path\":\"step3/Variable.js\",\"task_pass\":\"[TOC]\\r\\n\\r\\n---\\r\\n\\r\\n####\\u4efb\\u52a1\\u63cf\\u8ff0\\r\\n[comment]: <> (\\u201c\\u4efb\\u52a1\\u63cf\\u8ff0\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u672c\\u5173\\u8981\\u8ba9\\u5b66\\u751f\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u63cf\\u8ff0\\u8bb2\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u52a0\\u4e00\\u4e2a\\u7b80\\u5355\\u7684\\u4f8b\\u5b50\\u6765\\u8bf4\\u660e,\\u7c7b\\u4f3c\\u4e0b\\u9762\\u8fd9\\u6837)\\r\\n\\r\\n\\u53d8\\u91cf\\u53ef\\u4ee5\\u770b\\u6210\\u8bed\\u8a00\\u4e2d\\u7528\\u6765\\u6807\\u8bb0\\u548c\\u5b58\\u50a8\\u6570\\u636e\\u7684\\u4e00\\u79cd\\u8bb0\\u53f7\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u4efb\\u52a1\\uff1a\\u5b9a\\u4e49\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\uff0c\\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`\\uff0c\\u5e76\\u8d4b\\u503c\\uff0c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\u3002\\u5728\\u51fd\\u6570`variableTest`\\u4e2d\\u589e\\u52a0\\u4ee3\\u7801\\uff0c\\u4f7f\\u51fd\\u6570\\u8f93\\u51fa`100+10*c`\\uff0c\\u5176\\u4e2d`c`\\u4e3a\\u8f93\\u5165\\uff0c\\u51fd\\u6570\\u4f53\\u89c1\\u6d4b\\u8bd5\\u8bf4\\u660e\\u90e8\\u5206\\u3002\\r\\n\\r\\n####\\u76f8\\u5173\\u77e5\\u8bc6\\r\\n[comment]: <> (\\u201c\\u76f8\\u5173\\u77e5\\u8bc6\\u201d\\u90e8\\u5206\\u9700\\u8981\\u628a\\u89e3\\u51b3\\u672c\\u5173\\u9700\\u8981\\u7528\\u5230\\u7684\\u77e5\\u8bc6\\u70b9\\u5728\\u8fd9\\u91cc\\u5199\\u6e05\\u695a\\u3001\\u5b8c\\u6574\\u3002\\u6bd4\\u5982\\u8981\\u89e3\\u51b3\\u5b66\\u751f\\u7ee9\\u70b9\\u8ba1\\u7b97\\u7684\\u95ee\\u9898\\uff0c\\u9700\\u8981\\u7528\\u5230if-else\\u63a7\\u5236\\u7ed3\\u6784\\uff0c\\u5b66\\u4e60\\u8005\\u9700\\u8981\\u9996\\u5148\\u77e5\\u9053if-else\\u7684\\u8bed\\u6cd5\\uff0c\\u5c31\\u9700\\u8981\\u5728\\u76f8\\u5173\\u77e5\\u8bc6\\u8fd9\\u91cc\\u628aif-else\\u7684\\u8bed\\u6cd5\\u4ecb\\u7ecd\\u6e05\\u695a\\uff0c\\u6700\\u597d\\u518d\\u5bf9\\u6bcf\\u4e00\\u4e2a\\u77e5\\u8bc6\\u70b9\\u914d\\u4e0a\\u76f8\\u5e94\\u7684\\u4e00\\u4e2a\\u793a\\u4f8b\\u70b9\\u3002\\u8fd9\\u4e00\\u90e8\\u5206\\u7684\\u76ee\\u6807\\u5c31\\u662f\\u5b66\\u751f\\u770b\\u5b8c\\u8fd9\\u4e2a\\u76f8\\u5173\\u77e5\\u8bc6\\u5c31\\u80fd\\u628a\\u672c\\u5173\\u4efb\\u52a1\\u505a\\u51fa\\u6765)\\r\\n\\r\\n\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\r\\n\\u4e0d\\u540c\\u4e8eC\\u6216Java\\uff0cJavaScript\\u662f\\u4e00\\u79cd\\u52a8\\u6001\\u7c7b\\u578b\\u7684\\u8bed\\u8a00,\\u5373\\u7533\\u660e\\u7684\\u65f6\\u5019\\u4e0d\\u6307\\u5b9a\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\uff0c\\u800c\\u5728\\u8fd0\\u884c\\u7684\\u65f6\\u5019\\u6839\\u636e\\u53d8\\u91cf\\u7684\\u5177\\u4f53\\u503c\\u52a8\\u6001\\u7684\\u5224\\u65ad\\u53d8\\u91cf\\u7684\\u6570\\u636e\\u7c7b\\u578b\\u3002\\r\\nJavaScript\\u7684\\u53d8\\u91cf\\u540d\\u4ee5\\u5b57\\u6bcd\\u6216\\u8005`$`\\u6216\\u8005`_`\\u5f00\\u5934\\uff1b\\u53d8\\u91cf\\u540d\\u53ea\\u80fd\\u542b\\u6709\\u5b57\\u6bcd\\u3001\\u6570\\u5b57\\u3001\\u4e0b\\u5212\\u7ebf\\u548c\\u7f8e\\u5143\\u7b26\\u53f7\\uff1b\\u5927\\u5c0f\\u5199\\u654f\\u611f\\uff1b\\u4e0d\\u80fd\\u4f7f\\u7528\\u4fdd\\u7559\\u7684\\u5173\\u952e\\u5b57\\uff0c\\u5982`html`\\u3001`var`\\u3001`function`\\u7b49\\uff0c\\u8fd9\\u4e00\\u6761\\u4e00\\u5b9a\\u8981\\u8bb0\\u4f4f\\uff0c\\u4f7f\\u7528\\u5173\\u952e\\u5b57\\u9020\\u6210\\u7684\\u9519\\u8bef\\u5f80\\u5f80\\u5f88\\u96be\\u6392\\u9664\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u7533\\u660e\\u3001\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n- \\u53d8\\u91cf\\u7684\\u7533\\u660e\\r\\n\\u5728JavaScript\\u4e2d\\uff0c\\u7533\\u660e\\u53d8\\u91cf\\u4ee5\\u5173\\u952e\\u5b57`var`\\u5f00\\u5934\\uff0c\\u7a7a\\u4e00\\u683c\\u540e\\u518d\\u63a5\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\uff1b\\u5f53\\u7136\\uff0c\\u53ef\\u4ee5\\u4e00\\u6b21\\u7533\\u660e\\u591a\\u4e2a\\u53d8\\u91cf\\uff0c\\u8fd9\\u65f6`var`\\u53ea\\u9700\\u8981\\u51fa\\u73b0\\u4e00\\u6b21\\uff0c\\u591a\\u4e2a\\u53d8\\u91cf\\u540d\\u4e4b\\u95f4\\u7528\\u82f1\\u6587\\u7684\\u9017\\u53f7\\u9694\\u5f00\\u5373\\u53ef\\u3002\\u5982\\uff1a\\r\\n```JavaScript\\r\\nvar myvar1;//\\u7533\\u660e\\u53d8\\u91cf\\\"myvar1\\\"\\r\\nvar myvar2,myvar3,myvar4;//\\u4e00\\u6b21\\u7533\\u660e\\u4e09\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n- \\u53d8\\u91cf\\u7684\\u521d\\u59cb\\u5316\\u548c\\u8d4b\\u503c\\r\\n\\u65e2\\u7136\\u53d8\\u91cf\\u662f\\u7528\\u6765\\u8bb0\\u5f55\\u6570\\u636e\\u7684\\uff0c\\u5982\\u4f55\\u7ed9\\u53d8\\u91cf\\u8d4b\\u503c\\u5462\\uff1f\\u7b80\\u5355\\u6765\\u8bf4\\uff0c\\u548c\\u6570\\u5b66\\u4e2d\\u4e00\\u6837\\uff0c\\u7528\\u4e00\\u4e2a\\u7b49\\u53f7\\u8fde\\u63a5\\u53d8\\u91cf\\u540d\\u548c\\u53d8\\u91cf\\u7684\\u503c\\u5373\\u53ef\\uff0c\\u5bf9\\u4e8e\\u6570\\u5b57\\u7684\\u8d4b\\u503c\\uff0c\\u76f4\\u63a5\\u7528\\u7b49\\u53f7\\u8fde\\u63a5\\u6570\\u5b57\\u548c\\u53d8\\u91cf\\uff0c\\u5bf9\\u4e8e\\u5b57\\u7b26\\u4e32\\u7684\\u8d4b\\u503c\\uff0c\\u9700\\u8981\\u5c06\\u5b57\\u7b26\\u4e32\\u5305\\u542b\\u5728\\u82f1\\u6587\\u53cc\\u5f15\\u53f7\\u4e4b\\u4e2d\\u3002\\r\\n\\u53d8\\u91cf\\u7684\\u7b2c\\u4e00\\u6b21\\u8d4b\\u503c\\u79f0\\u4e4b\\u4e3a\\u521d\\u59cb\\u5316\\u3002\\r\\n\\u4f60\\u53ef\\u80fd\\u5df2\\u7ecf\\u60f3\\u5230\\u4e86\\uff0c\\u7533\\u660e\\u548c\\u521d\\u59cb\\u5316\\u80fd\\u4e00\\u8d77\\u8fdb\\u884c\\u5417\\uff1f\\u7b54\\u6848\\u662f\\u80af\\u5b9a\\u7684\\uff0c\\u4e0b\\u9762\\u6211\\u4eec\\u7ed9\\u51fa\\u5177\\u4f53\\u7684\\u4f8b\\u5b50\\uff1a\\r\\n```JavaScript\\r\\nvar numberVar; //\\u7533\\u660e\\r\\nnumberVar = 1; //\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar stringVar; //\\u7533\\u660e\\r\\nstringVar = \\\"I am a String\\\"; //\\u8d4b\\u503c\\u4e3a\\u5b57\\u7b26\\u4e32\\r\\nvar myNumber = 2; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\u4e3a\\u6570\\u5b57\\r\\nvar myString = \\\"\\u6211\\u662f\\u5b57\\u7b26\\u4e32\\\"; //\\u7533\\u660e\\u7684\\u540c\\u65f6\\u8d4b\\u503c\\r\\nvar number1 = 1,number2 = 2; //\\u4e00\\u6b21\\u7533\\u660e\\u3001\\u8d4b\\u503c\\u591a\\u4e2a\\u53d8\\u91cf\\r\\n```\\r\\n\\u9700\\u8981\\u6ce8\\u610f\\u7684\\u662f\\uff0c\\u4e00\\u4e2a\\u53d8\\u91cf\\u7ecf\\u8fc7\\u591a\\u6b21\\u8d4b\\u503c\\uff0c\\u5b83\\u7684\\u503c\\u4e3a\\u6700\\u540e\\u4e00\\u6b21\\u8d4b\\u503c\\u7684\\u503c\\u3002\\r\\n\\r\\n##### JavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u57df\\r\\n\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u8303\\u56f4\\uff0c\\u6216\\u8005\\u8bf4\\u4f5c\\u7528\\u57df\\uff0c\\u662f\\u6307\\u53d8\\u91cf\\u4fdd\\u6301\\u6709\\u6548\\u7684\\u8303\\u56f4\\uff0cJavaScript\\u4e2d\\u7684\\u53d8\\u91cf\\u5e7f\\u4e49\\u4e0a\\u6765\\u8bf4\\u5206\\u4e3a\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u3002\\r\\n- \\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\u5728\\u51fd\\u6570\\u5916\\u90e8\\u7533\\u660e\\u7684\\u53d8\\u91cf\\u79f0\\u4e3a\\u5168\\u5c40\\u53d8\\u91cf\\uff0c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u4f5c\\u7528\\u81ea\\u7533\\u660e\\u7684\\u5730\\u65b9\\u8d77\\uff0c\\u5230\\u6574\\u4e2aJavaScript\\u6587\\u4ef6\\u7684\\u672b\\u5c3e\\uff08\\u5305\\u62ec\\u8fd9\\u5176\\u4e2d\\u7684\\u6240\\u6709\\u51fd\\u6570\\u7684\\u5185\\u90e8\\uff09\\u3002\\u4e0b\\u9762\\u662f\\u4e00\\u4e2a\\u4f8b\\u5b50:\\r\\n```\\r\\nvar wholeVar = 12; //\\u7533\\u660e\\u5e76\\u521d\\u59cb\\u5316\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction() {\\r\\n\\tvar localVar = 1; //\\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar+localVar); //\\u8f93\\u51fa13\\r\\n}\\r\\nconsole.log(wholeVar); //\\u8f93\\u51fa12\\r\\n```\\r\\n- \\u5c40\\u90e8\\u53d8\\u91cf\\r\\n\\u5c40\\u90e8\\u53d8\\u91cf\\u662f\\u6307\\u7533\\u660e\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u7684\\u53d8\\u91cf\\uff0c\\u5176\\u4f5c\\u7528\\u57df\\u4ec5\\u662f\\u672c\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u5728\\u51fd\\u6570\\u5916\\u4e0d\\u53ef\\u7528\\u3002\\r\\n\\u5982\\u679c\\u5c40\\u90e8\\u53d8\\u91cf\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u76f8\\u540c\\uff0c\\u90a3\\u4e48\\u5728\\u51fd\\u6570\\u5185\\u90e8\\u5168\\u5c40\\u53d8\\u91cf\\u4f1a\\u88ab\\u5c40\\u90e8\\u53d8\\u91cf\\u8986\\u76d6\\u3002\\r\\n```JavaScript\\r\\nvar myVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction scope() {\\r\\n\\tvar myVar = 2;//\\u5c40\\u90e8\\u53d8\\u91cf\\uff0c\\u8986\\u76d6\\u4e86\\u4e0a\\u9762\\u7684\\u503c\\r\\n\\tconsole.log(myVar);//\\u8f93\\u51fa2\\r\\n}\\r\\n```\\r\\n- \\u7533\\u660e\\u63d0\\u524d\\r\\nJavaScript\\u5c40\\u90e8\\u53d8\\u91cf\\u6709\\u4e00\\u4e2a\\u5f88\\u91cd\\u8981\\u7684\\u6982\\u5ff5\\uff0c\\u53eb\\u7533\\u660e\\u63d0\\u524d\\uff0c\\u6211\\u4eec\\u5148\\u6765\\u770b\\u4e00\\u4e2a\\u4f8b\\u5b50\\u3002\\r\\n```\\r\\nvar wholeVar = 1;//\\u5168\\u5c40\\u53d8\\u91cf\\r\\nfunction myTest() {\\r\\n\\tconsole.log(wholeVar);\\r\\n\\tvar wholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u5173\\u4e8e\\u7b2c\\u4e09\\u884c\\u7684\\u8f93\\u51fa\\uff0c\\u4f60\\u7684\\u7b2c\\u4e00\\u53cd\\u5e94\\u4e00\\u5b9a\\u662f`1`\\u5427\\uff0c\\u6b63\\u786e\\u7b54\\u6848\\u662f`undefined`\\u3002\\u8fd9\\u662f\\u56e0\\u4e3a\\u5728\\u51fd\\u6570\\u5185\\u90e8\\uff0c\\u53d8\\u91cf\\u4e0d\\u8bba\\u5728\\u4f55\\u5904\\u7533\\u660e\\uff0c\\u90fd\\u5e94\\u8be5\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u7533\\u660e\\uff08\\u8d4b\\u503c\\u4e0d\\u4f1a\\u770b\\u6210\\u662f\\u5728\\u6700\\u5f00\\u59cb\\u8d4b\\u503c\\uff0c\\u8fd9\\u5c31\\u662f\\u4e0d\\u8f93\\u51fa`2`\\u7684\\u539f\\u56e0\\uff09\\uff0c\\u8fd9\\u5c31\\u662f\\u201c\\u7533\\u660e\\u63d0\\u524d\\u201d\\uff0c\\u6240\\u4ee5\\uff0c\\u4ee5\\u4e0a\\u4ee3\\u7801\\u7b49\\u4ef7\\u4e8e\\uff1a\\r\\n```\\r\\nvar wholeVar = 1;\\r\\nfunction myTest() {\\r\\n\\tvar wholeVar;//\\u7533\\u660e\\u63d0\\u524d\\u4e86\\uff0c\\u8986\\u76d6\\u4e86\\u5168\\u5c40\\u53d8\\u91cf\\r\\n\\tconsole.log(wholeVar);//\\u4e0a\\u9762\\u53ea\\u7533\\u660e\\uff0c\\u6ca1\\u8d4b\\u503c\\r\\n\\twholeVar = 2;\\r\\n\\tconsole.log(wholeVar);\\r\\n}\\r\\n```\\r\\n\\u8fd9\\u4e2a\\u5730\\u65b9\\u4e0d\\u592a\\u597d\\u7406\\u89e3\\uff0c\\u6240\\u4ee5\\u6211\\u4eec\\u5728\\u7f16\\u7a0b\\u7684\\u65f6\\u5019\\u5c40\\u90e8\\u53d8\\u91cf\\u7684\\u540d\\u5b57\\u6700\\u597d\\u4e0d\\u8981\\u548c\\u5168\\u5c40\\u53d8\\u91cf\\u51b2\\u7a81\\u3002\\r\\n\\r\\n\\r\\n\\r\\n####\\u7f16\\u7a0b\\u8981\\u6c42\\r\\n[comment]: <> (\\u201c\\u7f16\\u7a0b\\u8981\\u6c42\\u201d\\u90e8\\u5206\\u8bf4\\u4e00\\u4e0b\\u672c\\u5173\\u8981\\u89e3\\u51b3\\u7684\\u95ee\\u9898\\u7684\\u5177\\u4f53\\u8981\\u6c42\\uff0c\\u5e76\\u7ed9\\u51fa\\u76f8\\u5e94\\u4ee3\\u7801\\u7684\\u6846\\u67b6\\uff0c\\u4ee5\\u53ca\\u8981\\u6c42\\u5b66\\u751f\\u586b\\u5199\\u7684\\u90a3\\u4e00\\u5757)\\r\\n\\r\\n\\u672c\\u5173\\u7684\\u7f16\\u7a0b\\u4efb\\u52a1\\u662f\\u8865\\u5168\\u53f3\\u4fa7\\u4ee3\\u7801\\u7247\\u6bb5\\u4e2d`Begin`\\u81f3`End`\\u4e2d\\u95f4\\u7684\\u4ee3\\u7801\\uff0c\\u5177\\u4f53\\u8981\\u6c42\\u5982\\u4e0b\\uff1a\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5c40\\u90e8\\u53d8\\u91cf`a`,\\u5e76\\u8d4b\\u503c\\u4f7f\\u5176\\u8986\\u76d6\\u5df2\\u6709\\u7684\\u5168\\u5c40\\u53d8\\u91cf`a`\\uff1b\\r\\n- \\u5b9a\\u4e49\\u4e00\\u4e2a\\u5168\\u5c40\\u53d8\\u91cf`b`\\u5e76\\u521d\\u59cb\\u5316\\u4e4b\\uff1b\\r\\n- \\u4e0a\\u9762\\u4e24\\u6b65\\u5fc5\\u987b\\u4f7f\\u5f97\\u51fd\\u6570`variableTest`\\u8fd4\\u56de`100+10*c`\\uff0c`c`\\u4e3a\\u8f93\\u5165\\uff1b\\r\\n- \\u5177\\u4f53\\u8bf7\\u53c2\\u89c1\\u540e\\u7eed\\u6d4b\\u8bd5\\u6837\\u4f8b\\u3002\\r\\n\\r\\n\\u672c\\u5173\\u6d89\\u53ca\\u7684\\u4ee3\\u7801\\u6587\\u4ef6`Variable.js`\\u7684\\u4ee3\\u7801\\u6846\\u67b6\\u5982\\u4e0b\\uff1a\\r\\n\\r\\n```JavaScript\\r\\n/********Begin***************/\\r\\nvar a = 1;\\r\\nfunction variableTest(c) {\\r\\n\\treturn a*c+b;\\r\\n}\\r\\n/**********End****************/\\r\\n```\\r\\n\\r\\n####\\u6d4b\\u8bd5\\u8bf4\\u660e\\r\\n[comment]: <> (\\u201c\\u6d4b\\u8bd5\\u8bf4\\u660e\\u201d\\u90e8\\u5206\\u5982\\u679c\\u5bf9\\u6d4b\\u8bd5\\u8fd0\\u884c\\u6709\\u7279\\u522b\\u9700\\u8981\\u8bf4\\u660e\\u7684\\u53ef\\u4ee5\\u5728\\u6b64\\u5904\\u8bf4\\u660e\\u4e00\\u4e0b\\u3002\\u91cd\\u8981\\u7684\\u662f\\uff0c\\u7ed9\\u51fa\\u51e0\\u7ec4\\u6d4b\\u8bd5\\u6837\\u4f8b)\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8fc7\\u7a0b\\uff1a\\r\\n\\r\\n- \\u5e73\\u53f0\\u5c06\\u8bfb\\u53d6\\u7528\\u6237\\u8865\\u5168\\u540e\\u7684`Variable.js`\\u6587\\u4ef6\\uff1b\\r\\n\\r\\n- \\u8c03\\u7528\\u5176\\u4e2d\\u7684`variableTest()`\\u65b9\\u6cd5\\uff0c\\u5e76\\u8f93\\u5165\\u82e5\\u5e72\\u7ec4\\u6d4b\\u8bd5\\u6570\\u636e\\uff1b\\r\\n\\r\\n- \\u63a5\\u7740\\u6839\\u636e\\u7a0b\\u5e8f\\u7684\\u8f93\\u51fa\\u5224\\u65ad\\u7a0b\\u5e8f\\u662f\\u5426\\u6b63\\u786e\\u3002\\r\\n\\r\\n\\u4ee5\\u4e0b\\u662f\\u6d4b\\u8bd5\\u6837\\u4f8b\\uff1a\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`0`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`100`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`1`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`110`\\r\\n\\r\\n\\u6d4b\\u8bd5\\u8f93\\u5165\\uff1a`22`\\r\\n\\u9884\\u671f\\u8f93\\u51fa\\uff1a`330`\\r\\n\\r\\n---\\r\\n\\u6d77\\u5230\\u65e0\\u8fb9\\u5929\\u4f5c\\u5cb8\\uff0c\\u5c71\\u767b\\u7edd\\u9876\\u6211\\u4e3a\\u5cf0\\u3002 \\u2014\\u2014\\u6797\\u5219\\u5f90\\r\\n\\r\\n\\r\\n\\u5982\\u679c\\u4f60\\u89c9\\u5f97\\u8fd9\\u4e00\\u5173\\u7684\\u5185\\u5bb9\\u5bf9\\u4f60\\u6709\\u5e2e\\u52a9\\uff0c\\u8bf7\\u4f60\\u5728\\u4e0b\\u9762\\u70b9\\u8d5e\\u3002\\r\\n\\r\\n\",\"modify_time\":null,\"web_route\":\"\",\"answer\":null},\"game\":{\"id\":146589,\"status\":0,\"myshixun_id\":43748,\"user_id\":1,\"final_score\":0,\"challenge_id\":1765,\"identifier\":\"ts5ojbpz7unk\",\"answer_open\":false,\"test_sets_view\":false,\"cost_time\":10,\"star\":0,\"modify_time\":null},\"shixun\":{\"id\":534,\"name\":\"JavaScript\\u5b66\\u4e60\\u624b\\u518c\\u4e00\\uff1aJS\\u7b80\\u4ecb\",\"gpid\":42001,\"modify_time\":\"2018-02-05T22:25:28+08:00\",\"reset_time\":\"2018-01-31T15:30:16+08:00\",\"language\":\"JavaScript\",\"propaedeutics\":\"####JavaScript\\u7684\\u8d77\\u6e90\\r\\nJavaScript\\u8bde\\u751f\\u4e8e1995\\u5e74\\u3002\\u5728\\u90a3\\u4e2a\\u65f6\\u4ee3\\u7528\\u6237\\u63d0\\u4ea4\\u4e00\\u4e2a\\u8868\\u5355\\u9700\\u8981\\u83b7\\u53d6\\u670d\\u52a1\\u5668\\u7aef\\u7684\\u53cd\\u9988\\uff0c\\u8fd9\\u4e2a\\u65f6\\u95f4\\u5927\\u6982\\u5341\\u51e0\\u79d2\\uff0c\\u5982\\u679c\\u80fd\\u5728\\u5ba2\\u6237\\u7aef\\u5b8c\\u6210\\u4e00\\u4e9b\\u57fa\\u672c\\u7684\\u9a8c\\u8bc1\\u7edd\\u5bf9\\u662f\\u5f88\\u5927\\u7684\\u8fdb\\u6b65\\u3002\\u5f53\\u65f6\\u5982\\u65e5\\u4e2d\\u5929\\u7684Netscape\\u516c\\u53f8\\uff0c\\u51b3\\u5b9a\\u7740\\u624b\\u5f00\\u53d1\\u4e00\\u79cd\\u5ba2\\u6237\\u7aef\\u8bed\\u8a00\\u89e3\\u51b3\\u7b80\\u5355\\u7684\\u8868\\u5355\\u9a8c\\u8bc1\\u3002\\u5c31\\u804c\\u4e8eNetscape\\u516c\\u53f8\\u7684\\u5e03\\u5170\\u767b\\u00b7\\u827e\\u5947\\u5f00\\u59cb\\u7740\\u624b\\u8ba1\\u5212\\u5c061995\\u5e742\\u6708\\u53d1\\u5e03\\u7684LiveScript\\u540c\\u65f6\\u5728\\u6d4f\\u89c8\\u5668\\u548c\\u670d\\u52a1\\u5668\\u4e2d\\u4f7f\\u7528\\u3002Netscape\\u4e0eSun\\u516c\\u53f8\\u6210\\u7acb\\u4e86\\u4e00\\u4e2a\\u5f00\\u53d1\\u8054\\u76df\\u3002Sun\\u516c\\u53f8\\u6b63\\u662fJava\\u7684\\u62e5\\u6709\\u7740\\uff0c\\u800c\\u6b64\\u65f6\\uff0cNetscape\\u4e3a\\u4e86\\u642d\\u4e0a\\u5a92\\u4f53\\u70ed\\u7092Java\\u7684\\u987a\\u98ce\\u8f66\\uff0c\\u4e34\\u65f6\\u628aLiveScript\\u6539\\u540d\\u4e3aJavaScript\\uff0c\\u6240\\u4ee5\\u4ece\\u672c\\u8d28\\u4e0a\\u6765\\u8bf4JavaScript\\u548cJava\\u6ca1\\u4ec0\\u4e48\\u5173\\u7cfb\\u3002\\r\\n\\r\\n1997\\u5e74\\uff0c\\u4ee5JavaScript1.1\\u4e3a\\u84dd\\u672c\\u7684\\u5efa\\u8bae\\u88ab\\u63d0\\u4ea4\\u7ed9\\u4e86\\u6b27\\u6d32\\u8ba1\\u7b97\\u673a\\u5236\\u9020\\u5546\\u534f\\u4f1a\\uff08ECMA\\uff0cEuropean Computer Manufactures Association\\uff09\\uff0c\\u8be5\\u534f\\u4f1a\\u6307\\u5b9a39\\u53f7\\u6280\\u672f\\u59d4\\u5458\\u4f1a\\u8d1f\\u8d23\\u5c06\\u5176\\u8fdb\\u884c\\u6807\\u51c6\\u5316\\uff0cTC39\\u7ecf\\u8fc7\\u6570\\u6708\\u7684\\u52aa\\u529b\\u5b8c\\u6210\\u4e86ECMA-262\\u2014\\u2014\\u5b9a\\u4e49\\u4e86\\u4e00\\u79cd\\u540d\\u4e3aECMAScript\\u7684\\u65b0\\u811a\\u672c\\u8bed\\u8a00\\u7684\\u6807\\u51c6\\u3002\\r\\n \\r\\n\\u73b0\\u5728\\u5f00\\u53d1\\u4eba\\u5458\\u5e38\\u8bf4\\u7684JavaScript\\u5305\\u542b\\u4e09\\u4e2a\\u90e8\\u5206\\uff1aECMAScript\\u3001\\u6d4f\\u89c8\\u5668\\u5bf9\\u8c61\\u6a21\\u578b(BOM) \\u548c\\u6587\\u6863\\u5bf9\\u8c61\\u6a21\\u578b(DOM)\\u3002\\r\\n\\r\\n####JavaScript\\u80fd\\u7528\\u6765\\u5e72\\u4ec0\\u4e48\\r\\nJavaScript\\u4e3b\\u8981\\u7528\\u6765\\u505a\\u7f51\\u9875\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\uff0c\\u5c31\\u662f\\u5927\\u5bb6\\u80fd\\u770b\\u5230\\u7684\\u9875\\u9762\\u7684\\u5f00\\u53d1\\u3002\\u6bd4\\u5982\\u70b9\\u51fb\\u7f51\\u9875\\u4e0a\\u7684Button\\u5b9e\\u73b0\\u7684\\u5f88\\u591a\\u529f\\u80fd\\u3001\\u516c\\u53f8\\u4e3b\\u9875\\u7684\\u8f6e\\u64ad\\u56fe\\u3001\\u6ce8\\u518c\\u65f6\\u4e0a\\u4f20\\u5934\\u50cf\\u65f6\\u7684\\u526a\\u5207\\u7b49\\u7b49\\u4e30\\u5bcc\\u7684\\u9875\\u9762\\u3002\\r\\n\\u9664\\u6b64\\u4e4b\\u5916\\uff0cJavaScript\\u8fd8\\u6709\\u4e00\\u4e9b\\u4e0d\\u5e38\\u7528\\u7684\\u4f7f\\u7528\\u73af\\u5883\\uff0c\\u6bd4\\u5982\\u7528\\u6765\\u5f00\\u53d1\\u5c0f\\u6e38\\u620f\\uff0c\\u505a\\u7f51\\u7ad9\\u540e\\u53f0\\uff0c\\u5f53\\u7136\\u8fd9\\u4e9b\\u5f88\\u5c0f\\u4f17\\uff0c\\u4f5c\\u4e3a\\u4e00\\u4e2a\\u521d\\u5b66\\u8005\\uff0c\\u6211\\u4eec\\u5efa\\u8bae\\u5927\\u5bb6\\u8fd8\\u662f\\u5b66\\u597dJavaSciptt\\u7684\\u57fa\\u7840\\uff0c\\u591a\\u7528\\u5b83\\u6765\\u8fdb\\u884c\\u524d\\u7aef\\u7684\\u5f00\\u53d1\\u3002\",\"status\":2,\"identifier\":\"8arufxzl\",\"test_set_permission\":true,\"webssh\":0,\"user_id\":30144,\"code_hidden\":false,\"task_pass\":false,\"exec_time\":120},\"record\":null,\"grade\":211720,\"prev_game\":\"fshy8ve9gzc6\",\"next_game\":null,\"username\":\"Coder\",\"image_url\":\"avatars/User/1\",\"user_url\":\"/users/innov\",\"praise_count\":0,\"user_praise\":false,\"time_limit\":120,\"tomcat_url\":\"http://117.50.21.112\",\"is_teacher\":true,\"power\":1,\"myshixun_manager\":true}\r\n\t\t// \tthis._handleResponseData(chooseData)\r\n\t\t\t\r\n\t\t// \tthis.setState({\r\n\t // \t\t...chooseData,\r\n\t // \t\tloading: false,\r\n\t // \t})\r\n\t // \treturn;\r\n\t\t// } \r\n\t\tthis.setState({\r\n\t \tloading: true,\r\n\t \tcurrentGamePassed: false, // 切换game时重置passed字段\r\n\t })\r\n\r\n\t\taxios.get(url, {\r\n \t\t\twithCredentials: true,\r\n \t\t})\r\n\t\t .then((response) => {\r\n\t\t\t console.log(response);\r\n\t\t\t // {\"status\":1,\"message\":\"Unauthorized. \\u7528\\u6237\\u8ba4\\u8bc1\\u5931\\u8d25.\"}\r\n\t\t\t if (response.data.status == -1) {\r\n\t\t\t \tconsole.error('获取实训任务信息失败!')\r\n\t\t\t \tthis.showSnackbar(response.data.message);\r\n\t\t\t \treturn;\r\n\t\t\t }\r\n\t\t\t if (response.data.status == 403) {\r\n\t\t\t \twindow.location.href = '/myshixuns/forbidden'\r\n\t\t\t \treturn;\r\n\t\t\t }\r\n\t\t\t if (response.data.status == 404) {\r\n\t\t\t \twindow.location.href = '/myshixuns/not_found'\r\n\t\t\t \treturn;\r\n\t\t\t }\r\n\r\n\t\t\t this._handleResponseData(response.data)\r\n\t\t \r\n\t\t \t})\r\n\t\t \t.catch(function (error) {\r\n\t\t \tconsole.log(error);\r\n\t\t \t});\r\n\t\r\n\t}\r\n\r\n\treadGameAnswer(resData) {\r\n\t\tvar game = this.state.game;\r\n\t\t// game.final_score = resData.final_score;\r\n\r\n\t\tthis.setState({\r\n\t\t\tgame: update(game, {final_score: { $set: resData.final_score }}),\r\n\t\t\tgrade: resData.grade\r\n\t\t})\r\n\t}\r\n\tcloseTaskResultLayer() {\r\n\t\tthis.setState({\r\n\t\t\tcurrentGamePassed: false\r\n\t\t})\r\n\t}\r\n\tonRunChooseTestFinish(response) {\r\n\t\tconst { test_sets, challenge_chooses_count, choose_correct_num, grade, experience, gold, had_submmit, next_game } = response;\r\n\t\tconst { game } = this.state;\r\n\t\tlet currentGamePassed = false\r\n\t\tif (challenge_chooses_count === choose_correct_num) {\r\n\t\t\tgame.status = 2;\t// 2表示评测通过\r\n\t\t\tgame.next_game = next_game;\r\n\t\t\tcurrentGamePassed = true;\r\n\r\n\t\t\tthis._updateCostTime(true, true);\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tchoose_test_cases: response,\r\n\t\t\tgrade: grade,\r\n\r\n\t\t\tgame,\r\n\t\t\tnext_game,\r\n\t\t\tcurrentGamePassed: currentGamePassed,\r\n\t\t\tcurrentPassedGameGainGold: gold,\r\n\t\t\tcurrentPassedGameGainExperience: experience,\r\n\t\t})\r\n\t}\t\r\n\tlanguage_display(data) {\r\n\t\tconst { game, tomcat_url } = this.state;\r\n\t\tconst $ = window.$;\r\n\t\tconst challenge = Object.assign({}, this.state.challenge)\r\n\t\tif(challenge.isWeb && data.port != -1) {\r\n // var $result = $(\"#php_display\");\r\n challenge.showWebDisplayButton = true;\t// ActionView处是否出现查看效果按钮\r\n const path = challenge.web_route || challenge.path\r\n const webDisplayUrl = `${tomcat_url}:${data.port}/${path}`\r\n challenge.webDisplayUrl = webDisplayUrl\r\n challenge.showLanguagePictrue = true;\t// 评测通过弹出层是否出现查看效果按钮\r\n }else if(challenge.isAndroid && data.picture != 0){\r\n \t// https://www.educoder.net/shixuns/qrcode?game_id=218589&_=1525571882782\r\n $.ajax({\r\n url: `/shixuns/qrcode?game_id=${game.id}`,\r\n dataType: 'script'\r\n });\r\n challenge.showLanguagePictrue = true;\r\n }else if(data.picture != 0){\r\n \t// 对应服务端erb文件为 _picture_display.html.erb\r\n $.ajax({\r\n url: \"/users/picture_show?game_id=\"+data.picture,\r\n cache: false,\r\n dataType: 'script'\r\n });\r\n challenge.showLanguagePictrue = true;\r\n }\r\n this.setState({\r\n \tchallenge\r\n })\r\n\t}\r\n\tonRunCodeTestFinish(response) {\r\n\t\tconsole.log('onRunCodeTestFinish', response)\r\n\t\tconst { test_sets, test_sets_count, test_sets_hidden_count, test_sets_public_count\r\n\t\t\t, had_test_count, had_passed_testsests_error_count, had_passed_testsests_hidden_count\r\n\t\t\t, had_passed_testsests_public_count, final_score, gold, experience, latest_output, status\r\n\t\t\t, had_done, score, tag_count, power, record, next_game, grade, picture} = response;\r\n\r\n\t\tconst { game } = this.state;\r\n\r\n\t\tconst currentGamePassed = this.props.game !== 2 && status === 2\r\n\r\n\t\tcurrentGamePassed && this.language_display(response);\r\n\r\n\t\t// 评测通过了,立即同步costTime\r\n\t\tcurrentGamePassed && this._updateCostTime(true, true);\r\n\r\n\t\tif (currentGamePassed) {\r\n\t\t\tgame.status = 2;\r\n\t\t\tgame.next_game = next_game;\t\r\n\t\t}\r\n\r\n\t\tconst output_sets = {\r\n\t\t\t\"test_sets\": test_sets,\r\n\t \"had_test_count\": had_test_count,\r\n\t \"test_sets_count\": test_sets_count,\r\n\t \"had_passed_testsests_error_count\": had_passed_testsests_error_count,\r\n\t \"test_sets_hidden_count\": test_sets_hidden_count,\r\n\t \"test_sets_public_count\": test_sets_public_count,\r\n\t \"had_passed_testsests_hidden_count\": had_passed_testsests_hidden_count,\r\n\t \"had_passed_testsests_public_count\": had_passed_testsests_public_count\r\n\t\t};\r\n\t\tif (output_sets && output_sets.test_sets) {\r\n \t\t\tconst test_sets_array = JSON.parse(\"[\" + output_sets.test_sets + \"]\");\r\n \t\t\toutput_sets.test_sets_array = test_sets_array;\r\n \t\t}\r\n\r\n\t\tthis.setState({\r\n\t\t\ttestSetsExpandedArray: testSetsExpandedArrayInitVal.slice(0), // 重置测试集展开状态\r\n\t\t\tcurrentGamePassed,\r\n\t\t\tcurrentPassedGameGainGold: gold,\r\n\t\t\tcurrentPassedGameGainExperience: experience,\r\n\r\n\t\t\toutput_sets,\r\n\t\t\tgame,\r\n\t\t\tnext_game,\r\n\t\t\t\r\n\t\t\tlatest_output,\r\n\t\t\trecord: record,\r\n\t\t\tgrade,\r\n\t\t\thad_done,\r\n\t\t\t\r\n\t\t})\r\n\t}\r\n\r\n\ttestSetUnlock() {\r\n\t\tconst { game } = this.state;\r\n\t\tconst url = `/api/v1/games/${game.identifier}/check_test_sets`\r\n\t\taxios.get(url, {\r\n \t\t\twithCredentials: true,\r\n \t\t})\r\n\t\t .then((response) => {\r\n\t\t\t console.log(response);\r\n\t\t\t // TODO status -2 重复操作,直接解锁\r\n\t\t\t if (response.data.test_sets == -1) {\r\n\t\t\t \tconsole.error('testSetUnlock失败!')\r\n\t\t\t \tthis.showSnackbar(response.data.message)\r\n\t\t\t \treturn;\r\n\t\t\t } else {\r\n\t\t\t \t// 被扣除的金币,是负数\r\n\t\t\t \tconst deltaScore = response.data.score;\r\n\t\t\t\t\t// output_sets\r\n\t\t\t\t\tlet { output_sets } = this.state;\r\n\t\t\t\t\toutput_sets = Object.assign({}, output_sets);\r\n\t\t\t\t\tconst test_sets_array = JSON.parse(\"[\" + response.data.test_sets + \"]\");\r\n\t \t\t\t\toutput_sets.test_sets_array = test_sets_array;\r\n\t\t\t \tthis.setState({ \r\n\t\t\t\t\t\toutput_sets: output_sets,\r\n\t\t\t \t\tgrade: this.state.grade + deltaScore,\r\n\t\t\t \t\tgame : update(game, {test_sets_view: { $set: true }}), \r\n\t\t\t \t\ttestSetsExpandedArray: testSetsExpandedArrayInitVal.slice(0) \r\n\t\t\t \t})\r\n\t\t\t \tthis.handleGdialogClose();\r\n\t\t\t }\r\n\t\t \r\n\t\t \t})\r\n\t\t \t.catch(function (error) {\r\n\t\t \tconsole.log(error);\r\n\t\t \t});\r\n\t}\r\n\r\n\thandleSnackbarClose() {\r\n\t\tthis.setState({\r\n\t\t\tsnackbarOpen: false,\r\n\t\t\tsnackbarVertical: '',\r\n\t\t\tsnackbarHorizontal: '',\r\n\t\t})\r\n\t}\r\n\t// 全局的snackbar this.props.showSnackbar调用即可\r\n\tshowSnackbar(text, vertical, horizontal) {\r\n\t\tthis.setState({\r\n\t\t\tsnackbarOpen: true,\r\n\t\t\tsnackbarText: text,\r\n\t\t\tsnackbarVertical: vertical,\r\n\t\t\tsnackbarHorizontal: horizontal,\r\n\t\t})\r\n\t}\r\n\r\n\t/* \r\n TODO 写成HOC组件,更好复用\r\n\t\t全局的Dialog this.props.showDialog调用即可\r\n\t\t@param contentText dialog显示的提示文本 \r\n\t\t@param callback \t确定按钮回调方法\r\n\t\t@param moreButtonsRender 除了“确定”、“取消”按钮外的其他按钮\r\n\t\t@param okButtonText “确定”按钮显示文本,如 继续查看\r\n\t*/\r\n\tshowDialog(params) {\r\n\t\tconst { contentText, callback, moreButtonsRender, okButtonText } = params;\r\n\r\n\t\tthis.dialogOkCallback = callback;\r\n\t\tthis.moreButtonsRender = moreButtonsRender\r\n\t\tthis.okButtonText = okButtonText;\r\n\t\tthis.setState({\r\n\t\t\tgDialogOpen: true,\r\n\t\t\tgDialogContentText: contentText\r\n\t\t})\r\n\t}\r\n\tonGdialogOkBtnClick() {\r\n\r\n\t\tthis.dialogOkCallback && this.dialogOkCallback();\r\n\t\t// this.setState({\r\n\t\t// \tgDialogOpen: true\r\n\t\t// })\r\n\t}\r\n\thandleGdialogClose() {\r\n\t\tthis.setState({\r\n\t\t\tgDialogOpen: false\r\n\t\t})\r\n\t}\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\t this.closeTaskResultLayer(),\r\n\r\n\t\t\t\t\t\tonPathChange: this.onPathChange,\r\n\t\t\t\t\t\tupdateChallengePath: this.updateChallengePath,\r\n\r\n\t\t\t\t\t\tshowSnackbar: this.showSnackbar,\r\n\t\t\t\t\t\tshowDialog: this.showDialog,\r\n\t\t\t\t\t\thandleGdialogClose: () => this.handleGdialogClose(),\r\n\r\n\t\t\t\t\t\tonShowUpdateDialog: this.onShowUpdateDialog,\r\n\t\t\t\t\t\tupdateDialogClose: this.updateDialogClose,\r\n\r\n\t\t\t\t\t\tmatch: this.props.match\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\t\r\n\t\t\t\t\t this.handleGdialogClose()}\r\n\t\t\t >\t\r\n\t\t\t\t \t{\"提示\"}\r\n\t\t\t \t\r\n\t\t\t\t \r\n\t\t\t\t\t \t{this.state.gDialogContentText}\r\n\t\t\t\t \r\n\t\t\t \t\r\n\t\t\t \t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t \t\t\t {this.moreButtonsRender && this.moreButtonsRender()}\r\n\t\t\t \t\r\n\t\t\t \r\n\r\n\t\t\t\t\t this.handleSnackbarClose()}\r\n\t\t\t \ttransition={Fade}\r\n\t\t\t \tSnackbarContentProps={{\r\n\t\t\t \t'aria-describedby': 'message-id',\r\n\t\t\t \t}}\r\n\t\t\t \tresumeHideDuration={2000}\r\n\t\t\t \tmessage={{this.state.snackbarText}}\r\n\t\t\t />\r\n\t\t\t\t\t{this.props.children}\r\n\t\t\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport default TPIContextProvider;\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/context/TPIContextProvider.js","import React, { Component } from 'react';\r\n\r\nimport TPIContext from '../../context/TPIContext'\r\nimport TPIContextProvider from '../../context/TPIContextProvider'\r\n\r\nimport Index from './Index.js'\r\nclass IndexWrapper extends Component {\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{context=>\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\t\t)\r\n\t}\r\n}\r\n\r\nexport default IndexWrapper;\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/IndexWrapper.js","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nvar _LocationUtils = require('./LocationUtils');\n\nvar _PathUtils = require('./PathUtils');\n\nvar _createTransitionManager = require('./createTransitionManager');\n\nvar _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);\n\nvar _DOMUtils = require('./DOMUtils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nvar getHistoryState = function getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n};\n\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\nvar createBrowserHistory = function createBrowserHistory() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');\n\n var globalHistory = window.history;\n var canUseHistory = (0, _DOMUtils.supportsHistory)();\n var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();\n\n var _props$forceRefresh = props.forceRefresh,\n forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,\n _props$getUserConfirm = props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,\n _props$keyLength = props.keyLength,\n keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;\n\n var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';\n\n var getDOMLocation = function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n\n\n var path = pathname + search + hash;\n\n (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".');\n\n if (basename) path = (0, _PathUtils.stripBasename)(path, basename);\n\n return (0, _LocationUtils.createLocation)(path, state, key);\n };\n\n var createKey = function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n };\n\n var transitionManager = (0, _createTransitionManager2.default)();\n\n var setState = function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n\n transitionManager.notifyListeners(history.location, history.action);\n };\n\n var handlePopState = function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;\n\n handlePop(getDOMLocation(event.state));\n };\n\n var handleHashChange = function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n };\n\n var forceNextPop = false;\n\n var handlePop = function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({ action: action, location: location });\n } else {\n revertPop(location);\n }\n });\n }\n };\n\n var revertPop = function revertPop(fromLocation) {\n var toLocation = history.location;\n\n // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n\n if (toIndex === -1) toIndex = 0;\n\n var fromIndex = allKeys.indexOf(fromLocation.key);\n\n if (fromIndex === -1) fromIndex = 0;\n\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n };\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key];\n\n // Public interface\n\n var createHref = function createHref(location) {\n return basename + (0, _PathUtils.createPath)(location);\n };\n\n var push = function push(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'PUSH';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.pushState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n\n nextKeys.push(location.key);\n allKeys = nextKeys;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');\n\n window.location.href = href;\n }\n });\n };\n\n var replace = function replace(path, state) {\n (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');\n\n var action = 'REPLACE';\n var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);\n\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n\n if (canUseHistory) {\n globalHistory.replaceState({ key: key, state: state }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n\n setState({ action: action, location: location });\n }\n } else {\n (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');\n\n window.location.replace(href);\n }\n });\n };\n\n var go = function go(n) {\n globalHistory.go(n);\n };\n\n var goBack = function goBack() {\n return go(-1);\n };\n\n var goForward = function goForward() {\n return go(1);\n };\n\n var listenerCount = 0;\n\n var checkDOMListeners = function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1) {\n (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);\n\n if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);\n }\n };\n\n var isBlocked = false;\n\n var block = function block() {\n var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n };\n\n var listen = function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n };\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n\n return history;\n};\n\nexports.default = createBrowserHistory;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_history@4.7.2@history/createBrowserHistory.js\n// module id = 578\n// module chunks = 33","'use strict';\n\nexports.__esModule = true;\nvar addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n};\n\nvar stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n};\n\nvar hasBasename = exports.hasBasename = function hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n};\n\nvar stripBasename = exports.stripBasename = function stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n};\n\nvar stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n};\n\nvar parsePath = exports.parsePath = function parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n\n var hashIndex = pathname.indexOf('#');\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n};\n\nvar createPath = exports.createPath = function createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n\n\n var path = pathname || '/';\n\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : '?' + search;\n\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : '#' + hash;\n\n return path;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_history@4.7.2@history/PathUtils.js\n// module id = 579\n// module chunks = 33","import React, { Component } from 'react';\r\nimport { Modal } from 'antd';\r\n\r\n\r\nexport function ECModalHOC(options = {}) {\r\n\treturn function wrap(WrappedComponent) {\r\n\t return class Wrapper extends Component {\r\n\t \tconstructor(props) {\r\n\t\t super(props);\r\n \r\n\t\t this.state = {\r\n\t\t \t titlemessage: '',\r\n\t\t \t Modallist: false,\r\n Modallisttype: false,\r\n\t\t\t\t\t singleButton: false\r\n\t\t }\r\n\t \t}\r\n\r\n\t \t// 全局的modal this.props.showModal 调用即可\r\n\t\t\tshowModal = (title, content, okCallback) => {\r\n\t\t\t\tthis.okCallback = okCallback;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttitlemessage: title,\r\n\t\t\t\t\tModallist: content,\r\n\t\t\t\t\tModallisttype: true,\r\n\t\t\t\t\tsingleButton: false,\r\n\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tshowSingleButtonModal = (title, content) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\ttitlemessage: title,\r\n\t\t\t\t\tModallist: content,\r\n\t\t\t\t\tModallisttype: true,\r\n\t\t\t\t\tsingleButton: true,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tonCancel = () => {\r\n\t\t\t\tthis.setState({\r\n Modallisttype:false\r\n })\r\n\t\t\t}\r\n hidemodeldelete = () => {\r\n\t\t\t\tif (this.okCallback) {\r\n\t\t\t\t\tthis.okCallback()\r\n\t\t\t\t}\r\n \r\n\t\t\t\tthis.onCancel()\r\n }\r\n\t \trender() {\r\n\t\t const { titlemessage, Modallisttype, Modallist, singleButton } = this.state;\r\n\t\t \r\n\t\t return (\r\n\t\t \t\r\n\t\t \t\t\r\n
    \r\n
    {Modallist}
    \r\n
    \r\n { singleButton ?
    \r\n 知道啦\r\n
    :
    \r\n 取消\r\n 确定\r\n\t\t\t\t\t\t\t
    }\r\n \r\n\t\t\t \r\n\t\t\t \t\r\n\t\t\t \r\n\t\t \t
    \r\n\t\t )\r\n\t \t}\r\n\t }\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/ec/common/ECModalHOC.js","import React, { Component } from 'react';\r\n\r\nimport moment from 'moment'\r\nimport { getUrl } from 'educoder'\r\nimport { Form, Input, Icon, Button, Select, InputNumber } from 'antd';\r\nconst { TextArea } = Input;\r\nconst { Option } = Select;\r\n\r\nlet _url_origin = getUrl()\r\nconst $ = window.$\r\n// https://www.educoder.net/stylesheets/css/common.css?1546618720\r\nif (!window['EcLoaded']) {\r\n $('head').append( $('')\r\n .attr('href', `${_url_origin}/stylesheets/css/common.css?1525440977`) );\r\n window['EcLoaded'] = true\r\n}\r\n\r\nlet id = 0;\r\n\r\n\r\n/**\r\n target_id\r\n position \r\n target_weight\r\n target_contents\r\n\r\n subitem_id\r\n index\r\n subitem_contents\r\n\r\n*/\r\nconst data = \r\n[{\"position\":0,\"target_weight\":0.02,\"target_contents\":\"12\",\"standard_grade\":2,\"subitem_id\":\"65\"},{\"position\":3,\"target_id\":\"0\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":60,\"subitem_id\":\"66\"},{\"position\":4,\"target_weight\":1,\"target_contents\":\"22\",\"standard_grade\":33,\"subitem_id\":\"66\"},{\"position\":11,\"target_id\":\"1\",\"target_weight\":0.1,\"target_contents\":\"理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。\",\"standard_grade\":61,\"subitem_id\":\"65\"}]\r\n;\r\nlet _data = [\r\n {\r\n target_id: 0,\r\n position: 1,\r\n target_weight: 0.1,\r\n target_contents: '理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',\r\n standard_grade: 60,\r\n // biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\r\n \"subitem_id\": 64,\r\n \"index\": \"1-1\",\r\n \"subitem_contents\": \"能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"\r\n },\r\n {\r\n target_id: 1,\r\n position: 2,\r\n target_weight: 0.1,\r\n target_contents: '理解数据管理技术和数据库技术的发展,区分不同数据模型的作用和特点,描述数据库系统的类型、结构、数据独立性。',\r\n standard_grade: 61,\r\n // biyeYaoqiuZhibiaodian: ':能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题',\r\n \"subitem_id\": 65,\r\n \"index\": \"1-2\",\r\n \"subitem_contents\": \"222能够运用相关的工程基础和专业知识辨别材料生产中出现的技术、工艺、质量等问题\"\r\n }\r\n]\r\nconst item = {}\r\n\r\nclass EditableCourseSupportSetting extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n addOrDeleting: false,\r\n errorMsg: ''\r\n }\r\n }\r\n onRemove = (k) => {\r\n let fValues = this.props.form.getFieldsValue();\r\n if (\r\n // fValues.standard_grade[k] && fValues.standard_grade[k] != 75\r\n // || fValues.subitem_id[k] \r\n // || \r\n fValues.target_contents[k] \r\n // || fValues.target_weight[k] \r\n ) {\r\n this.props.showModal('提示', '确定要删除吗?', () => {\r\n this.remove(k)\r\n })\r\n } else {\r\n this.remove(k)\r\n }\r\n }\r\n remove = (k) => {\r\n const { form } = this.props;\r\n // can use data-binding to get\r\n const keys = form.getFieldValue('keys');\r\n // We need at least one passenger\r\n // if (keys.length === 1) {\r\n // return;\r\n // }\r\n if (keys.length === 1) {\r\n this.setState({ errorMsg: '至少得保留一条数据' })\r\n return;\r\n }\r\n // 清除悬浮tip\r\n window.$('.data-tip-down').hide()\r\n\r\n console.log('remove :' , k , this.position2Target_idMap[k])\r\n delete this.position2Target_idMap[k]\r\n // can use data-binding to set\r\n form.setFieldsValue({\r\n keys: keys.filter(key => key !== k),\r\n });\r\n }\r\n _reverseMap = (map) => {\r\n let newMap = {}\r\n for (var k in map) {\r\n newMap[map[k]] = k;\r\n }\r\n return newMap\r\n }\r\n addIfNewKeyExist = (newKey, index_arg) => {\r\n this.setState({ addOrDeleting: true })\r\n const { form } = this.props;\r\n const keys = form.getFieldValue('keys');\r\n /**\r\n [0,1,2,3]\r\n ['11', '22', '33', '44']\r\n ->\r\n [0,1,2,3,4]\r\n ['11', '22', empty, '33', '44']\r\n\r\n */\r\n const target_weight = form.getFieldValue('target_weight');\r\n const target_contents = form.getFieldValue('target_contents');\r\n const standard_grade = form.getFieldValue('standard_grade');\r\n const subitem_id = form.getFieldValue('subitem_id');\r\n keys.splice(index_arg, 0, newKey);\r\n\r\n // position2Target_idMap \r\n // {1:2, 2:3, 3:4, 4:6 } --> {1:2, 2:3, 3:7, 4:4, 5:6 }\r\n // 更新key/position 映射到target_id的map\r\n // 两次revers,用这个结构,达到给position加1的效果\r\n let reverseMap = this._reverseMap(this.position2Target_idMap);\r\n for (let i = index_arg ; i < keys.length; i++) {\r\n if(keys[i] === keys[i+1]) { // 找到开始+1的行\r\n continue;\r\n }\r\n let target_id = this.position2Target_idMap[keys[i]];\r\n reverseMap[target_id] = parseInt(reverseMap[target_id]) + 1;\r\n keys[i] = keys[i] + 1;\r\n }\r\n for (let i = 0 ; i < keys.length - 1; i++) { \r\n if (keys[i] == keys[i + 1]) {\r\n debugger;\r\n }\r\n }\r\n this.position2Target_idMap = this._reverseMap(reverseMap);\r\n \r\n\r\n target_weight.splice(newKey, 0, undefined);\r\n target_contents.splice(newKey, 0, undefined);\r\n standard_grade.splice(newKey, 0, undefined);\r\n subitem_id.splice(newKey, 0, undefined);\r\n\r\n setTimeout(() => {\r\n form.setFieldsValue({\r\n target_weight,\r\n target_contents,\r\n standard_grade,\r\n subitem_id\r\n });\r\n window.$('.data-tip-down').hide()\r\n this.setState({ addOrDeleting: false })\r\n\r\n }, 300)\r\n form.setFieldsValue({\r\n keys: keys\r\n });\r\n\r\n }\r\n add = (k, index) => {\r\n this.setState({ errorMsg: '' })\r\n\r\n const { form } = this.props;\r\n // can use data-binding to get\r\n const keys = form.getFieldValue('keys');\r\n let nextKeys ;\r\n let newKey = k + 1;\r\n \r\n const newKeyIndex = keys.indexOf(newKey)\r\n if (newKeyIndex != -1) {\r\n // 新key存在,将新key位置及以后的row后移,直到找到一个之后的空位置\r\n this.addIfNewKeyExist(newKey, index)\r\n } else { // 如果这个新key不存在\r\n // keys[newIndex] = newKey\r\n keys.splice(index === 0 && k === -1 ? 0 : index, 0, newKey);\r\n }\r\n // can use data-binding to set\r\n // important! notify form to detect changes\r\n form.setFieldsValue({\r\n keys: keys,\r\n });\r\n }\r\n\r\n handleSubmit = (e) => {\r\n if (!this.props.is_manager) {\r\n this.props.showModal('提示', '您没权限编辑,请联系管理员。')\r\n return;\r\n }\r\n this.setState({ errorMsg: '' })\r\n e.preventDefault && e.preventDefault();\r\n this.props.form.validateFieldsAndScroll((err, values) => {\r\n if (!err) {\r\n let keysLen = values.keys.length\r\n if (keysLen < 1) {\r\n this.setState({ errorMsg: '至少得保留一条数据' })\r\n }\r\n var data = []\r\n while( keysLen-- ) {\r\n data.push({})\r\n }\r\n for (var valKey in values) {\r\n \r\n let dataIndex = 0\r\n values[valKey].forEach( (item,index) => {\r\n let _val = values[valKey][index];\r\n if (_val || _val == 0) {\r\n data[dataIndex][valKey === 'keys' ? 'position' : valKey] = _val\r\n if (valKey === 'keys' && (this.position2Target_idMap[_val] || this.position2Target_idMap[_val] === 0) ) {\r\n data[dataIndex].target_id = this.position2Target_idMap[_val]\r\n }\r\n dataIndex++;\r\n }\r\n })\r\n }\r\n\r\n console.log('Received values of form: ', values, data);\r\n \r\n let totalWeight = 0;\r\n values.target_weight.forEach(item => {\r\n if (item) {\r\n totalWeight += item\r\n }\r\n })\r\n // 精度问题 0.2 + 0.7 = 0.8999999999\r\n if (parseInt((totalWeight * 100).toFixed(1)) != 100) {\r\n this.setState({ errorMsg: '请先保证权重和等于1' })\r\n return;\r\n }\r\n\r\n this.props.updateCourseTargets(data)\r\n } else {\r\n\r\n const keyRowNumMap = {}\r\n let rowNum = 1;\r\n for (var key in values.target_contents) {\r\n keyRowNumMap[key] = rowNum;\r\n rowNum++;\r\n }\r\n\r\n // err.target_contents[1].errors[0]\r\n // {message: \"请填入目标内容\", field: \"target_contents[1]\"}\r\n for (var key in err) {\r\n for (var _k in err[key]) {\r\n let errorObj = err[key][_k].errors[0];\r\n\r\n let _key = errorObj.field.match(`[(0-9)]`)\r\n this.setState({ errorMsg: `第${keyRowNumMap[_key]}行,${errorObj.message}` })\r\n return;\r\n // console.log(`第${keyRowNumMap[_key]}行,${errorObj.message}`);\r\n }\r\n }\r\n }\r\n \r\n \r\n });\r\n }\r\n\r\n componentDidMount = () => {\r\n this.position2Target_idMap = {}\r\n const { form } = this.props;\r\n\r\n const data = this.props.course_targets\r\n\r\n let target_weight = []\r\n let target_contents = []\r\n let standard_grade = []\r\n // let biyeYaoqiuZhibiaodian = []\r\n let subitem_id = []\r\n let keys = []\r\n\r\n data.forEach(item => {\r\n keys.push(item.position);\r\n target_weight[item.position] = (item.target_weight)\r\n target_contents[item.position] = (item.target_contents);\r\n standard_grade[item.position] = (item.standard_grade);\r\n // biyeYaoqiuZhibiaodian[item.position] = (item.biyeYaoqiuZhibiaodian);\r\n\r\n subitem_id[item.position] = (item.subitem_id).toString();\r\n\r\n this.position2Target_idMap[item.position] = item.target_id\r\n }) \r\n form.setFieldsValue({\r\n keys\r\n });\r\n setTimeout(() => {\r\n form.setFieldsValue({\r\n target_weight,\r\n target_contents,\r\n standard_grade,\r\n // biyeYaoqiuZhibiaodian,\r\n subitem_id,\r\n });\r\n // this.forceUpdate()\r\n }, 300)\r\n\r\n \r\n }\r\n \r\n\r\n render() {\r\n const { getFieldDecorator, getFieldValue } = this.props.form;\r\n const { requirements } = this.props;\r\n const { addOrDeleting } = this.state;\r\n const formItemLayout = {\r\n labelCol: {\r\n xs: { span: 24 },\r\n sm: { span: 4 },\r\n },\r\n wrapperCol: {\r\n xs: { span: 24 },\r\n sm: { span: 20 },\r\n },\r\n };\r\n const formItemLayoutWithOutLabel = {\r\n wrapperCol: {\r\n xs: { span: 24, offset: 0 },\r\n sm: { span: 20, offset: 4 },\r\n },\r\n };\r\n getFieldDecorator('keys', { initialValue: [] });\r\n const keys = getFieldValue('keys');\r\n const formItems = keys.map((k, index) => (\r\n
  • \r\n \r\n { index + 1 }\r\n \r\n {getFieldDecorator(`target_weight[${k}]`, {\r\n // validateTrigger: ['onChange', 'onBlur'],\r\n rules: [{\r\n required: true,\r\n whitespace: true,\r\n type: 'number',\r\n message: \"请填入权重\",\r\n }],\r\n })(\r\n \r\n )}\r\n \r\n \r\n {getFieldDecorator(`target_contents[${k}]`, {\r\n // validateTrigger: ['onChange', 'onBlur'],\r\n rules: [{\r\n required: true,\r\n // whitespace: true,\r\n message: \"请填入目标内容\",\r\n }],\r\n })(\r\n */}\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t \t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t { st === 1 ? \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t \t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t : ''\r\n\t\t\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t\t \t
  • \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t{/*\tTA人解答*/}\r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t\t
    \r\n\t\t\t\t\t\t\t\t \t
    \r\n\t\t\t\t\t\t\t\t \t\t\r\n\t\t\t\t\t\t\t\t \t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t \t\t{ loadingComments ? \r\n\t\t\t\t\t\t\t \t : \r\n\t\t\t\t\t\t \t\t\r\n\t\t\t\t\t\t \t}\r\n\t\t\t\t\t \t
    \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t \t{/*说点什么\t*/}\r\n\t\t\t\t\t \t\r\n\t\t\t\t\t
    \r\n\t\t\t \t
    \r\n\r\n\t\t\t \r\n\t\t\t\r\n\t );\r\n \t}\r\n}\r\n// \r\n// {/**/}\r\nexport default withStyles(styles)( LeftView );\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/main/LeftView.js","import { createElement } from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar uid = (function () {\n return Math.random().toString(36).substring(2);\n});\n\nvar Svg = (function (_ref) {\n var animate = _ref.animate,\n ariaLabel = _ref.ariaLabel,\n children = _ref.children,\n className = _ref.className,\n height = _ref.height,\n preserveAspectRatio = _ref.preserveAspectRatio,\n primaryColor = _ref.primaryColor,\n primaryOpacity = _ref.primaryOpacity,\n rtl = _ref.rtl,\n secondaryColor = _ref.secondaryColor,\n secondaryOpacity = _ref.secondaryOpacity,\n speed = _ref.speed,\n style = _ref.style,\n uniquekey = _ref.uniquekey,\n width = _ref.width,\n props = _objectWithoutPropertiesLoose(_ref, [\"animate\", \"ariaLabel\", \"children\", \"className\", \"height\", \"preserveAspectRatio\", \"primaryColor\", \"primaryOpacity\", \"rtl\", \"secondaryColor\", \"secondaryOpacity\", \"speed\", \"style\", \"uniquekey\", \"width\"]);\n\n var idClip = uniquekey ? uniquekey + \"-idClip\" : uid();\n var idGradient = uniquekey ? uniquekey + \"-idGradient\" : uid();\n var defautlAnimation = [\"-3; 1\", \"-2; 2\", \"-1; 3\"];\n var rtlAnimation = [\"1; -3\", \"2; -2\", \"3; -1\"];\n var animationValues = rtl ? rtlAnimation : defautlAnimation;\n return createElement(\"svg\", _extends({\n role: \"img\",\n style: style,\n className: className,\n \"aria-labelledby\": ariaLabel ? ariaLabel : null,\n viewBox: \"0 0 \" + width + \" \" + height,\n preserveAspectRatio: preserveAspectRatio\n }, props), ariaLabel ? createElement(\"title\", null, ariaLabel) : null, createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n width: width,\n height: height,\n clipPath: \"url(#\" + idClip + \")\",\n style: {\n fill: \"url(#\" + idGradient + \")\"\n }\n }), createElement(\"defs\", null, createElement(\"clipPath\", {\n id: idClip\n }, children), createElement(\"linearGradient\", {\n id: idGradient\n }, createElement(\"stop\", {\n offset: \"0%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && createElement(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[0],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), createElement(\"stop\", {\n offset: \"50%\",\n stopColor: secondaryColor,\n stopOpacity: secondaryOpacity\n }, animate && createElement(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[1],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })), createElement(\"stop\", {\n offset: \"100%\",\n stopColor: primaryColor,\n stopOpacity: primaryOpacity\n }, animate && createElement(\"animate\", {\n attributeName: \"offset\",\n values: animationValues[2],\n dur: speed + \"s\",\n repeatCount: \"indefinite\"\n })))));\n});\n\nvar defaultProps = {\n animate: true,\n ariaLabel: \"Loading interface...\",\n height: 130,\n preserveAspectRatio: \"xMidYMid meet\",\n primaryColor: \"#f0f0f0\",\n primaryOpacity: 1,\n rtl: false,\n secondaryColor: \"#e0e0e0\",\n secondaryOpacity: 1,\n speed: 2,\n width: 400\n};\n\nvar InitialComponent = function InitialComponent(props) {\n return createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"5\",\n ry: \"5\",\n width: props.width,\n height: props.height\n });\n};\n\nvar Holder = (function (props) {\n var mergedProps = _extends({}, defaultProps, props);\n\n var children = props.children ? props.children : createElement(InitialComponent, mergedProps);\n return createElement(Svg, mergedProps, children);\n});\n\nvar FacebookStyle = function FacebookStyle(props) {\n return createElement(Holder, props, createElement(\"rect\", {\n x: \"70\",\n y: \"15\",\n rx: \"4\",\n ry: \"4\",\n width: \"117\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"70\",\n y: \"35\",\n rx: \"3\",\n ry: \"3\",\n width: \"85\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"350\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"380\",\n height: \"6.4\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"120\",\n rx: \"3\",\n ry: \"3\",\n width: \"201\",\n height: \"6.4\"\n }), createElement(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }));\n};\n\nvar InstagramStyle = function InstagramStyle(props) {\n return createElement(Holder, _extends({}, props, {\n height: 480\n }), createElement(\"circle\", {\n cx: \"30\",\n cy: \"30\",\n r: \"30\"\n }), createElement(\"rect\", {\n x: \"75\",\n y: \"13\",\n rx: \"4\",\n ry: \"4\",\n width: \"100\",\n height: \"13\"\n }), createElement(\"rect\", {\n x: \"75\",\n y: \"37\",\n rx: \"4\",\n ry: \"4\",\n width: \"50\",\n height: \"8\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"70\",\n rx: \"5\",\n ry: \"5\",\n width: \"400\",\n height: \"400\"\n }));\n};\n\nvar CodeStyle = function CodeStyle(props) {\n return createElement(Holder, props, createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"70\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"80\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"100\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"190\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"10\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"15\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"155\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"130\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"15\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"90\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"115\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"185\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"60\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"30\",\n height: \"10\"\n }));\n};\n\nvar ListStyle = function ListStyle(props) {\n return createElement(Holder, props, createElement(\"rect\", {\n x: \"0\",\n y: \"0\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"20\",\n rx: \"3\",\n ry: \"3\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"40\",\n rx: \"3\",\n ry: \"3\",\n width: \"170\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"0\",\n y: \"60\",\n rx: \"3\",\n ry: \"3\",\n width: \"250\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"80\",\n rx: \"3\",\n ry: \"3\",\n width: \"200\",\n height: \"10\"\n }), createElement(\"rect\", {\n x: \"20\",\n y: \"100\",\n rx: \"3\",\n ry: \"3\",\n width: \"80\",\n height: \"10\"\n }));\n};\n\nvar BulletListStyle = function BulletListStyle(props) {\n return createElement(Holder, props, createElement(\"circle\", {\n cx: \"10\",\n cy: \"20\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"15\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"circle\", {\n cx: \"10\",\n cy: \"50\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"45\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"circle\", {\n cx: \"10\",\n cy: \"80\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"75\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }), createElement(\"circle\", {\n cx: \"10\",\n cy: \"110\",\n r: \"8\"\n }), createElement(\"rect\", {\n x: \"25\",\n y: \"105\",\n rx: \"5\",\n ry: \"5\",\n width: \"220\",\n height: \"10\"\n }));\n};\n\nexport default Holder;\nexport { FacebookStyle as Facebook, InstagramStyle as Instagram, CodeStyle as Code, ListStyle as List, BulletListStyle as BulletList };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-content-loader@3.4.2@react-content-loader/dist/react-content-loader.es.js\n// module id = 832\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _colorManipulator = require(\"../styles/colorManipulator\");\n\nvar _ButtonBase = _interopRequireDefault(require(\"../ButtonBase\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n width: 48,\n height: 48,\n padding: 0,\n borderRadius: '50%',\n color: theme.palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n },\n '&$disabled': {\n backgroundColor: 'transparent'\n }\n },\n '&$disabled': {\n color: theme.palette.action.disabled\n }\n },\n colorInherit: {\n color: 'inherit'\n },\n colorPrimary: {\n color: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n colorSecondary: {\n color: theme.palette.secondary.main,\n '&:hover': {\n backgroundColor: (0, _colorManipulator.fade)(theme.palette.secondary.main, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n disabled: {},\n label: {\n width: '100%',\n display: 'flex',\n alignItems: 'inherit',\n justifyContent: 'inherit'\n }\n };\n};\n/**\n * Refer to the [Icons](/style/icons) section of the documentation\n * regarding the available icon options.\n */\n\n\nexports.styles = styles;\n\nfunction IconButton(props) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n className = props.className,\n color = props.color,\n disabled = props.disabled,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"disabled\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames), className),\n centerRipple: true,\n focusRipple: true,\n disabled: disabled\n }, other), _react.default.createElement(\"span\", {\n className: classes.label\n }, children));\n}\n\nIconButton.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The icon element.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'inherit', 'primary', 'secondary']),\n\n /**\n * If `true`, the button will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the ripple will be disabled.\n */\n disableRipple: _propTypes.default.bool\n} : {};\nIconButton.defaultProps = {\n color: 'default',\n disabled: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiIconButton'\n})(IconButton);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/IconButton/IconButton.js\n// module id = 833\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Pager from './Pager';\nimport Options from './Options';\nimport KEYCODE from './KeyCode';\nimport LOCALE from './locale/zh_CN';\nimport { polyfill } from 'react-lifecycles-compat';\n\nfunction noop() {}\n\nfunction isInteger(value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\n\nfunction defaultItemRender(page, type, element) {\n return element;\n}\n\nfunction calculatePage(p, state, props) {\n var pageSize = p;\n if (typeof pageSize === 'undefined') {\n pageSize = state.pageSize;\n }\n return Math.floor((props.total - 1) / pageSize) + 1;\n}\n\nvar Pagination = function (_React$Component) {\n _inherits(Pagination, _React$Component);\n\n function Pagination(props) {\n _classCallCheck(this, Pagination);\n\n var _this = _possibleConstructorReturn(this, (Pagination.__proto__ || Object.getPrototypeOf(Pagination)).call(this, props));\n\n _initialiseProps.call(_this);\n\n var hasOnChange = props.onChange !== noop;\n var hasCurrent = 'current' in props;\n if (hasCurrent && !hasOnChange) {\n console.warn('Warning: You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.'); // eslint-disable-line\n }\n\n var current = props.defaultCurrent;\n if ('current' in props) {\n current = props.current;\n }\n\n var pageSize = props.defaultPageSize;\n if ('pageSize' in props) {\n pageSize = props.pageSize;\n }\n\n _this.state = {\n current: current,\n currentInputValue: current,\n pageSize: pageSize\n };\n return _this;\n }\n\n _createClass(Pagination, [{\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n // When current page change, fix focused style of prev item\n // A hacky solution of https://github.com/ant-design/ant-design/issues/8948\n var prefixCls = this.props.prefixCls;\n\n if (prevState.current !== this.state.current && this.paginationNode) {\n var lastCurrentNode = this.paginationNode.querySelector('.' + prefixCls + '-item-' + prevState.current);\n if (lastCurrentNode && document.activeElement === lastCurrentNode) {\n lastCurrentNode.blur();\n }\n }\n }\n }, {\n key: 'render',\n value: function render() {\n // When hideOnSinglePage is true and there is only 1 page, hide the pager\n if (this.props.hideOnSinglePage === true && this.props.total <= this.state.pageSize) {\n return null;\n }\n\n var props = this.props;\n var locale = props.locale;\n\n var prefixCls = props.prefixCls;\n var allPages = calculatePage(undefined, this.state, this.props);\n var pagerList = [];\n var jumpPrev = null;\n var jumpNext = null;\n var firstPager = null;\n var lastPager = null;\n var gotoButton = null;\n\n var goButton = props.showQuickJumper && props.showQuickJumper.goButton;\n var pageBufferSize = props.showLessItems ? 1 : 2;\n var _state = this.state,\n current = _state.current,\n pageSize = _state.pageSize;\n\n\n var prevPage = current - 1 > 0 ? current - 1 : 0;\n var nextPage = current + 1 < allPages ? current + 1 : allPages;\n\n var dataOrAriaAttributeProps = Object.keys(props).reduce(function (prev, key) {\n if (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role') {\n prev[key] = props[key];\n }\n return prev;\n }, {});\n\n if (props.simple) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = React.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = React.createElement(\n 'span',\n {\n onClick: this.handleGoTO,\n onKeyUp: this.handleGoTO\n },\n goButton\n );\n }\n gotoButton = React.createElement(\n 'li',\n {\n title: props.showTitle ? '' + locale.jump_to + this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n gotoButton\n );\n }\n\n return React.createElement(\n 'ul',\n _extends({\n className: prefixCls + ' ' + prefixCls + '-simple ' + props.className,\n style: props.style,\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterPrev,\n className: (this.hasPrev() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': !this.hasPrev()\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n React.createElement(\n 'li',\n {\n title: props.showTitle ? this.state.current + '/' + allPages : null,\n className: prefixCls + '-simple-pager'\n },\n React.createElement('input', {\n type: 'text',\n value: this.state.currentInputValue,\n onKeyDown: this.handleKeyDown,\n onKeyUp: this.handleKeyUp,\n onChange: this.handleKeyUp,\n size: '3'\n }),\n React.createElement(\n 'span',\n { className: prefixCls + '-slash' },\n '\\uFF0F'\n ),\n allPages\n ),\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: this.hasPrev() ? 0 : null,\n onKeyPress: this.runIfEnterNext,\n className: (this.hasNext() ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': !this.hasNext()\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n gotoButton\n );\n }\n\n if (allPages <= 5 + pageBufferSize * 2) {\n var pagerProps = {\n locale: locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n };\n if (!allPages) {\n pagerList.push(React.createElement(Pager, _extends({}, pagerProps, {\n key: 'noPager',\n page: allPages,\n className: prefixCls + '-disabled'\n })));\n }\n for (var i = 1; i <= allPages; i++) {\n var active = this.state.current === i;\n pagerList.push(React.createElement(Pager, _extends({}, pagerProps, {\n key: i,\n page: i,\n active: active\n })));\n }\n } else {\n var prevItemTitle = props.showLessItems ? locale.prev_3 : locale.prev_5;\n var nextItemTitle = props.showLessItems ? locale.next_3 : locale.next_5;\n if (props.showPrevNextJumpers) {\n var jumpPrevClassString = prefixCls + '-jump-prev';\n if (props.jumpPrevIcon) {\n jumpPrevClassString += ' ' + prefixCls + '-jump-prev-custom-icon';\n }\n jumpPrev = React.createElement(\n 'li',\n {\n title: props.showTitle ? prevItemTitle : null,\n key: 'prev',\n onClick: this.jumpPrev,\n tabIndex: '0',\n onKeyPress: this.runIfEnterJumpPrev,\n className: jumpPrevClassString\n },\n props.itemRender(this.getJumpPrevPage(), 'jump-prev', this.getItemIcon(props.jumpPrevIcon))\n );\n var jumpNextClassString = prefixCls + '-jump-next';\n if (props.jumpNextIcon) {\n jumpNextClassString += ' ' + prefixCls + '-jump-next-custom-icon';\n }\n jumpNext = React.createElement(\n 'li',\n {\n title: props.showTitle ? nextItemTitle : null,\n key: 'next',\n tabIndex: '0',\n onClick: this.jumpNext,\n onKeyPress: this.runIfEnterJumpNext,\n className: jumpNextClassString\n },\n props.itemRender(this.getJumpNextPage(), 'jump-next', this.getItemIcon(props.jumpNextIcon))\n );\n }\n lastPager = React.createElement(Pager, {\n locale: props.locale,\n last: true,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: allPages,\n page: allPages,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n firstPager = React.createElement(Pager, {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: 1,\n page: 1,\n active: false,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n });\n\n var left = Math.max(1, current - pageBufferSize);\n var right = Math.min(current + pageBufferSize, allPages);\n\n if (current - 1 <= pageBufferSize) {\n right = 1 + pageBufferSize * 2;\n }\n\n if (allPages - current <= pageBufferSize) {\n left = allPages - pageBufferSize * 2;\n }\n\n for (var _i = left; _i <= right; _i++) {\n var _active = current === _i;\n pagerList.push(React.createElement(Pager, {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n onClick: this.handleChange,\n onKeyPress: this.runIfEnter,\n key: _i,\n page: _i,\n active: _active,\n showTitle: props.showTitle,\n itemRender: props.itemRender\n }));\n }\n\n if (current - 1 >= pageBufferSize * 2 && current !== 1 + 2) {\n pagerList[0] = React.cloneElement(pagerList[0], {\n className: prefixCls + '-item-after-jump-prev'\n });\n pagerList.unshift(jumpPrev);\n }\n if (allPages - current >= pageBufferSize * 2 && current !== allPages - 2) {\n pagerList[pagerList.length - 1] = React.cloneElement(pagerList[pagerList.length - 1], {\n className: prefixCls + '-item-before-jump-next'\n });\n pagerList.push(jumpNext);\n }\n\n if (left !== 1) {\n pagerList.unshift(firstPager);\n }\n if (right !== allPages) {\n pagerList.push(lastPager);\n }\n }\n\n var totalText = null;\n\n if (props.showTotal) {\n totalText = React.createElement(\n 'li',\n { className: prefixCls + '-total-text' },\n props.showTotal(props.total, [(current - 1) * pageSize + 1, current * pageSize > props.total ? props.total : current * pageSize])\n );\n }\n var prevDisabled = !this.hasPrev() || !allPages;\n var nextDisabled = !this.hasNext() || !allPages;\n return React.createElement(\n 'ul',\n _extends({\n className: prefixCls + ' ' + props.className,\n style: props.style,\n unselectable: 'unselectable',\n ref: this.savePaginationNode\n }, dataOrAriaAttributeProps),\n totalText,\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.prev_page : null,\n onClick: this.prev,\n tabIndex: prevDisabled ? null : 0,\n onKeyPress: this.runIfEnterPrev,\n className: (!prevDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-prev',\n 'aria-disabled': prevDisabled\n },\n props.itemRender(prevPage, 'prev', this.getItemIcon(props.prevIcon))\n ),\n pagerList,\n React.createElement(\n 'li',\n {\n title: props.showTitle ? locale.next_page : null,\n onClick: this.next,\n tabIndex: nextDisabled ? null : 0,\n onKeyPress: this.runIfEnterNext,\n className: (!nextDisabled ? '' : prefixCls + '-disabled') + ' ' + prefixCls + '-next',\n 'aria-disabled': nextDisabled\n },\n props.itemRender(nextPage, 'next', this.getItemIcon(props.nextIcon))\n ),\n React.createElement(Options, {\n locale: props.locale,\n rootPrefixCls: prefixCls,\n selectComponentClass: props.selectComponentClass,\n selectPrefixCls: props.selectPrefixCls,\n changeSize: this.props.showSizeChanger ? this.changePageSize : null,\n current: this.state.current,\n pageSize: this.state.pageSize,\n pageSizeOptions: this.props.pageSizeOptions,\n quickGo: this.props.showQuickJumper ? this.handleChange : null,\n goButton: goButton\n })\n );\n }\n }], [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n var newState = {};\n\n if ('current' in props) {\n newState.current = props.current;\n\n if (props.current !== prevState.current) {\n newState.currentInputValue = newState.current;\n }\n }\n\n if ('pageSize' in props && props.pageSize !== prevState.pageSize) {\n var current = prevState.current;\n var newCurrent = calculatePage(props.pageSize, prevState, props);\n current = current > newCurrent ? newCurrent : current;\n\n if (!('current' in props)) {\n newState.current = current;\n newState.currentInputValue = current;\n }\n newState.pageSize = props.pageSize;\n }\n\n return newState;\n }\n\n /**\n * computed icon node that need to be rendered.\n * @param {React.ReactNode | React.ComponentType} icon received icon.\n * @returns {React.ReactNode}\n */\n\n }]);\n\n return Pagination;\n}(React.Component);\n\nPagination.propTypes = {\n prefixCls: PropTypes.string,\n current: PropTypes.number,\n defaultCurrent: PropTypes.number,\n total: PropTypes.number,\n pageSize: PropTypes.number,\n defaultPageSize: PropTypes.number,\n onChange: PropTypes.func,\n hideOnSinglePage: PropTypes.bool,\n showSizeChanger: PropTypes.bool,\n showLessItems: PropTypes.bool,\n onShowSizeChange: PropTypes.func,\n selectComponentClass: PropTypes.func,\n showPrevNextJumpers: PropTypes.bool,\n showQuickJumper: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),\n showTitle: PropTypes.bool,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n showTotal: PropTypes.func,\n locale: PropTypes.object,\n style: PropTypes.object,\n itemRender: PropTypes.func,\n prevIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n nextIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n jumpPrevIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n jumpNextIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node])\n};\nPagination.defaultProps = {\n defaultCurrent: 1,\n total: 0,\n defaultPageSize: 10,\n onChange: noop,\n className: '',\n selectPrefixCls: 'rc-select',\n prefixCls: 'rc-pagination',\n selectComponentClass: null,\n hideOnSinglePage: false,\n showPrevNextJumpers: true,\n showQuickJumper: false,\n showSizeChanger: false,\n showLessItems: false,\n showTitle: true,\n onShowSizeChange: noop,\n locale: LOCALE,\n style: {},\n itemRender: defaultItemRender\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.getJumpPrevPage = function () {\n return Math.max(1, _this2.state.current - (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getJumpNextPage = function () {\n return Math.min(calculatePage(undefined, _this2.state, _this2.props), _this2.state.current + (_this2.props.showLessItems ? 3 : 5));\n };\n\n this.getItemIcon = function (icon) {\n var prefixCls = _this2.props.prefixCls;\n\n var iconNode = icon || React.createElement('a', { className: prefixCls + '-item-link' });\n if (typeof icon === 'function') {\n iconNode = React.createElement(icon, _extends({}, _this2.props));\n }\n return iconNode;\n };\n\n this.savePaginationNode = function (node) {\n _this2.paginationNode = node;\n };\n\n this.isValid = function (page) {\n return isInteger(page) && page >= 1 && page !== _this2.state.current;\n };\n\n this.handleKeyDown = function (e) {\n if (e.keyCode === KEYCODE.ARROW_UP || e.keyCode === KEYCODE.ARROW_DOWN) {\n e.preventDefault();\n }\n };\n\n this.handleKeyUp = function (e) {\n var inputValue = e.target.value;\n var currentInputValue = _this2.state.currentInputValue;\n var value = void 0;\n\n if (inputValue === '') {\n value = inputValue;\n } else if (isNaN(Number(inputValue))) {\n value = currentInputValue;\n } else {\n value = Number(inputValue);\n }\n\n if (value !== currentInputValue) {\n _this2.setState({\n currentInputValue: value\n });\n }\n\n if (e.keyCode === KEYCODE.ENTER) {\n _this2.handleChange(value);\n } else if (e.keyCode === KEYCODE.ARROW_UP) {\n _this2.handleChange(value - 1);\n } else if (e.keyCode === KEYCODE.ARROW_DOWN) {\n _this2.handleChange(value + 1);\n }\n };\n\n this.changePageSize = function (size) {\n var current = _this2.state.current;\n var newCurrent = calculatePage(size, _this2.state, _this2.props);\n current = current > newCurrent ? newCurrent : current;\n // fix the issue:\n // Once 'total' is 0, 'current' in 'onShowSizeChange' is 0, which is not correct.\n if (newCurrent === 0) {\n current = _this2.state.current;\n }\n\n if (typeof size === 'number') {\n if (!('pageSize' in _this2.props)) {\n _this2.setState({\n pageSize: size\n });\n }\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: current,\n currentInputValue: current\n });\n }\n }\n _this2.props.onShowSizeChange(current, size);\n };\n\n this.handleChange = function (p) {\n var page = p;\n if (_this2.isValid(page)) {\n var currentPage = calculatePage(undefined, _this2.state, _this2.props);\n if (page > currentPage) {\n page = currentPage;\n }\n\n if (!('current' in _this2.props)) {\n _this2.setState({\n current: page,\n currentInputValue: page\n });\n }\n\n var pageSize = _this2.state.pageSize;\n _this2.props.onChange(page, pageSize);\n\n return page;\n }\n\n return _this2.state.current;\n };\n\n this.prev = function () {\n if (_this2.hasPrev()) {\n _this2.handleChange(_this2.state.current - 1);\n }\n };\n\n this.next = function () {\n if (_this2.hasNext()) {\n _this2.handleChange(_this2.state.current + 1);\n }\n };\n\n this.jumpPrev = function () {\n _this2.handleChange(_this2.getJumpPrevPage());\n };\n\n this.jumpNext = function () {\n _this2.handleChange(_this2.getJumpNextPage());\n };\n\n this.hasPrev = function () {\n return _this2.state.current > 1;\n };\n\n this.hasNext = function () {\n return _this2.state.current < calculatePage(undefined, _this2.state, _this2.props);\n };\n\n this.runIfEnter = function (event, callback) {\n for (var _len = arguments.length, restParams = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n restParams[_key - 2] = arguments[_key];\n }\n\n if (event.key === 'Enter' || event.charCode === 13) {\n callback.apply(undefined, restParams);\n }\n };\n\n this.runIfEnterPrev = function (e) {\n _this2.runIfEnter(e, _this2.prev);\n };\n\n this.runIfEnterNext = function (e) {\n _this2.runIfEnter(e, _this2.next);\n };\n\n this.runIfEnterJumpPrev = function (e) {\n _this2.runIfEnter(e, _this2.jumpPrev);\n };\n\n this.runIfEnterJumpNext = function (e) {\n _this2.runIfEnter(e, _this2.jumpNext);\n };\n\n this.handleGoTO = function (e) {\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this2.handleChange(_this2.state.currentInputValue);\n }\n };\n};\n\npolyfill(Pagination);\n\nexport default Pagination;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/Pagination.js\n// module id = 834\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/assign.js\n// module id = 835\n// module chunks = 33","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/assign.js\n// module id = 836\n// module chunks = 33","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.assign.js\n// module id = 837\n// module chunks = 33","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_object-assign.js\n// module id = 838\n// module chunks = 33","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/define-property.js\n// module id = 839\n// module chunks = 33","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.define-property.js\n// module id = 840\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/symbol/iterator.js\n// module id = 841\n// module chunks = 33","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/symbol/iterator.js\n// module id = 842\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/symbol.js\n// module id = 843\n// module chunks = 33","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/symbol/index.js\n// module id = 844\n// module chunks = 33","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.symbol.js\n// module id = 845\n// module chunks = 33","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_enum-keys.js\n// module id = 846\n// module chunks = 33","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_object-gopn-ext.js\n// module id = 847\n// module chunks = 33","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 848\n// module chunks = 33","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es7.symbol.observable.js\n// module id = 849\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/set-prototype-of.js\n// module id = 850\n// module chunks = 33","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/set-prototype-of.js\n// module id = 851\n// module chunks = 33","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 852\n// module chunks = 33","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/_set-proto.js\n// module id = 853\n// module chunks = 33","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_babel-runtime@6.26.0@babel-runtime/core-js/object/create.js\n// module id = 854\n// module chunks = 33","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/fn/object/create.js\n// module id = 855\n// module chunks = 33","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_core-js@2.6.5@core-js/library/modules/es6.object.create.js\n// module id = 856\n// module chunks = 33","import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Pager = function Pager(props) {\n var prefixCls = props.rootPrefixCls + '-item';\n var cls = prefixCls + ' ' + prefixCls + '-' + props.page;\n\n if (props.active) {\n cls = cls + ' ' + prefixCls + '-active';\n }\n\n if (props.className) {\n cls = cls + ' ' + props.className;\n }\n\n if (!props.page) {\n cls = cls + ' ' + prefixCls + '-disabled';\n }\n\n var handleClick = function handleClick() {\n props.onClick(props.page);\n };\n\n var handleKeyPress = function handleKeyPress(e) {\n props.onKeyPress(e, props.onClick, props.page);\n };\n\n return React.createElement(\n 'li',\n {\n title: props.showTitle ? props.page : null,\n className: cls,\n onClick: handleClick,\n onKeyPress: handleKeyPress,\n tabIndex: '0'\n },\n props.itemRender(props.page, 'page', React.createElement(\n 'a',\n null,\n props.page\n ))\n );\n};\n\nPager.propTypes = {\n page: PropTypes.number,\n active: PropTypes.bool,\n last: PropTypes.bool,\n locale: PropTypes.object,\n className: PropTypes.string,\n showTitle: PropTypes.bool,\n rootPrefixCls: PropTypes.string,\n onClick: PropTypes.func,\n onKeyPress: PropTypes.func,\n itemRender: PropTypes.func\n};\n\nexport default Pager;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/Pager.js\n// module id = 857\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport KEYCODE from './KeyCode';\n\nvar Options = function (_React$Component) {\n _inherits(Options, _React$Component);\n\n function Options(props) {\n _classCallCheck(this, Options);\n\n var _this = _possibleConstructorReturn(this, (Options.__proto__ || Object.getPrototypeOf(Options)).call(this, props));\n\n _this.buildOptionText = function (value) {\n return value + ' ' + _this.props.locale.items_per_page;\n };\n\n _this.changeSize = function (value) {\n _this.props.changeSize(Number(value));\n };\n\n _this.handleChange = function (e) {\n _this.setState({\n goInputText: e.target.value\n });\n };\n\n _this.go = function (e) {\n var val = _this.state.goInputText;\n if (val === '') {\n return;\n }\n val = isNaN(val) ? _this.props.current : Number(val);\n if (e.keyCode === KEYCODE.ENTER || e.type === 'click') {\n _this.setState({\n goInputText: ''\n });\n _this.props.quickGo(val);\n }\n };\n\n _this.state = {\n goInputText: ''\n };\n return _this;\n }\n\n _createClass(Options, [{\n key: 'render',\n value: function render() {\n var props = this.props;\n var state = this.state;\n var locale = props.locale;\n var prefixCls = props.rootPrefixCls + '-options';\n var changeSize = props.changeSize;\n var quickGo = props.quickGo;\n var goButton = props.goButton;\n var buildOptionText = props.buildOptionText || this.buildOptionText;\n var Select = props.selectComponentClass;\n var changeSelect = null;\n var goInput = null;\n var gotoButton = null;\n\n if (!(changeSize || quickGo)) {\n return null;\n }\n\n if (changeSize && Select) {\n var Option = Select.Option;\n var pageSize = props.pageSize || props.pageSizeOptions[0];\n var options = props.pageSizeOptions.map(function (opt, i) {\n return React.createElement(\n Option,\n { key: i, value: opt },\n buildOptionText(opt)\n );\n });\n\n changeSelect = React.createElement(\n Select,\n {\n prefixCls: props.selectPrefixCls,\n showSearch: false,\n className: prefixCls + '-size-changer',\n optionLabelProp: 'children',\n dropdownMatchSelectWidth: false,\n value: pageSize.toString(),\n onChange: this.changeSize,\n getPopupContainer: function getPopupContainer(triggerNode) {\n return triggerNode.parentNode;\n }\n },\n options\n );\n }\n\n if (quickGo) {\n if (goButton) {\n if (typeof goButton === 'boolean') {\n gotoButton = React.createElement(\n 'button',\n {\n type: 'button',\n onClick: this.go,\n onKeyUp: this.go\n },\n locale.jump_to_confirm\n );\n } else {\n gotoButton = React.createElement(\n 'span',\n {\n onClick: this.go,\n onKeyUp: this.go\n },\n goButton\n );\n }\n }\n goInput = React.createElement(\n 'div',\n { className: prefixCls + '-quick-jumper' },\n locale.jump_to,\n React.createElement('input', {\n type: 'text',\n value: state.goInputText,\n onChange: this.handleChange,\n onKeyUp: this.go\n }),\n locale.page,\n gotoButton\n );\n }\n\n return React.createElement(\n 'li',\n { className: '' + prefixCls },\n changeSelect,\n goInput\n );\n }\n }]);\n\n return Options;\n}(React.Component);\n\nOptions.propTypes = {\n changeSize: PropTypes.func,\n quickGo: PropTypes.func,\n selectComponentClass: PropTypes.func,\n current: PropTypes.number,\n pageSizeOptions: PropTypes.arrayOf(PropTypes.string),\n pageSize: PropTypes.number,\n buildOptionText: PropTypes.func,\n locale: PropTypes.object\n};\nOptions.defaultProps = {\n pageSizeOptions: ['10', '20', '30', '40']\n};\n\n\nexport default Options;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/Options.js\n// module id = 858\n// module chunks = 33","export default {\n // Options.jsx\n items_per_page: '条/页',\n jump_to: '跳至',\n jump_to_confirm: '确定',\n page: '页',\n\n // Pagination.jsx\n prev_page: '上一页',\n next_page: '下一页',\n prev_5: '向前 5 页',\n next_5: '向后 5 页',\n prev_3: '向前 3 页',\n next_3: '向后 3 页'\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-pagination@1.17.8@rc-pagination/es/locale/zh_CN.js\n// module id = 859\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _debounce = _interopRequireDefault(require(\"lodash/debounce\"));\n\nvar _reactEventListener = _interopRequireDefault(require(\"react-event-listener\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar ROWS_HEIGHT = 19;\nvar styles = {\n root: {\n position: 'relative',\n // because the shadow has position: 'absolute',\n width: '100%'\n },\n textarea: {\n width: '100%',\n height: '100%',\n resize: 'none',\n font: 'inherit',\n padding: 0,\n cursor: 'inherit',\n boxSizing: 'border-box',\n lineHeight: 'inherit',\n border: 'none',\n outline: 'none',\n background: 'transparent'\n },\n shadow: {\n resize: 'none',\n // Overflow also needed to here to remove the extra row\n // added to textareas in Firefox.\n overflow: 'hidden',\n // Visibility needed to hide the extra text area on ipads\n visibility: 'hidden',\n position: 'absolute',\n height: 'auto',\n whiteSpace: 'pre-wrap'\n }\n};\n/**\n * @ignore - internal component.\n */\n\nexports.styles = styles;\n\nvar Textarea =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Textarea, _React$Component);\n\n function Textarea(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, Textarea);\n _this = (0, _possibleConstructorReturn2.default)(this, (Textarea.__proto__ || (0, _getPrototypeOf.default)(Textarea)).call(this, props, context)); // expects the components it renders to respond to 'value'\n // so that it can check whether they are filled.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n height: null\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"shadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"singlelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"input\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"value\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n _this.syncHeightWithShadow();\n }, 166)\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefInput\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.input = node;\n\n if (_this.props.textareaRef) {\n _this.props.textareaRef(node);\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefSinglelineShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.singlelineShadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleRefShadow\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.shadow = node;\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleChange\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.value = event.target.value;\n\n if (typeof _this.props.value === 'undefined' && _this.shadow) {\n // The component is not controlled, we need to update the shallow value.\n _this.shadow.value = _this.value;\n\n _this.syncHeightWithShadow();\n }\n\n if (_this.props.onChange) {\n _this.props.onChange(event);\n }\n }\n });\n _this.value = props.value || props.defaultValue || '';\n _this.state = {\n height: Number(props.rows) * ROWS_HEIGHT\n };\n return _this;\n }\n\n (0, _createClass2.default)(Textarea, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.syncHeightWithShadow();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.handleResize.cancel();\n }\n }, {\n key: \"syncHeightWithShadow\",\n // Corresponds to 10 frames at 60 Hz.\n value: function syncHeightWithShadow() {\n var props = this.props;\n\n if (!this.shadow || !this.singlelineShadow) {\n return;\n } // The component is controlled, we need to update the shallow value.\n\n\n if (typeof props.value !== 'undefined') {\n this.shadow.value = props.value == null ? '' : String(props.value);\n }\n\n var lineHeight = this.singlelineShadow.scrollHeight;\n var newHeight = this.shadow.scrollHeight; // Guarding for jsdom, where scrollHeight isn't present.\n // See https://github.com/tmpvar/jsdom/issues/1013\n\n if (newHeight === undefined) {\n return;\n }\n\n if (Number(props.rowsMax) >= Number(props.rows)) {\n newHeight = Math.min(Number(props.rowsMax) * lineHeight, newHeight);\n }\n\n newHeight = Math.max(newHeight, lineHeight); // Need a large enough different to update the height.\n // This prevents infinite rendering loop.\n\n if (Math.abs(this.state.height - newHeight) > 1) {\n this.setState({\n height: newHeight\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n defaultValue = _props.defaultValue,\n onChange = _props.onChange,\n rows = _props.rows,\n rowsMax = _props.rowsMax,\n textareaRef = _props.textareaRef,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"defaultValue\", \"onChange\", \"rows\", \"rowsMax\", \"textareaRef\", \"value\"]);\n return _react.default.createElement(\"div\", {\n className: classes.root,\n style: {\n height: this.state.height\n }\n }, _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefSinglelineShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: \"1\",\n readOnly: true,\n \"aria-hidden\": \"true\",\n value: \"\"\n }), _react.default.createElement(\"textarea\", {\n ref: this.handleRefShadow,\n className: (0, _classnames.default)(classes.shadow, classes.textarea),\n tabIndex: -1,\n rows: rows,\n \"aria-hidden\": \"true\",\n readOnly: true,\n defaultValue: defaultValue,\n value: value\n }), _react.default.createElement(\"textarea\", (0, _extends2.default)({\n rows: rows,\n className: (0, _classnames.default)(classes.textarea, className),\n defaultValue: defaultValue,\n value: value,\n onChange: this.handleChange,\n ref: this.handleRefInput\n }, other)));\n }\n }]);\n return Textarea;\n}(_react.default.Component);\n\nTextarea.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * @ignore\n */\n defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * @ignore\n */\n disabled: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onChange: _propTypes.default.func,\n\n /**\n * Number of rows to display when multiline option is set to true.\n */\n rows: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Maximum number of rows to display when multiline option is set to true.\n */\n rowsMax: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),\n\n /**\n * Use that property to pass a ref callback to the native textarea element.\n */\n textareaRef: _propTypes.default.func,\n\n /**\n * @ignore\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])\n} : {};\nTextarea.defaultProps = {\n rows: 1\n};\n\nvar _default = (0, _withStyles.default)(styles)(Textarea);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Input/Textarea.js\n// module id = 861\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'flex',\n maxHeight: '2em',\n alignItems: 'center'\n },\n positionStart: {\n marginRight: theme.spacing.unit\n },\n positionEnd: {\n marginLeft: theme.spacing.unit\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputAdornment(props) {\n var _classNames;\n\n var children = props.children,\n Component = props.component,\n classes = props.classes,\n className = props.className,\n disableTypography = props.disableTypography,\n position = props.position,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"component\", \"classes\", \"className\", \"disableTypography\", \"position\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.positionStart, position === 'start'), (0, _defineProperty2.default)(_classNames, classes.positionEnd, position === 'end'), _classNames), className)\n }, other), typeof children === 'string' && !disableTypography ? _react.default.createElement(_Typography.default, {\n color: \"textSecondary\"\n }, children) : children);\n}\n\nInputAdornment.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: _propTypes.default.oneOf(['start', 'end'])\n} : {};\nInputAdornment.defaultProps = {\n component: 'div',\n disableTypography: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputAdornment'\n})(InputAdornment);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Input/InputAdornment.js\n// module id = 862\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Form = require(\"../Form\");\n\n// @inheritedComponent FormLabel\nvar styles = function styles(theme) {\n return {\n root: {\n transformOrigin: 'top left'\n },\n formControl: {\n position: 'absolute',\n left: 0,\n top: 0,\n // slight alteration to spec spacing to match visual spec result\n transform: \"translate(0, \".concat(theme.spacing.unit * 3, \"px) scale(1)\")\n },\n marginDense: {\n // Compensation for the `Input.inputDense` style.\n transform: \"translate(0, \".concat(theme.spacing.unit * 2.5 + 1, \"px) scale(1)\")\n },\n shrink: {\n transform: 'translate(0, 1.5px) scale(0.75)',\n transformOrigin: 'top left'\n },\n animated: {\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut\n })\n }\n };\n};\n\nexports.styles = styles;\n\nfunction InputLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableAnimation = props.disableAnimation,\n FormLabelClasses = props.FormLabelClasses,\n marginProp = props.margin,\n shrinkProp = props.shrink,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableAnimation\", \"FormLabelClasses\", \"margin\", \"shrink\"]);\n var muiFormControl = context.muiFormControl;\n var shrink = shrinkProp;\n\n if (typeof shrink === 'undefined' && muiFormControl) {\n shrink = muiFormControl.filled || muiFormControl.focused || muiFormControl.adornedStart;\n }\n\n var margin = marginProp;\n\n if (typeof margin === 'undefined' && muiFormControl) {\n margin = muiFormControl.margin;\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.formControl, muiFormControl), (0, _defineProperty2.default)(_classNames, classes.animated, !disableAnimation), (0, _defineProperty2.default)(_classNames, classes.shrink, shrink), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(_Form.FormLabel, (0, _extends2.default)({\n \"data-shrink\": shrink,\n className: className,\n classes: FormLabelClasses\n }, other), children);\n}\n\nInputLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The contents of the `InputLabel`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the transition animation is disabled.\n */\n disableAnimation: _propTypes.default.bool,\n\n /**\n * If `true`, apply disabled class.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label will be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused.\n */\n focused: _propTypes.default.bool,\n\n /**\n * `classes` property applied to the `FormLabel` element.\n */\n FormLabelClasses: _propTypes.default.object,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense']),\n\n /**\n * if `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool,\n\n /**\n * If `true`, the label is shrunk.\n */\n shrink: _propTypes.default.bool\n} : {};\nInputLabel.defaultProps = {\n disableAnimation: false\n};\nInputLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiInputLabel'\n})(InputLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Input/InputLabel.js\n// module id = 863\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n fontFamily: theme.typography.fontFamily,\n color: theme.palette.text.secondary,\n fontSize: theme.typography.pxToRem(16),\n lineHeight: 1,\n padding: 0,\n '&$focused': {\n color: theme.palette.primary[theme.palette.type === 'light' ? 'dark' : 'light']\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n },\n '&$error': {\n color: theme.palette.error.main\n }\n },\n focused: {},\n disabled: {},\n error: {},\n asterisk: {\n '&$error': {\n color: theme.palette.error.main\n }\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormLabel(props, context) {\n var _classNames;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n disabledProp = props.disabled,\n errorProp = props.error,\n focusedProp = props.focused,\n requiredProp = props.required,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"component\", \"disabled\", \"error\", \"focused\", \"required\"]);\n var muiFormControl = context.muiFormControl;\n var required = requiredProp;\n var focused = focusedProp;\n var disabled = disabledProp;\n var error = errorProp;\n\n if (muiFormControl) {\n if (typeof required === 'undefined') {\n required = muiFormControl.required;\n }\n\n if (typeof focused === 'undefined') {\n focused = muiFormControl.focused;\n }\n\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), children, required && _react.default.createElement(\"span\", {\n className: (0, _classnames.default)(classes.asterisk, (0, _defineProperty2.default)({}, classes.error, error))\n }, \"\\u2009*\"));\n}\n\nFormLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: _propTypes.default.bool,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormLabel.defaultProps = {\n component: 'label'\n};\nFormLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormLabel'\n})(FormLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormLabel.js\n// module id = 864\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Input = require(\"../Input/Input\");\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar _reactHelpers = require(\"../utils/reactHelpers\");\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0\n },\n marginNormal: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit\n },\n marginDense: {\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit / 2\n },\n fullWidth: {\n width: '100%'\n }\n };\n};\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibilty and ensures that the state always stay\n * consitent across the children of the `FormControl`.\n * This context is used by the following components:\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n */\n\n\nexports.styles = styles;\n\nvar FormControl =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(FormControl, _React$Component);\n\n function FormControl(props, context) {\n var _this;\n\n (0, _classCallCheck2.default)(this, FormControl);\n _this = (0, _possibleConstructorReturn2.default)(this, (FormControl.__proto__ || (0, _getPrototypeOf.default)(FormControl)).call(this, props, context)); // We need to iterate through the children and find the Input in order\n // to fully support server side rendering.\n\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n adornedStart: false,\n filled: false,\n focused: false\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleFocus\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.setState(function (state) {\n return !state.focused ? {\n focused: true\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // The event might be undefined.\n // For instance, a child component might call this hook\n // when an input is disabled but still having the focus.\n if (_this.props.onBlur && event) {\n _this.props.onBlur(event);\n }\n\n _this.setState(function (state) {\n return state.focused ? {\n focused: false\n } : null;\n });\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDirty\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (!_this.state.filled) {\n _this.setState({\n filled: true\n });\n }\n }\n });\n Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClean\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n if (_this.state.filled) {\n _this.setState({\n filled: false\n });\n }\n }\n });\n var children = _this.props.children;\n\n if (children) {\n _react.default.Children.forEach(children, function (child) {\n if (!(0, _reactHelpers.isMuiElement)(child, ['Input', 'Select'])) {\n return;\n }\n\n if ((0, _Input.isFilled)(child.props, true)) {\n _this.state.filled = true;\n }\n\n var input = (0, _reactHelpers.isMuiElement)(child, ['Select']) ? child.props.input : child;\n\n if (input && (0, _Input.isAdornedStart)(input.props)) {\n _this.state.adornedStart = true;\n }\n });\n }\n\n return _this;\n }\n\n (0, _createClass2.default)(FormControl, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _props = this.props,\n disabled = _props.disabled,\n error = _props.error,\n required = _props.required,\n margin = _props.margin;\n var _state = this.state,\n adornedStart = _state.adornedStart,\n filled = _state.filled,\n focused = _state.focused;\n return {\n muiFormControl: {\n adornedStart: adornedStart,\n disabled: disabled,\n error: error,\n filled: filled,\n focused: focused,\n margin: margin,\n onBlur: this.handleBlur,\n onEmpty: this.handleClean,\n onFilled: this.handleDirty,\n onFocus: this.handleFocus,\n required: required\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props2 = this.props,\n classes = _props2.classes,\n className = _props2.className,\n Component = _props2.component,\n disabled = _props2.disabled,\n error = _props2.error,\n fullWidth = _props2.fullWidth,\n margin = _props2.margin,\n required = _props2.required,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"classes\", \"className\", \"component\", \"disabled\", \"error\", \"fullWidth\", \"margin\", \"required\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"margin\".concat((0, _helpers.capitalize)(margin))], margin !== 'none'), (0, _defineProperty2.default)(_classNames, classes.fullWidth, fullWidth), _classNames), className)\n }, other, {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }));\n }\n }]);\n return FormControl;\n}(_react.default.Component);\n\nFormControl.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The contents of the form control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the label should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `true`, the component will take up the full width of its container.\n */\n fullWidth: _propTypes.default.bool,\n\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n */\n margin: _propTypes.default.oneOf(['none', 'dense', 'normal']),\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * If `true`, the label will indicate that the input is required.\n */\n required: _propTypes.default.bool\n} : {};\nFormControl.defaultProps = {\n component: 'div',\n disabled: false,\n error: false,\n fullWidth: false,\n margin: 'none',\n required: false\n};\nFormControl.childContextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControl'\n})(FormControl);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormControl.js\n// module id = 865\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(12),\n textAlign: 'left',\n marginTop: theme.spacing.unit,\n lineHeight: '1em',\n minHeight: '1em',\n margin: 0,\n '&$error': {\n color: theme.palette.error.main\n },\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n },\n error: {},\n disabled: {},\n marginDense: {\n marginTop: theme.spacing.unit / 2\n }\n };\n};\n\nexports.styles = styles;\n\nfunction FormHelperText(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n disabledProp = props.disabled,\n errorProp = props.error,\n marginProp = props.margin,\n Component = props.component,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"disabled\", \"error\", \"margin\", \"component\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n var error = errorProp;\n var margin = marginProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n\n if (typeof error === 'undefined') {\n error = muiFormControl.error;\n }\n\n if (typeof margin === 'undefined') {\n margin = muiFormControl.margin;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.error, error), (0, _defineProperty2.default)(_classNames, classes.marginDense, margin === 'dense'), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nFormHelperText.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: _propTypes.default.bool,\n\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: _propTypes.default.oneOf(['dense'])\n} : {};\nFormHelperText.defaultProps = {\n component: 'p'\n};\nFormHelperText.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormHelperText'\n})(FormHelperText);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormHelperText.js\n// module id = 866\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\n/* eslint-disable jsx-a11y/label-has-for */\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n // Remove grey highlight\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -14,\n marginRight: theme.spacing.unit * 2,\n // used for row presentation of radio/checkbox\n '&$disabled': {\n cursor: 'default'\n }\n },\n disabled: {},\n label: {\n '&$disabled': {\n color: theme.palette.text.disabled\n }\n }\n };\n};\n/**\n * Drop in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\n\n\nexports.styles = styles;\n\nfunction FormControlLabel(props, context) {\n var checked = props.checked,\n classes = props.classes,\n classNameProp = props.className,\n control = props.control,\n disabledProp = props.disabled,\n inputRef = props.inputRef,\n label = props.label,\n name = props.name,\n onChange = props.onChange,\n value = props.value,\n other = (0, _objectWithoutProperties2.default)(props, [\"checked\", \"classes\", \"className\", \"control\", \"disabled\", \"inputRef\", \"label\", \"name\", \"onChange\", \"value\"]);\n var muiFormControl = context.muiFormControl;\n var disabled = disabledProp;\n\n if (typeof control.props.disabled !== 'undefined') {\n if (typeof disabled === 'undefined') {\n disabled = control.props.disabled;\n }\n }\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp);\n return _react.default.createElement(\"label\", (0, _extends2.default)({\n className: className\n }, other), _react.default.cloneElement(control, {\n disabled: disabled,\n checked: typeof control.props.checked === 'undefined' ? checked : control.props.checked,\n name: control.props.name || name,\n onChange: control.props.onChange || onChange,\n value: control.props.value || value,\n inputRef: control.props.inputRef || inputRef\n }), _react.default.createElement(_Typography.default, {\n component: \"span\",\n className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.disabled, disabled))\n }, label));\n}\n\nFormControlLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If `true`, the component appears selected.\n */\n checked: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]),\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * A control element. For instance, it can be be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: _propTypes.default.element,\n\n /**\n * If `true`, the control will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * Use that property to pass a ref callback to the native input component.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * The text to be used in an enclosing label element.\n */\n label: _propTypes.default.node,\n\n /*\n * @ignore\n */\n name: _propTypes.default.string,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.checked`.\n * @param {boolean} checked The `checked` value of the switch\n */\n onChange: _propTypes.default.func,\n\n /**\n * The value of the component.\n */\n value: _propTypes.default.string\n} : {};\nFormControlLabel.contextTypes = {\n muiFormControl: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiFormControlLabel'\n})(FormControlLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Form/FormControlLabel.js\n// module id = 867\n// module chunks = 33","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router';\r\n\r\nimport { BrowserRouter as Router, Route, Link, Switch } from \"react-router-dom\";\r\n\r\nimport PropTypes from 'prop-types';\r\n\r\nimport classNames from 'classnames'\r\n\r\nconst $ = window.$;\r\nconst _origin = window.location.origin;\r\n\r\nclass CommentItemKEEditor extends Component {\r\n\r\n\tcomponentDidUpdate(prevProps) {\r\n\t\tconst { item, currentReplyComment } = this.props;\r\n\t\tif ( prevProps.showReplyEditorFlag != this.props.showReplyEditorFlag && \r\n\t\t\tcurrentReplyComment && currentReplyComment.id == item.id ) {\r\n\t\t\tthis.showOrHideEditor(currentReplyComment)\r\n\t\t}\r\n\t}\r\n\t// 如果未初始化,会先初始化\r\n\tshowOrHideEditor = (comment) => {\r\n\t\tconst { user } = this.props;\r\n\t\tconsole.log('initReply ', comment)\r\n\r\n\t\tconst $ = window.$;\r\n\t\tvar id = comment.id\r\n\t\tvar reply_message_el = `#reply_message_${id}`\r\n\t\tvar reply_iconup_el = `#reply_iconup_${id}`\r\n\t\tif($(reply_message_el).html() == \"\") {\r\n\t\t $(\".reply_to_message\").html(\"\");\r\n\t\t $(reply_message_el).html(`
    \\n
    \\\"0?1442652658\\\"<\\/a><\\/div>\\n
    \\n
    \\n
    <\\/div>\\n \\n
    <\\/div>\\n \r\n\t \t
    \r\n\t \t
    调整高度
    \r\n\r\n\t\t \t
    \r\n\t\t 发送\r\n\t\t \t\r\n\t\t
    \r\n\t
    \r\n \t);\r\n \t}\r\n}\r\n\r\nexport default ( CommentItemMDEditor );\r\n\r\n// style={{ margin: '10px 44px', marginBottom: '0px'}}\n\n\n// WEBPACK FOOTER //\n// ./src/modules/comment/CommentItemMDEditor.js","module.exports = __webpack_public_path__ + \"static/media/message.a7af2a8f.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/tpi/message.svg\n// module id = 872\n// module chunks = 33","module.exports = __webpack_public_path__ + \"static/media/messagegrey.8c1dff55.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/images/tpi/messagegrey.svg\n// module id = 873\n// module chunks = 33","'use strict';\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar xtend = require('xtend');\nvar unified = require('unified');\nvar parse = require('remark-parse');\nvar PropTypes = require('prop-types');\nvar addListMetadata = require('mdast-add-list-metadata');\nvar naiveHtml = require('./plugins/naive-html');\nvar disallowNode = require('./plugins/disallow-node');\nvar astToReact = require('./ast-to-react');\nvar wrapTableRows = require('./wrap-table-rows');\nvar getDefinitions = require('./get-definitions');\nvar uriTransformer = require('./uriTransformer');\nvar defaultRenderers = require('./renderers');\n\nvar allTypes = Object.keys(defaultRenderers);\n\nvar ReactMarkdown = function ReactMarkdown(props) {\n var src = props.source || props.children || '';\n\n if (props.allowedTypes && props.disallowedTypes) {\n throw new Error('Only one of `allowedTypes` and `disallowedTypes` should be defined');\n }\n\n var renderers = xtend(defaultRenderers, props.renderers);\n\n var plugins = [parse].concat(props.plugins || []);\n var parser = plugins.reduce(applyParserPlugin, unified());\n\n var rawAst = parser.parse(src);\n var renderProps = xtend(props, {\n renderers: renderers,\n definitions: getDefinitions(rawAst)\n });\n\n var astPlugins = determineAstPlugins(props);\n var ast = astPlugins.reduce(function (node, plugin) {\n return plugin(node, renderProps);\n }, rawAst);\n\n return astToReact(ast, renderProps);\n};\n\nfunction applyParserPlugin(parser, plugin) {\n return Array.isArray(plugin) ? parser.use.apply(parser, _toConsumableArray(plugin)) : parser.use(plugin);\n}\n\nfunction determineAstPlugins(props) {\n var plugins = [wrapTableRows, addListMetadata()];\n\n var disallowedTypes = props.disallowedTypes;\n if (props.allowedTypes) {\n disallowedTypes = allTypes.filter(function (type) {\n return type !== 'root' && props.allowedTypes.indexOf(type) === -1;\n });\n }\n\n var removalMethod = props.unwrapDisallowed ? 'unwrap' : 'remove';\n if (disallowedTypes && disallowedTypes.length > 0) {\n plugins.push(disallowNode.ofType(disallowedTypes, removalMethod));\n }\n\n if (props.allowNode) {\n plugins.push(disallowNode.ifNotMatch(props.allowNode, removalMethod));\n }\n\n var renderHtml = !props.escapeHtml && !props.skipHtml;\n if (renderHtml) {\n plugins.push(naiveHtml);\n }\n\n return props.astPlugins ? plugins.concat(props.astPlugins) : plugins;\n}\n\nReactMarkdown.defaultProps = {\n renderers: {},\n escapeHtml: true,\n skipHtml: false,\n sourcePos: false,\n rawSourcePos: false,\n transformLinkUri: uriTransformer,\n astPlugins: [],\n plugins: []\n};\n\nReactMarkdown.propTypes = {\n className: PropTypes.string,\n source: PropTypes.string,\n children: PropTypes.string,\n sourcePos: PropTypes.bool,\n rawSourcePos: PropTypes.bool,\n escapeHtml: PropTypes.bool,\n skipHtml: PropTypes.bool,\n allowNode: PropTypes.func,\n allowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n disallowedTypes: PropTypes.arrayOf(PropTypes.oneOf(allTypes)),\n transformLinkUri: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),\n linkTarget: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n transformImageUri: PropTypes.func,\n astPlugins: PropTypes.arrayOf(PropTypes.func),\n unwrapDisallowed: PropTypes.bool,\n renderers: PropTypes.object,\n plugins: PropTypes.array\n};\n\nReactMarkdown.types = allTypes;\nReactMarkdown.renderers = defaultRenderers;\nReactMarkdown.uriTransformer = uriTransformer;\n\nmodule.exports = ReactMarkdown;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/react-markdown.js\n// module id = 874\n// module chunks = 33","'use strict'\n\n/* Dependencies. */\nvar extend = require('extend')\nvar bail = require('bail')\nvar vfile = require('vfile')\nvar trough = require('trough')\nvar string = require('x-is-string')\nvar plain = require('is-plain-obj')\n\n/* Expose a frozen processor. */\nmodule.exports = unified().freeze()\n\nvar slice = [].slice\nvar own = {}.hasOwnProperty\n\n/* Process pipeline. */\nvar pipeline = trough()\n .use(pipelineParse)\n .use(pipelineRun)\n .use(pipelineStringify)\n\nfunction pipelineParse(p, ctx) {\n ctx.tree = p.parse(ctx.file)\n}\n\nfunction pipelineRun(p, ctx, next) {\n p.run(ctx.tree, ctx.file, done)\n\n function done(err, tree, file) {\n if (err) {\n next(err)\n } else {\n ctx.tree = tree\n ctx.file = file\n next()\n }\n }\n}\n\nfunction pipelineStringify(p, ctx) {\n ctx.file.contents = p.stringify(ctx.tree, ctx.file)\n}\n\n/* Function to create the first processor. */\nfunction unified() {\n var attachers = []\n var transformers = trough()\n var namespace = {}\n var frozen = false\n var freezeIndex = -1\n\n /* Data management. */\n processor.data = data\n\n /* Lock. */\n processor.freeze = freeze\n\n /* Plug-ins. */\n processor.attachers = attachers\n processor.use = use\n\n /* API. */\n processor.parse = parse\n processor.stringify = stringify\n processor.run = run\n processor.runSync = runSync\n processor.process = process\n processor.processSync = processSync\n\n /* Expose. */\n return processor\n\n /* Create a new processor based on the processor\n * in the current scope. */\n function processor() {\n var destination = unified()\n var length = attachers.length\n var index = -1\n\n while (++index < length) {\n destination.use.apply(null, attachers[index])\n }\n\n destination.data(extend(true, {}, namespace))\n\n return destination\n }\n\n /* Freeze: used to signal a processor that has finished\n * configuration.\n *\n * For example, take unified itself. It’s frozen.\n * Plug-ins should not be added to it. Rather, it should\n * be extended, by invoking it, before modifying it.\n *\n * In essence, always invoke this when exporting a\n * processor. */\n function freeze() {\n var values\n var plugin\n var options\n var transformer\n\n if (frozen) {\n return processor\n }\n\n while (++freezeIndex < attachers.length) {\n values = attachers[freezeIndex]\n plugin = values[0]\n options = values[1]\n transformer = null\n\n if (options === false) {\n continue\n }\n\n if (options === true) {\n values[1] = undefined\n }\n\n transformer = plugin.apply(processor, values.slice(1))\n\n if (typeof transformer === 'function') {\n transformers.use(transformer)\n }\n }\n\n frozen = true\n freezeIndex = Infinity\n\n return processor\n }\n\n /* Data management.\n * Getter / setter for processor-specific informtion. */\n function data(key, value) {\n if (string(key)) {\n /* Set `key`. */\n if (arguments.length === 2) {\n assertUnfrozen('data', frozen)\n\n namespace[key] = value\n\n return processor\n }\n\n /* Get `key`. */\n return (own.call(namespace, key) && namespace[key]) || null\n }\n\n /* Set space. */\n if (key) {\n assertUnfrozen('data', frozen)\n namespace = key\n return processor\n }\n\n /* Get space. */\n return namespace\n }\n\n /* Plug-in management.\n *\n * Pass it:\n * * an attacher and options,\n * * a preset,\n * * a list of presets, attachers, and arguments (list\n * of attachers and options). */\n function use(value) {\n var settings\n\n assertUnfrozen('use', frozen)\n\n if (value === null || value === undefined) {\n /* Empty */\n } else if (typeof value === 'function') {\n addPlugin.apply(null, arguments)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addList(value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n\n if (settings) {\n namespace.settings = extend(namespace.settings || {}, settings)\n }\n\n return processor\n\n function addPreset(result) {\n addList(result.plugins)\n\n if (result.settings) {\n settings = extend(settings || {}, result.settings)\n }\n }\n\n function add(value) {\n if (typeof value === 'function') {\n addPlugin(value)\n } else if (typeof value === 'object') {\n if ('length' in value) {\n addPlugin.apply(null, value)\n } else {\n addPreset(value)\n }\n } else {\n throw new Error('Expected usable value, not `' + value + '`')\n }\n }\n\n function addList(plugins) {\n var length\n var index\n\n if (plugins === null || plugins === undefined) {\n /* Empty */\n } else if (typeof plugins === 'object' && 'length' in plugins) {\n length = plugins.length\n index = -1\n\n while (++index < length) {\n add(plugins[index])\n }\n } else {\n throw new Error('Expected a list of plugins, not `' + plugins + '`')\n }\n }\n\n function addPlugin(plugin, value) {\n var entry = find(plugin)\n\n if (entry) {\n if (plain(entry[1]) && plain(value)) {\n value = extend(entry[1], value)\n }\n\n entry[1] = value\n } else {\n attachers.push(slice.call(arguments))\n }\n }\n }\n\n function find(plugin) {\n var length = attachers.length\n var index = -1\n var entry\n\n while (++index < length) {\n entry = attachers[index]\n\n if (entry[0] === plugin) {\n return entry\n }\n }\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the\n * processor. */\n function parse(doc) {\n var file = vfile(doc)\n var Parser\n\n freeze()\n Parser = processor.Parser\n assertParser('parse', Parser)\n\n if (newable(Parser)) {\n return new Parser(String(file), file).parse()\n }\n\n return Parser(String(file), file) // eslint-disable-line new-cap\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), async. */\n function run(node, file, cb) {\n assertNode(node)\n freeze()\n\n if (!cb && typeof file === 'function') {\n cb = file\n file = null\n }\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n transformers.run(node, vfile(file), done)\n\n function done(err, tree, file) {\n tree = tree || node\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(tree)\n } else {\n cb(null, tree, file)\n }\n }\n }\n }\n\n /* Run transforms on a Unist node representation of a file\n * (in string or VFile representation), sync. */\n function runSync(node, file) {\n var complete = false\n var result\n\n run(node, file, done)\n\n assertDone('runSync', 'run', complete)\n\n return result\n\n function done(err, tree) {\n complete = true\n bail(err)\n result = tree\n }\n }\n\n /* Stringify a Unist node representation of a file\n * (in string or VFile representation) into a string\n * using the `Compiler` on the processor. */\n function stringify(node, doc) {\n var file = vfile(doc)\n var Compiler\n\n freeze()\n Compiler = processor.Compiler\n assertCompiler('stringify', Compiler)\n assertNode(node)\n\n if (newable(Compiler)) {\n return new Compiler(node, file).compile()\n }\n\n return Compiler(node, file) // eslint-disable-line new-cap\n }\n\n /* Parse a file (in string or VFile representation)\n * into a Unist node using the `Parser` on the processor,\n * then run transforms on that node, and compile the\n * resulting node using the `Compiler` on the processor,\n * and store that result on the VFile. */\n function process(doc, cb) {\n freeze()\n assertParser('process', processor.Parser)\n assertCompiler('process', processor.Compiler)\n\n if (!cb) {\n return new Promise(executor)\n }\n\n executor(null, cb)\n\n function executor(resolve, reject) {\n var file = vfile(doc)\n\n pipeline.run(processor, {file: file}, done)\n\n function done(err) {\n if (err) {\n reject(err)\n } else if (resolve) {\n resolve(file)\n } else {\n cb(null, file)\n }\n }\n }\n }\n\n /* Process the given document (in string or VFile\n * representation), sync. */\n function processSync(doc) {\n var complete = false\n var file\n\n freeze()\n assertParser('processSync', processor.Parser)\n assertCompiler('processSync', processor.Compiler)\n file = vfile(doc)\n\n process(file, done)\n\n assertDone('processSync', 'process', complete)\n\n return file\n\n function done(err) {\n complete = true\n bail(err)\n }\n }\n}\n\n/* Check if `func` is a constructor. */\nfunction newable(value) {\n return typeof value === 'function' && keys(value.prototype)\n}\n\n/* Check if `value` is an object with keys. */\nfunction keys(value) {\n var key\n for (key in value) {\n return true\n }\n return false\n}\n\n/* Assert a parser is available. */\nfunction assertParser(name, Parser) {\n if (typeof Parser !== 'function') {\n throw new Error('Cannot `' + name + '` without `Parser`')\n }\n}\n\n/* Assert a compiler is available. */\nfunction assertCompiler(name, Compiler) {\n if (typeof Compiler !== 'function') {\n throw new Error('Cannot `' + name + '` without `Compiler`')\n }\n}\n\n/* Assert the processor is not frozen. */\nfunction assertUnfrozen(name, frozen) {\n if (frozen) {\n throw new Error(\n [\n 'Cannot invoke `' + name + '` on a frozen processor.\\nCreate a new ',\n 'processor first, by invoking it: use `processor()` instead of ',\n '`processor`.'\n ].join('')\n )\n }\n}\n\n/* Assert `node` is a Unist node. */\nfunction assertNode(node) {\n if (!node || !string(node.type)) {\n throw new Error('Expected node, got `' + node + '`')\n }\n}\n\n/* Assert that `complete` is `true`. */\nfunction assertDone(name, asyncName, complete) {\n if (!complete) {\n throw new Error(\n '`' + name + '` finished async. Use `' + asyncName + '` instead'\n )\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unified@6.2.0@unified/index.js\n// module id = 875\n// module chunks = 33","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_extend@3.0.2@extend/index.js\n// module id = 876\n// module chunks = 33","'use strict'\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_bail@1.0.3@bail/index.js\n// module id = 877\n// module chunks = 33","'use strict';\n\nvar VMessage = require('vfile-message');\nvar VFile = require('./core.js');\n\nmodule.exports = VFile;\n\nvar proto = VFile.prototype;\n\nproto.message = message;\nproto.info = info;\nproto.fail = fail;\n\n/* Slight backwards compatibility. Remove in the future. */\nproto.warn = message;\n\n/* Create a message with `reason` at `position`.\n * When an error is passed in as `reason`, copies the stack. */\nfunction message(reason, position, origin) {\n var filePath = this.path;\n var message = new VMessage(reason, position, origin);\n\n if (filePath) {\n message.name = filePath + ':' + message.name;\n message.file = filePath;\n }\n\n message.fatal = false;\n\n this.messages.push(message);\n\n return message;\n}\n\n/* Fail. Creates a vmessage, associates it with the file,\n * and throws it. */\nfunction fail() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = true;\n\n throw message;\n}\n\n/* Info. Creates a vmessage, associates it with the file,\n * and marks the fatality as null. */\nfunction info() {\n var message = this.message.apply(this, arguments);\n\n message.fatal = null;\n\n return message;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile@2.3.0@vfile/index.js\n// module id = 878\n// module chunks = 33","'use strict'\n\nvar stringify = require('unist-util-stringify-position')\n\nmodule.exports = VMessage\n\n// Inherit from `Error#`.\nfunction VMessagePrototype() {}\nVMessagePrototype.prototype = Error.prototype\nVMessage.prototype = new VMessagePrototype()\n\n// Message properties.\nvar proto = VMessage.prototype\n\nproto.file = ''\nproto.name = ''\nproto.reason = ''\nproto.message = ''\nproto.stack = ''\nproto.fatal = null\nproto.column = null\nproto.line = null\n\n// Construct a new VMessage.\n//\n// Note: We cannot invoke `Error` on the created context, as that adds readonly\n// `line` and `column` attributes on Safari 9, thus throwing and failing the\n// data.\nfunction VMessage(reason, position, origin) {\n var parts\n var range\n var location\n\n if (typeof position === 'string') {\n origin = position\n position = null\n }\n\n parts = parseOrigin(origin)\n range = stringify(position) || '1:1'\n\n location = {\n start: {line: null, column: null},\n end: {line: null, column: null}\n }\n\n // Node.\n if (position && position.position) {\n position = position.position\n }\n\n if (position) {\n // Position.\n if (position.start) {\n location = position\n position = position.start\n } else {\n // Point.\n location.start = position\n }\n }\n\n if (reason.stack) {\n this.stack = reason.stack\n reason = reason.message\n }\n\n this.message = reason\n this.name = range\n this.reason = reason\n this.line = position ? position.line : null\n this.column = position ? position.column : null\n this.location = location\n this.source = parts[0]\n this.ruleId = parts[1]\n}\n\nfunction parseOrigin(origin) {\n var result = [null, null]\n var index\n\n if (typeof origin === 'string') {\n index = origin.indexOf(':')\n\n if (index === -1) {\n result[1] = origin\n } else {\n result[0] = origin.slice(0, index)\n result[1] = origin.slice(index + 1)\n }\n }\n\n return result\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile-message@1.1.1@vfile-message/index.js\n// module id = 879\n// module chunks = 33","'use strict'\n\nvar own = {}.hasOwnProperty\n\nmodule.exports = stringify\n\nfunction stringify(value) {\n /* Nothing. */\n if (!value || typeof value !== 'object') {\n return null\n }\n\n /* Node. */\n if (own.call(value, 'position') || own.call(value, 'type')) {\n return position(value.position)\n }\n\n /* Position. */\n if (own.call(value, 'start') || own.call(value, 'end')) {\n return position(value)\n }\n\n /* Point. */\n if (own.call(value, 'line') || own.call(value, 'column')) {\n return point(value)\n }\n\n /* ? */\n return null\n}\n\nfunction point(point) {\n if (!point || typeof point !== 'object') {\n point = {}\n }\n\n return index(point.line) + ':' + index(point.column)\n}\n\nfunction position(pos) {\n if (!pos || typeof pos !== 'object') {\n pos = {}\n }\n\n return point(pos.start) + '-' + point(pos.end)\n}\n\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-stringify-position@1.1.2@unist-util-stringify-position/index.js\n// module id = 880\n// module chunks = 33","'use strict';\n\nvar path = require('path');\nvar replace = require('replace-ext');\nvar buffer = require('is-buffer');\n\nmodule.exports = VFile;\n\nvar own = {}.hasOwnProperty;\nvar proto = VFile.prototype;\n\nproto.toString = toString;\n\n/* Order of setting (least specific to most), we need this because\n * otherwise `{stem: 'a', path: '~/b.js'}` would throw, as a path\n * is needed before a stem can be set. */\nvar order = [\n 'history',\n 'path',\n 'basename',\n 'stem',\n 'extname',\n 'dirname'\n];\n\n/* Construct a new file. */\nfunction VFile(options) {\n var prop;\n var index;\n var length;\n\n if (!options) {\n options = {};\n } else if (typeof options === 'string' || buffer(options)) {\n options = {contents: options};\n } else if ('message' in options && 'messages' in options) {\n return options;\n }\n\n if (!(this instanceof VFile)) {\n return new VFile(options);\n }\n\n this.data = {};\n this.messages = [];\n this.history = [];\n this.cwd = process.cwd();\n\n /* Set path related properties in the correct order. */\n index = -1;\n length = order.length;\n\n while (++index < length) {\n prop = order[index];\n\n if (own.call(options, prop)) {\n this[prop] = options[prop];\n }\n }\n\n /* Set non-path related properties. */\n for (prop in options) {\n if (order.indexOf(prop) === -1) {\n this[prop] = options[prop];\n }\n }\n}\n\n/* Access full path (`~/index.min.js`). */\nObject.defineProperty(proto, 'path', {\n get: function () {\n return this.history[this.history.length - 1];\n },\n set: function (path) {\n assertNonEmpty(path, 'path');\n\n if (path !== this.path) {\n this.history.push(path);\n }\n }\n});\n\n/* Access parent path (`~`). */\nObject.defineProperty(proto, 'dirname', {\n get: function () {\n return typeof this.path === 'string' ? path.dirname(this.path) : undefined;\n },\n set: function (dirname) {\n assertPath(this.path, 'dirname');\n this.path = path.join(dirname || '', this.basename);\n }\n});\n\n/* Access basename (`index.min.js`). */\nObject.defineProperty(proto, 'basename', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path) : undefined;\n },\n set: function (basename) {\n assertNonEmpty(basename, 'basename');\n assertPart(basename, 'basename');\n this.path = path.join(this.dirname || '', basename);\n }\n});\n\n/* Access extname (`.js`). */\nObject.defineProperty(proto, 'extname', {\n get: function () {\n return typeof this.path === 'string' ? path.extname(this.path) : undefined;\n },\n set: function (extname) {\n var ext = extname || '';\n\n assertPart(ext, 'extname');\n assertPath(this.path, 'extname');\n\n if (ext) {\n if (ext.charAt(0) !== '.') {\n throw new Error('`extname` must start with `.`');\n }\n\n if (ext.indexOf('.', 1) !== -1) {\n throw new Error('`extname` cannot contain multiple dots');\n }\n }\n\n this.path = replace(this.path, ext);\n }\n});\n\n/* Access stem (`index.min`). */\nObject.defineProperty(proto, 'stem', {\n get: function () {\n return typeof this.path === 'string' ? path.basename(this.path, this.extname) : undefined;\n },\n set: function (stem) {\n assertNonEmpty(stem, 'stem');\n assertPart(stem, 'stem');\n this.path = path.join(this.dirname || '', stem + (this.extname || ''));\n }\n});\n\n/* Get the value of the file. */\nfunction toString(encoding) {\n var value = this.contents || '';\n return buffer(value) ? value.toString(encoding) : String(value);\n}\n\n/* Assert that `part` is not a path (i.e., does\n * not contain `path.sep`). */\nfunction assertPart(part, name) {\n if (part.indexOf(path.sep) !== -1) {\n throw new Error('`' + name + '` cannot be a path: did not expect `' + path.sep + '`');\n }\n}\n\n/* Assert that `part` is not empty. */\nfunction assertNonEmpty(part, name) {\n if (!part) {\n throw new Error('`' + name + '` cannot be empty');\n }\n}\n\n/* Assert `path` exists. */\nfunction assertPath(path, name) {\n if (!path) {\n throw new Error('Setting `' + name + '` requires `path` to be set too');\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile@2.3.0@vfile/core.js\n// module id = 881\n// module chunks = 33","'use strict';\n\nvar path = require('path');\n\nfunction replaceExt(npath, ext) {\n if (typeof npath !== 'string') {\n return npath;\n }\n\n if (npath.length === 0) {\n return npath;\n }\n\n var nFileName = path.basename(npath, path.extname(npath)) + ext;\n return path.join(path.dirname(npath), nFileName);\n}\n\nmodule.exports = replaceExt;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_replace-ext@1.0.0@replace-ext/index.js\n// module id = 882\n// module chunks = 33","'use strict'\n\nvar wrap = require('./wrap.js')\n\nmodule.exports = trough\n\ntrough.wrap = wrap\n\nvar slice = [].slice\n\n/* Create new middleware. */\nfunction trough() {\n var fns = []\n var middleware = {}\n\n middleware.run = run\n middleware.use = use\n\n return middleware\n\n /* Run `fns`. Last argument must be\n * a completion handler. */\n function run() {\n var index = -1\n var input = slice.call(arguments, 0, -1)\n var done = arguments[arguments.length - 1]\n\n if (typeof done !== 'function') {\n throw new Error('Expected function as last argument, not ' + done)\n }\n\n next.apply(null, [null].concat(input))\n\n /* Run the next `fn`, if any. */\n function next(err) {\n var fn = fns[++index]\n var params = slice.call(arguments, 0)\n var values = params.slice(1)\n var length = input.length\n var pos = -1\n\n if (err) {\n done(err)\n return\n }\n\n /* Copy non-nully input into values. */\n while (++pos < length) {\n if (values[pos] === null || values[pos] === undefined) {\n values[pos] = input[pos]\n }\n }\n\n input = values\n\n /* Next or done. */\n if (fn) {\n wrap(fn, next).apply(null, input)\n } else {\n done.apply(null, [null].concat(input))\n }\n }\n }\n\n /* Add `fn` to the list. */\n function use(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Expected `fn` to be a function, not ' + fn)\n }\n\n fns.push(fn)\n\n return middleware\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_trough@1.0.3@trough/index.js\n// module id = 883\n// module chunks = 33","'use strict'\n\nvar slice = [].slice\n\nmodule.exports = wrap\n\n/* Wrap `fn`. Can be sync or async; return a promise,\n * receive a completion handler, return new values and\n * errors. */\nfunction wrap(fn, callback) {\n var invoked\n\n return wrapped\n\n function wrapped() {\n var params = slice.call(arguments, 0)\n var callback = fn.length > params.length\n var result\n\n if (callback) {\n params.push(done)\n }\n\n try {\n result = fn.apply(null, params)\n } catch (err) {\n /* Well, this is quite the pickle. `fn` received\n * a callback and invoked it (thus continuing the\n * pipeline), but later also threw an error.\n * We’re not about to restart the pipeline again,\n * so the only thing left to do is to throw the\n * thing instea. */\n if (callback && invoked) {\n throw err\n }\n\n return done(err)\n }\n\n if (!callback) {\n if (result && typeof result.then === 'function') {\n result.then(then, done)\n } else if (result instanceof Error) {\n done(result)\n } else {\n then(result)\n }\n }\n }\n\n /* Invoke `next`, only once. */\n function done() {\n if (!invoked) {\n invoked = true\n\n callback.apply(null, arguments)\n }\n }\n\n /* Invoke `done` with one value.\n * Tracks if an error is passed, too. */\n function then(value) {\n done(null, value)\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_trough@1.0.3@trough/wrap.js\n// module id = 884\n// module chunks = 33","var toString = Object.prototype.toString\n\nmodule.exports = isString\n\nfunction isString(obj) {\n return toString.call(obj) === \"[object String]\"\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_x-is-string@0.1.0@x-is-string/index.js\n// module id = 885\n// module chunks = 33","'use strict';\nvar toString = Object.prototype.toString;\n\nmodule.exports = function (x) {\n\tvar prototype;\n\treturn toString.call(x) === '[object Object]' && (prototype = Object.getPrototypeOf(x), prototype === null || prototype === Object.getPrototypeOf({}));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-plain-obj@1.1.0@is-plain-obj/index.js\n// module id = 886\n// module chunks = 33","'use strict';\n\nvar unherit = require('unherit');\nvar xtend = require('xtend');\nvar Parser = require('./lib/parser.js');\n\nmodule.exports = parse;\nparse.Parser = Parser;\n\nfunction parse(options) {\n var Local = unherit(Parser);\n Local.prototype.options = xtend(Local.prototype.options, this.data('settings'), options);\n this.Parser = Local;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/index.js\n// module id = 887\n// module chunks = 33","'use strict'\n\nvar xtend = require('xtend')\nvar inherits = require('inherits')\n\nmodule.exports = unherit\n\n/* Create a custom constructor which can be modified\n * without affecting the original class. */\nfunction unherit(Super) {\n var result\n var key\n var value\n\n inherits(Of, Super)\n inherits(From, Of)\n\n /* Clone values. */\n result = Of.prototype\n\n for (key in result) {\n value = result[key]\n\n if (value && typeof value === 'object') {\n result[key] = 'concat' in value ? value.concat() : xtend(value)\n }\n }\n\n return Of\n\n /* Constructor accepting a single argument,\n * which itself is an `arguments` object. */\n function From(parameters) {\n return Super.apply(this, parameters)\n }\n\n /* Constructor accepting variadic arguments. */\n function Of() {\n if (!(this instanceof Of)) {\n return new From(arguments)\n }\n\n return Super.apply(this, arguments)\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unherit@1.1.1@unherit/index.js\n// module id = 888\n// module chunks = 33","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_inherits@2.0.3@inherits/inherits_browser.js\n// module id = 889\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar toggle = require('state-toggle');\nvar vfileLocation = require('vfile-location');\nvar unescape = require('./unescape');\nvar decode = require('./decode');\nvar tokenizer = require('./tokenizer');\n\nmodule.exports = Parser;\n\nfunction Parser(doc, file) {\n this.file = file;\n this.offset = {};\n this.options = xtend(this.options);\n this.setOptions({});\n\n this.inList = false;\n this.inBlock = false;\n this.inLink = false;\n this.atStart = true;\n\n this.toOffset = vfileLocation(file).toOffset;\n this.unescape = unescape(this, 'escape');\n this.decode = decode(this);\n}\n\nvar proto = Parser.prototype;\n\n/* Expose core. */\nproto.setOptions = require('./set-options');\nproto.parse = require('./parse');\n\n/* Expose `defaults`. */\nproto.options = require('./defaults');\n\n/* Enter and exit helpers. */\nproto.exitStart = toggle('atStart', true);\nproto.enterList = toggle('inList', false);\nproto.enterLink = toggle('inLink', false);\nproto.enterBlock = toggle('inBlock', false);\n\n/* Nodes that can interupt a paragraph:\n *\n * ```markdown\n * A paragraph, followed by a thematic break.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the paragraph. */\nproto.interruptParagraph = [\n ['thematicBreak'],\n ['atxHeading'],\n ['fencedCode'],\n ['blockquote'],\n ['html'],\n ['setextHeading', {commonmark: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a list:\n *\n * ```markdown\n * - One\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the list. */\nproto.interruptList = [\n ['atxHeading', {pedantic: false}],\n ['fencedCode', {pedantic: false}],\n ['thematicBreak', {pedantic: false}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Nodes that can interupt a blockquote:\n *\n * ```markdown\n * > A paragraph.\n * ___\n * ```\n *\n * In the above example, the thematic break “interupts”\n * the blockquote. */\nproto.interruptBlockquote = [\n ['indentedCode', {commonmark: true}],\n ['fencedCode', {commonmark: true}],\n ['atxHeading', {commonmark: true}],\n ['setextHeading', {commonmark: true}],\n ['thematicBreak', {commonmark: true}],\n ['html', {commonmark: true}],\n ['list', {commonmark: true}],\n ['definition', {commonmark: false}],\n ['footnote', {commonmark: false}]\n];\n\n/* Handlers. */\nproto.blockTokenizers = {\n newline: require('./tokenize/newline'),\n indentedCode: require('./tokenize/code-indented'),\n fencedCode: require('./tokenize/code-fenced'),\n blockquote: require('./tokenize/blockquote'),\n atxHeading: require('./tokenize/heading-atx'),\n thematicBreak: require('./tokenize/thematic-break'),\n list: require('./tokenize/list'),\n setextHeading: require('./tokenize/heading-setext'),\n html: require('./tokenize/html-block'),\n footnote: require('./tokenize/footnote-definition'),\n definition: require('./tokenize/definition'),\n table: require('./tokenize/table'),\n paragraph: require('./tokenize/paragraph')\n};\n\nproto.inlineTokenizers = {\n escape: require('./tokenize/escape'),\n autoLink: require('./tokenize/auto-link'),\n url: require('./tokenize/url'),\n html: require('./tokenize/html-inline'),\n link: require('./tokenize/link'),\n reference: require('./tokenize/reference'),\n strong: require('./tokenize/strong'),\n emphasis: require('./tokenize/emphasis'),\n deletion: require('./tokenize/delete'),\n code: require('./tokenize/code-inline'),\n break: require('./tokenize/break'),\n text: require('./tokenize/text')\n};\n\n/* Expose precedence. */\nproto.blockMethods = keys(proto.blockTokenizers);\nproto.inlineMethods = keys(proto.inlineTokenizers);\n\n/* Tokenizers. */\nproto.tokenizeBlock = tokenizer('block');\nproto.tokenizeInline = tokenizer('inline');\nproto.tokenizeFactory = tokenizer;\n\n/* Get all keys in `value`. */\nfunction keys(value) {\n var result = [];\n var key;\n\n for (key in value) {\n result.push(key);\n }\n\n return result;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/parser.js\n// module id = 890\n// module chunks = 33","'use strict'\n\nmodule.exports = factory\n\n/* Construct a state `toggler`: a function which inverses\n * `property` in context based on its current value.\n * The by `toggler` returned function restores that value. */\nfunction factory(key, state, ctx) {\n return enter\n\n function enter() {\n var context = ctx || this\n var current = context[key]\n\n context[key] = !state\n\n return exit\n\n function exit() {\n context[key] = current\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_state-toggle@1.0.1@state-toggle/index.js\n// module id = 891\n// module chunks = 33","'use strict'\n\nmodule.exports = factory\n\nfunction factory(file) {\n var contents = indices(String(file))\n\n return {\n toPosition: offsetToPositionFactory(contents),\n toOffset: positionToOffsetFactory(contents)\n }\n}\n\n// Factory to get the line and column-based `position` for `offset` in the bound\n// indices.\nfunction offsetToPositionFactory(indices) {\n return offsetToPosition\n\n // Get the line and column-based `position` for `offset` in the bound indices.\n function offsetToPosition(offset) {\n var index = -1\n var length = indices.length\n\n if (offset < 0) {\n return {}\n }\n\n while (++index < length) {\n if (indices[index] > offset) {\n return {\n line: index + 1,\n column: offset - (indices[index - 1] || 0) + 1,\n offset: offset\n }\n }\n }\n\n return {}\n }\n}\n\n// Factory to get the `offset` for a line and column-based `position` in the\n// bound indices.\nfunction positionToOffsetFactory(indices) {\n return positionToOffset\n\n // Get the `offset` for a line and column-based `position` in the bound\n // indices.\n function positionToOffset(position) {\n var line = position && position.line\n var column = position && position.column\n\n if (!isNaN(line) && !isNaN(column) && line - 1 in indices) {\n return (indices[line - 2] || 0) + column - 1 || 0\n }\n\n return -1\n }\n}\n\n// Get indices of line-breaks in `value`.\nfunction indices(value) {\n var result = []\n var index = value.indexOf('\\n')\n\n while (index !== -1) {\n result.push(index + 1)\n index = value.indexOf('\\n', index + 1)\n }\n\n result.push(value.length + 1)\n\n return result\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_vfile-location@2.0.4@vfile-location/index.js\n// module id = 892\n// module chunks = 33","'use strict';\n\nmodule.exports = factory;\n\n/* Factory to de-escape a value, based on a list at `key`\n * in `ctx`. */\nfunction factory(ctx, key) {\n return unescape;\n\n /* De-escape a string using the expression at `key`\n * in `ctx`. */\n function unescape(value) {\n var prev = 0;\n var index = value.indexOf('\\\\');\n var escape = ctx[key];\n var queue = [];\n var character;\n\n while (index !== -1) {\n queue.push(value.slice(prev, index));\n prev = index + 1;\n character = value.charAt(prev);\n\n /* If the following character is not a valid escape,\n * add the slash. */\n if (!character || escape.indexOf(character) === -1) {\n queue.push('\\\\');\n }\n\n index = value.indexOf('\\\\', prev);\n }\n\n queue.push(value.slice(prev));\n\n return queue.join('');\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/unescape.js\n// module id = 893\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar entities = require('parse-entities');\n\nmodule.exports = factory;\n\n/* Factory to create an entity decoder. */\nfunction factory(ctx) {\n decoder.raw = decodeRaw;\n\n return decoder;\n\n /* Normalize `position` to add an `indent`. */\n function normalize(position) {\n var offsets = ctx.offset;\n var line = position.line;\n var result = [];\n\n while (++line) {\n if (!(line in offsets)) {\n break;\n }\n\n result.push((offsets[line] || 0) + 1);\n }\n\n return {\n start: position,\n indent: result\n };\n }\n\n /* Handle a warning.\n * See https://github.com/wooorm/parse-entities\n * for the warnings. */\n function handleWarning(reason, position, code) {\n if (code === 3) {\n return;\n }\n\n ctx.file.message(reason, position);\n }\n\n /* Decode `value` (at `position`) into text-nodes. */\n function decoder(value, position, handler) {\n entities(value, {\n position: normalize(position),\n warning: handleWarning,\n text: handler,\n reference: handler,\n textContext: ctx,\n referenceContext: ctx\n });\n }\n\n /* Decode `value` (at `position`) into a string. */\n function decodeRaw(value, position, options) {\n return entities(value, xtend(options, {\n position: normalize(position),\n warning: handleWarning\n }));\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/decode.js\n// module id = 894\n// module chunks = 33","module.exports = {\"AElig\":\"Æ\",\"AMP\":\"&\",\"Aacute\":\"Á\",\"Acirc\":\"Â\",\"Agrave\":\"À\",\"Aring\":\"Å\",\"Atilde\":\"Ã\",\"Auml\":\"Ä\",\"COPY\":\"©\",\"Ccedil\":\"Ç\",\"ETH\":\"Ð\",\"Eacute\":\"É\",\"Ecirc\":\"Ê\",\"Egrave\":\"È\",\"Euml\":\"Ë\",\"GT\":\">\",\"Iacute\":\"Í\",\"Icirc\":\"Î\",\"Igrave\":\"Ì\",\"Iuml\":\"Ï\",\"LT\":\"<\",\"Ntilde\":\"Ñ\",\"Oacute\":\"Ó\",\"Ocirc\":\"Ô\",\"Ograve\":\"Ò\",\"Oslash\":\"Ø\",\"Otilde\":\"Õ\",\"Ouml\":\"Ö\",\"QUOT\":\"\\\"\",\"REG\":\"®\",\"THORN\":\"Þ\",\"Uacute\":\"Ú\",\"Ucirc\":\"Û\",\"Ugrave\":\"Ù\",\"Uuml\":\"Ü\",\"Yacute\":\"Ý\",\"aacute\":\"á\",\"acirc\":\"â\",\"acute\":\"´\",\"aelig\":\"æ\",\"agrave\":\"à\",\"amp\":\"&\",\"aring\":\"å\",\"atilde\":\"ã\",\"auml\":\"ä\",\"brvbar\":\"¦\",\"ccedil\":\"ç\",\"cedil\":\"¸\",\"cent\":\"¢\",\"copy\":\"©\",\"curren\":\"¤\",\"deg\":\"°\",\"divide\":\"÷\",\"eacute\":\"é\",\"ecirc\":\"ê\",\"egrave\":\"è\",\"eth\":\"ð\",\"euml\":\"ë\",\"frac12\":\"½\",\"frac14\":\"¼\",\"frac34\":\"¾\",\"gt\":\">\",\"iacute\":\"í\",\"icirc\":\"î\",\"iexcl\":\"¡\",\"igrave\":\"ì\",\"iquest\":\"¿\",\"iuml\":\"ï\",\"laquo\":\"«\",\"lt\":\"<\",\"macr\":\"¯\",\"micro\":\"µ\",\"middot\":\"·\",\"nbsp\":\" \",\"not\":\"¬\",\"ntilde\":\"ñ\",\"oacute\":\"ó\",\"ocirc\":\"ô\",\"ograve\":\"ò\",\"ordf\":\"ª\",\"ordm\":\"º\",\"oslash\":\"ø\",\"otilde\":\"õ\",\"ouml\":\"ö\",\"para\":\"¶\",\"plusmn\":\"±\",\"pound\":\"£\",\"quot\":\"\\\"\",\"raquo\":\"»\",\"reg\":\"®\",\"sect\":\"§\",\"shy\":\"­\",\"sup1\":\"¹\",\"sup2\":\"²\",\"sup3\":\"³\",\"szlig\":\"ß\",\"thorn\":\"þ\",\"times\":\"×\",\"uacute\":\"ú\",\"ucirc\":\"û\",\"ugrave\":\"ù\",\"uml\":\"¨\",\"uuml\":\"ü\",\"yacute\":\"ý\",\"yen\":\"¥\",\"yuml\":\"ÿ\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_character-entities-legacy@1.1.2@character-entities-legacy/index.json\n// module id = 895\n// module chunks = 33","module.exports = {\"0\":\"�\",\"128\":\"€\",\"130\":\"‚\",\"131\":\"ƒ\",\"132\":\"„\",\"133\":\"…\",\"134\":\"†\",\"135\":\"‡\",\"136\":\"ˆ\",\"137\":\"‰\",\"138\":\"Š\",\"139\":\"‹\",\"140\":\"Œ\",\"142\":\"Ž\",\"145\":\"‘\",\"146\":\"’\",\"147\":\"“\",\"148\":\"”\",\"149\":\"•\",\"150\":\"–\",\"151\":\"—\",\"152\":\"˜\",\"153\":\"™\",\"154\":\"š\",\"155\":\"›\",\"156\":\"œ\",\"158\":\"ž\",\"159\":\"Ÿ\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_character-reference-invalid@1.1.2@character-reference-invalid/index.json\n// module id = 896\n// module chunks = 33","'use strict'\n\nmodule.exports = hexadecimal\n\n/* Check if the given character code, or the character\n * code at the first character, is hexadecimal. */\nfunction hexadecimal(character) {\n var code = typeof character === 'string' ? character.charCodeAt(0) : character\n\n return (\n (code >= 97 /* a */ && code <= 102) /* z */ ||\n (code >= 65 /* A */ && code <= 70) /* Z */ ||\n (code >= 48 /* A */ && code <= 57) /* Z */\n )\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-hexadecimal@1.0.2@is-hexadecimal/index.js\n// module id = 897\n// module chunks = 33","'use strict'\n\nvar alphabetical = require('is-alphabetical')\nvar decimal = require('is-decimal')\n\nmodule.exports = alphanumerical\n\n/* Check if the given character code, or the character\n * code at the first character, is alphanumerical. */\nfunction alphanumerical(character) {\n return alphabetical(character) || decimal(character)\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-alphanumerical@1.0.2@is-alphanumerical/index.js\n// module id = 898\n// module chunks = 33","'use strict'\n\n/* eslint-env browser */\n\nvar el\n\nmodule.exports = decodeEntity\n\nfunction decodeEntity(characters) {\n var entity = '&' + characters + ';'\n var char\n\n el = el || document.createElement('i')\n el.innerHTML = entity\n char = el.textContent\n\n // Some entities do not require the closing semicolon (¬ - for instance),\n // which leads to situations where parsing the assumed entity of ¬it; will\n // result in the string `¬it;`. When we encounter a trailing semicolon after\n // parsing and the entity to decode was not a semicolon (;), we can\n // assume that the matching was incomplete\n if (char.slice(-1) === ';' && characters !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the entity was not valid\n return char === entity ? false : char\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_parse-entities@1.2.1@parse-entities/decode-entity.browser.js\n// module id = 899\n// module chunks = 33","'use strict';\n\nmodule.exports = factory;\n\nvar MERGEABLE_NODES = {\n text: mergeText,\n blockquote: mergeBlockquote\n};\n\n/* Check whether a node is mergeable with adjacent nodes. */\nfunction mergeable(node) {\n var start;\n var end;\n\n if (node.type !== 'text' || !node.position) {\n return true;\n }\n\n start = node.position.start;\n end = node.position.end;\n\n /* Only merge nodes which occupy the same size as their\n * `value`. */\n return start.line !== end.line ||\n end.column - start.column === node.value.length;\n}\n\n/* Merge two text nodes: `node` into `prev`. */\nfunction mergeText(prev, node) {\n prev.value += node.value;\n\n return prev;\n}\n\n/* Merge two blockquotes: `node` into `prev`, unless in\n * CommonMark mode. */\nfunction mergeBlockquote(prev, node) {\n if (this.options.commonmark) {\n return node;\n }\n\n prev.children = prev.children.concat(node.children);\n\n return prev;\n}\n\n/* Construct a tokenizer. This creates both\n * `tokenizeInline` and `tokenizeBlock`. */\nfunction factory(type) {\n return tokenize;\n\n /* Tokenizer for a bound `type`. */\n function tokenize(value, location) {\n var self = this;\n var offset = self.offset;\n var tokens = [];\n var methods = self[type + 'Methods'];\n var tokenizers = self[type + 'Tokenizers'];\n var line = location.line;\n var column = location.column;\n var index;\n var length;\n var method;\n var name;\n var matched;\n var valueLength;\n\n /* Trim white space only lines. */\n if (!value) {\n return tokens;\n }\n\n /* Expose on `eat`. */\n eat.now = now;\n eat.file = self.file;\n\n /* Sync initial offset. */\n updatePosition('');\n\n /* Iterate over `value`, and iterate over all\n * tokenizers. When one eats something, re-iterate\n * with the remaining value. If no tokenizer eats,\n * something failed (should not happen) and an\n * exception is thrown. */\n while (value) {\n index = -1;\n length = methods.length;\n matched = false;\n\n while (++index < length) {\n name = methods[index];\n method = tokenizers[name];\n\n if (\n method &&\n /* istanbul ignore next */ (!method.onlyAtStart || self.atStart) &&\n (!method.notInList || !self.inList) &&\n (!method.notInBlock || !self.inBlock) &&\n (!method.notInLink || !self.inLink)\n ) {\n valueLength = value.length;\n\n method.apply(self, [eat, value]);\n\n matched = valueLength !== value.length;\n\n if (matched) {\n break;\n }\n }\n }\n\n /* istanbul ignore if */\n if (!matched) {\n self.file.fail(new Error('Infinite loop'), eat.now());\n }\n }\n\n self.eof = now();\n\n return tokens;\n\n /* Update line, column, and offset based on\n * `value`. */\n function updatePosition(subvalue) {\n var lastIndex = -1;\n var index = subvalue.indexOf('\\n');\n\n while (index !== -1) {\n line++;\n lastIndex = index;\n index = subvalue.indexOf('\\n', index + 1);\n }\n\n if (lastIndex === -1) {\n column += subvalue.length;\n } else {\n column = subvalue.length - lastIndex;\n }\n\n if (line in offset) {\n if (lastIndex !== -1) {\n column += offset[line];\n } else if (column <= offset[line]) {\n column = offset[line] + 1;\n }\n }\n }\n\n /* Get offset. Called before the first character is\n * eaten to retrieve the range's offsets. */\n function getOffset() {\n var indentation = [];\n var pos = line + 1;\n\n /* Done. Called when the last character is\n * eaten to retrieve the range’s offsets. */\n return function () {\n var last = line + 1;\n\n while (pos < last) {\n indentation.push((offset[pos] || 0) + 1);\n\n pos++;\n }\n\n return indentation;\n };\n }\n\n /* Get the current position. */\n function now() {\n var pos = {line: line, column: column};\n\n pos.offset = self.toOffset(pos);\n\n return pos;\n }\n\n /* Store position information for a node. */\n function Position(start) {\n this.start = start;\n this.end = now();\n }\n\n /* Throw when a value is incorrectly eaten.\n * This shouldn’t happen but will throw on new,\n * incorrect rules. */\n function validateEat(subvalue) {\n /* istanbul ignore if */\n if (value.substring(0, subvalue.length) !== subvalue) {\n /* Capture stack-trace. */\n self.file.fail(\n new Error(\n 'Incorrectly eaten value: please report this ' +\n 'warning on http://git.io/vg5Ft'\n ),\n now()\n );\n }\n }\n\n /* Mark position and patch `node.position`. */\n function position() {\n var before = now();\n\n return update;\n\n /* Add the position to a node. */\n function update(node, indent) {\n var prev = node.position;\n var start = prev ? prev.start : before;\n var combined = [];\n var n = prev && prev.end.line;\n var l = before.line;\n\n node.position = new Position(start);\n\n /* If there was already a `position`, this\n * node was merged. Fixing `start` wasn’t\n * hard, but the indent is different.\n * Especially because some information, the\n * indent between `n` and `l` wasn’t\n * tracked. Luckily, that space is\n * (should be?) empty, so we can safely\n * check for it now. */\n if (prev && indent && prev.indent) {\n combined = prev.indent;\n\n if (n < l) {\n while (++n < l) {\n combined.push((offset[n] || 0) + 1);\n }\n\n combined.push(before.column);\n }\n\n indent = combined.concat(indent);\n }\n\n node.position.indent = indent || [];\n\n return node;\n }\n }\n\n /* Add `node` to `parent`s children or to `tokens`.\n * Performs merges where possible. */\n function add(node, parent) {\n var children = parent ? parent.children : tokens;\n var prev = children[children.length - 1];\n\n if (\n prev &&\n node.type === prev.type &&\n node.type in MERGEABLE_NODES &&\n mergeable(prev) &&\n mergeable(node)\n ) {\n node = MERGEABLE_NODES[node.type].call(self, prev, node);\n }\n\n if (node !== prev) {\n children.push(node);\n }\n\n if (self.atStart && tokens.length !== 0) {\n self.exitStart();\n }\n\n return node;\n }\n\n /* Remove `subvalue` from `value`.\n * `subvalue` must be at the start of `value`. */\n function eat(subvalue) {\n var indent = getOffset();\n var pos = position();\n var current = now();\n\n validateEat(subvalue);\n\n apply.reset = reset;\n reset.test = test;\n apply.test = test;\n\n value = value.substring(subvalue.length);\n\n updatePosition(subvalue);\n\n indent = indent();\n\n return apply;\n\n /* Add the given arguments, add `position` to\n * the returned node, and return the node. */\n function apply(node, parent) {\n return pos(add(pos(node), parent), indent);\n }\n\n /* Functions just like apply, but resets the\n * content: the line and column are reversed,\n * and the eaten value is re-added.\n * This is useful for nodes with a single\n * type of content, such as lists and tables.\n * See `apply` above for what parameters are\n * expected. */\n function reset() {\n var node = apply.apply(null, arguments);\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return node;\n }\n\n /* Test the position, after eating, and reverse\n * to a not-eaten state. */\n function test() {\n var result = pos({});\n\n line = current.line;\n column = current.column;\n value = subvalue + value;\n\n return result.position;\n }\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenizer.js\n// module id = 900\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar escapes = require('markdown-escapes');\nvar defaults = require('./defaults');\n\nmodule.exports = setOptions;\n\nfunction setOptions(options) {\n var self = this;\n var current = self.options;\n var key;\n var value;\n\n if (options == null) {\n options = {};\n } else if (typeof options === 'object') {\n options = xtend(options);\n } else {\n throw new Error(\n 'Invalid value `' + options + '` ' +\n 'for setting `options`'\n );\n }\n\n for (key in defaults) {\n value = options[key];\n\n if (value == null) {\n value = current[key];\n }\n\n if (\n (key !== 'blocks' && typeof value !== 'boolean') ||\n (key === 'blocks' && typeof value !== 'object')\n ) {\n throw new Error('Invalid value `' + value + '` for setting `options.' + key + '`');\n }\n\n options[key] = value;\n }\n\n self.options = options;\n self.escape = escapes(options);\n\n return self;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/set-options.js\n// module id = 901\n// module chunks = 33","'use strict'\n\nmodule.exports = escapes\n\nvar defaults = [\n '\\\\',\n '`',\n '*',\n '{',\n '}',\n '[',\n ']',\n '(',\n ')',\n '#',\n '+',\n '-',\n '.',\n '!',\n '_',\n '>'\n]\n\nvar gfm = defaults.concat(['~', '|'])\n\nvar commonmark = gfm.concat([\n '\\n',\n '\"',\n '$',\n '%',\n '&',\n \"'\",\n ',',\n '/',\n ':',\n ';',\n '<',\n '=',\n '?',\n '@',\n '^'\n])\n\nescapes.default = defaults\nescapes.gfm = gfm\nescapes.commonmark = commonmark\n\n/* Get markdown escapes. */\nfunction escapes(options) {\n var settings = options || {}\n\n if (settings.commonmark) {\n return commonmark\n }\n\n return settings.gfm ? gfm : defaults\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_markdown-escapes@1.0.2@markdown-escapes/index.js\n// module id = 902\n// module chunks = 33","module.exports = [\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"meta\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"pre\",\"section\",\"source\",\"title\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"]\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/block-elements.json\n// module id = 903\n// module chunks = 33","'use strict';\n\nvar xtend = require('xtend');\nvar removePosition = require('unist-util-remove-position');\n\nmodule.exports = parse;\n\nvar C_NEWLINE = '\\n';\nvar EXPRESSION_LINE_BREAKS = /\\r\\n|\\r/g;\n\n/* Parse the bound file. */\nfunction parse() {\n var self = this;\n var value = String(self.file);\n var start = {line: 1, column: 1, offset: 0};\n var content = xtend(start);\n var node;\n\n /* Clean non-unix newlines: `\\r\\n` and `\\r` are all\n * changed to `\\n`. This should not affect positional\n * information. */\n value = value.replace(EXPRESSION_LINE_BREAKS, C_NEWLINE);\n\n if (value.charCodeAt(0) === 0xFEFF) {\n value = value.slice(1);\n\n content.column++;\n content.offset++;\n }\n\n node = {\n type: 'root',\n children: self.tokenizeBlock(value, content),\n position: {\n start: start,\n end: self.eof || xtend(start)\n }\n };\n\n if (!self.options.position) {\n removePosition(node, true);\n }\n\n return node;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/parse.js\n// module id = 904\n// module chunks = 33","'use strict'\n\nvar visit = require('unist-util-visit')\n\nmodule.exports = removePosition\n\n/* Remove `position`s from `tree`. */\nfunction removePosition(node, force) {\n visit(node, force ? hard : soft)\n return node\n}\n\nfunction hard(node) {\n delete node.position\n}\n\nfunction soft(node) {\n node.position = undefined\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-remove-position@1.1.2@unist-util-remove-position/index.js\n// module id = 905\n// module chunks = 33","'use strict'\n\nmodule.exports = visitParents\n\nvar is = require('unist-util-is')\n\nvar CONTINUE = true\nvar SKIP = 'skip'\nvar EXIT = false\n\nvisitParents.CONTINUE = CONTINUE\nvisitParents.SKIP = SKIP\nvisitParents.EXIT = EXIT\n\nfunction visitParents(tree, test, visitor, reverse) {\n if (typeof test === 'function' && typeof visitor !== 'function') {\n reverse = visitor\n visitor = test\n test = null\n }\n\n one(tree, null, [])\n\n // Visit a single node.\n function one(node, index, parents) {\n var result\n\n if (!test || is(test, node, index, parents[parents.length - 1] || null)) {\n result = visitor(node, parents)\n\n if (result === EXIT) {\n return result\n }\n }\n\n if (node.children && result !== SKIP) {\n return all(node.children, parents.concat(node)) === EXIT ? EXIT : result\n }\n\n return result\n }\n\n // Visit children in `parent`.\n function all(children, parents) {\n var min = -1\n var step = reverse ? -1 : 1\n var index = (reverse ? children.length : min) + step\n var child\n var result\n\n while (index > min && index < children.length) {\n child = children[index]\n result = child && one(child, index, parents)\n\n if (result === EXIT) {\n return result\n }\n\n index = typeof result === 'number' ? result : index + step\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-visit-parents@2.0.1@unist-util-visit-parents/index.js\n// module id = 906\n// module chunks = 33","'use strict'\n\n/* eslint-disable max-params */\n\n/* Expose. */\nmodule.exports = is\n\n/* Assert if `test` passes for `node`.\n * When a `parent` node is known the `index` of node */\nfunction is(test, node, index, parent, context) {\n var hasParent = parent !== null && parent !== undefined\n var hasIndex = index !== null && index !== undefined\n var check = convert(test)\n\n if (\n hasIndex &&\n (typeof index !== 'number' || index < 0 || index === Infinity)\n ) {\n throw new Error('Expected positive finite index or child node')\n }\n\n if (hasParent && (!is(null, parent) || !parent.children)) {\n throw new Error('Expected parent node')\n }\n\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (hasParent !== hasIndex) {\n throw new Error('Expected both parent and index')\n }\n\n return Boolean(check.call(context, node, index, parent))\n}\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return typeFactory(test)\n }\n\n if (test === null || test === undefined) {\n return ok\n }\n\n if (typeof test === 'object') {\n return ('length' in test ? anyFactory : matchesFactory)(test)\n }\n\n if (typeof test === 'function') {\n return test\n }\n\n throw new Error('Expected function, string, or object as test')\n}\n\nfunction convertAll(tests) {\n var results = []\n var length = tests.length\n var index = -1\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\n/* Utility assert each property in `test` is represented\n * in `node`, and each values are strictly equal. */\nfunction matchesFactory(test) {\n return matches\n\n function matches(node) {\n var key\n\n for (key in test) {\n if (node[key] !== test[key]) {\n return false\n }\n }\n\n return true\n }\n}\n\nfunction anyFactory(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n/* Utility to convert a string into a function which checks\n * a given node’s type for said string. */\nfunction typeFactory(test) {\n return type\n\n function type(node) {\n return Boolean(node && node.type === test)\n }\n}\n\n/* Utility to return true. */\nfunction ok() {\n return true\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-is@2.1.2@unist-util-is/index.js\n// module id = 907\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\n\nmodule.exports = newline;\n\n/* Tokenise newline. */\nfunction newline(eat, value, silent) {\n var character = value.charAt(0);\n var length;\n var subvalue;\n var queue;\n var index;\n\n if (character !== '\\n') {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n index = 1;\n length = value.length;\n subvalue = character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n\n if (character === '\\n') {\n subvalue += queue;\n queue = '';\n }\n\n index++;\n }\n\n eat(subvalue);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/newline.js\n// module id = 908\n// module chunks = 33","'use strict';\n\nvar repeat = require('repeat-string');\nvar trim = require('trim-trailing-lines');\n\nmodule.exports = indentedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar CODE_INDENT_COUNT = 4;\nvar CODE_INDENT = repeat(C_SPACE, CODE_INDENT_COUNT);\n\n/* Tokenise indented code. */\nfunction indentedCode(eat, value, silent) {\n var index = -1;\n var length = value.length;\n var subvalue = '';\n var content = '';\n var subvalueQueue = '';\n var contentQueue = '';\n var character;\n var blankQueue;\n var indent;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (indent) {\n indent = false;\n\n subvalue += subvalueQueue;\n content += contentQueue;\n subvalueQueue = '';\n contentQueue = '';\n\n if (character === C_NEWLINE) {\n subvalueQueue = character;\n contentQueue = character;\n } else {\n subvalue += character;\n content += character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n contentQueue = character;\n subvalueQueue = character;\n break;\n }\n\n subvalue += character;\n content += character;\n }\n }\n } else if (\n character === C_SPACE &&\n value.charAt(index + 1) === character &&\n value.charAt(index + 2) === character &&\n value.charAt(index + 3) === character\n ) {\n subvalueQueue += CODE_INDENT;\n index += 3;\n indent = true;\n } else if (character === C_TAB) {\n subvalueQueue += character;\n indent = true;\n } else {\n blankQueue = '';\n\n while (character === C_TAB || character === C_SPACE) {\n blankQueue += character;\n character = value.charAt(++index);\n }\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subvalueQueue += blankQueue + character;\n contentQueue += character;\n }\n }\n\n if (content) {\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({\n type: 'code',\n lang: null,\n value: trim(content)\n });\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/code-indented.js\n// module id = 909\n// module chunks = 33","'use strict';\n\nvar trim = require('trim-trailing-lines');\n\nmodule.exports = fencedCode;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_TILDE = '~';\nvar C_TICK = '`';\n\nvar MIN_FENCE_COUNT = 3;\nvar CODE_INDENT_COUNT = 4;\n\nfunction fencedCode(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = 0;\n var subvalue = '';\n var fenceCount;\n var marker;\n var character;\n var flag;\n var queue;\n var content;\n var exdentedContent;\n var closing;\n var exdentedClosing;\n var indent;\n var now;\n\n if (!settings.gfm) {\n return;\n }\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n indent = index;\n\n /* Eat the fence. */\n character = value.charAt(index);\n\n if (character !== C_TILDE && character !== C_TICK) {\n return;\n }\n\n index++;\n marker = character;\n fenceCount = 1;\n subvalue += character;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n subvalue += character;\n fenceCount++;\n index++;\n }\n\n if (fenceCount < MIN_FENCE_COUNT) {\n return;\n }\n\n /* Eat spacing before flag. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat flag. */\n flag = '';\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character === C_NEWLINE ||\n character === C_TILDE ||\n character === C_TICK\n ) {\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n flag += queue + character;\n queue = '';\n }\n\n index++;\n }\n\n character = value.charAt(index);\n\n if (character && character !== C_NEWLINE) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += subvalue.length;\n now.offset += subvalue.length;\n\n subvalue += flag;\n flag = self.decode.raw(self.unescape(flag), now);\n\n if (queue) {\n subvalue += queue;\n }\n\n queue = '';\n closing = '';\n exdentedClosing = '';\n content = '';\n exdentedContent = '';\n\n /* Eat content. */\n while (index < length) {\n character = value.charAt(index);\n content += closing;\n exdentedContent += exdentedClosing;\n closing = '';\n exdentedClosing = '';\n\n if (character !== C_NEWLINE) {\n content += character;\n exdentedClosing += character;\n index++;\n continue;\n }\n\n /* Add the newline to `subvalue` if its the first\n * character. Otherwise, add it to the `closing`\n * queue. */\n if (content) {\n closing += character;\n exdentedClosing += character;\n } else {\n subvalue += character;\n }\n\n queue = '';\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue.slice(indent);\n\n if (queue.length >= CODE_INDENT_COUNT) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n closing += queue;\n exdentedClosing += queue;\n\n if (queue.length < fenceCount) {\n continue;\n }\n\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n closing += character;\n exdentedClosing += character;\n index++;\n }\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n }\n\n subvalue += content + closing;\n\n return eat(subvalue)({\n type: 'code',\n lang: flag || null,\n value: trim(exdentedContent)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/code-fenced.js\n// module id = 910\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar interrupt = require('../util/interrupt');\n\nmodule.exports = blockquote;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_GT = '>';\n\n/* Tokenise a blockquote. */\nfunction blockquote(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptBlockquote;\n var now = eat.now();\n var currentLine = now.line;\n var length = value.length;\n var values = [];\n var contents = [];\n var indents = [];\n var add;\n var index = 0;\n var character;\n var rest;\n var nextIndex;\n var content;\n var line;\n var startIndex;\n var prefixed;\n var exit;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) === C_GT) {\n index++;\n prefixed = true;\n\n if (value.charAt(index) === C_SPACE) {\n index++;\n }\n } else {\n index = startIndex;\n }\n\n content = value.slice(index, nextIndex);\n\n if (!prefixed && !trim(content)) {\n index = startIndex;\n break;\n }\n\n if (!prefixed) {\n rest = value.slice(index);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, rest, true])) {\n break;\n }\n }\n\n line = startIndex === index ? content : value.slice(startIndex, nextIndex);\n\n indents.push(index - startIndex);\n values.push(line);\n contents.push(content);\n\n index = nextIndex + 1;\n }\n\n index = -1;\n length = indents.length;\n add = eat(values.join(C_NEWLINE));\n\n while (++index < length) {\n offsets[currentLine] = (offsets[currentLine] || 0) + indents[index];\n currentLine++;\n }\n\n exit = self.enterBlock();\n contents = self.tokenizeBlock(contents.join(C_NEWLINE), now);\n exit();\n\n return add({\n type: 'blockquote',\n children: contents\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/blockquote.js\n// module id = 911\n// module chunks = 33","'use strict';\n\nmodule.exports = atxHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_HASH = '#';\n\nvar MAX_ATX_COUNT = 6;\n\nfunction atxHeading(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var length = value.length + 1;\n var index = -1;\n var now = eat.now();\n var subvalue = '';\n var content = '';\n var character;\n var queue;\n var depth;\n\n /* Eat initial spacing. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat hashes. */\n depth = 0;\n\n while (++index <= length) {\n character = value.charAt(index);\n\n if (character !== C_HASH) {\n index--;\n break;\n }\n\n subvalue += character;\n depth++;\n }\n\n if (depth > MAX_ATX_COUNT) {\n return;\n }\n\n if (\n !depth ||\n (!settings.pedantic && value.charAt(index + 1) === C_HASH)\n ) {\n return;\n }\n\n length = value.length + 1;\n\n /* Eat intermediate white-space. */\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n index--;\n break;\n }\n\n queue += character;\n }\n\n /* Exit when not in pedantic mode without spacing. */\n if (\n !settings.pedantic &&\n queue.length === 0 &&\n character &&\n character !== C_NEWLINE\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n /* Eat content. */\n subvalue += queue;\n queue = '';\n content = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n break;\n }\n\n if (\n character !== C_SPACE &&\n character !== C_TAB &&\n character !== C_HASH\n ) {\n content += queue + character;\n queue = '';\n continue;\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_HASH) {\n queue += character;\n character = value.charAt(++index);\n }\n\n while (character === C_SPACE || character === C_TAB) {\n queue += character;\n character = value.charAt(++index);\n }\n\n index--;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n return eat(subvalue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/heading-atx.js\n// module id = 912\n// module chunks = 33","'use strict';\n\nmodule.exports = thematicBreak;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_DASH = '-';\n\nvar THEMATIC_BREAK_MARKER_COUNT = 3;\n\nfunction thematicBreak(eat, value, silent) {\n var index = -1;\n var length = value.length + 1;\n var subvalue = '';\n var character;\n var marker;\n var markerCount;\n var queue;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n }\n\n if (\n character !== C_ASTERISK &&\n character !== C_DASH &&\n character !== C_UNDERSCORE\n ) {\n return;\n }\n\n marker = character;\n subvalue += character;\n markerCount = 1;\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n markerCount++;\n subvalue += queue + marker;\n queue = '';\n } else if (character === C_SPACE) {\n queue += character;\n } else if (\n markerCount >= THEMATIC_BREAK_MARKER_COUNT &&\n (!character || character === C_NEWLINE)\n ) {\n subvalue += queue;\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue)({type: 'thematicBreak'});\n } else {\n return;\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/thematic-break.js\n// module id = 913\n// module chunks = 33","'use strict';\n\n/* eslint-disable max-params */\n\nvar trim = require('trim');\nvar repeat = require('repeat-string');\nvar decimal = require('is-decimal');\nvar getIndent = require('../util/get-indentation');\nvar removeIndent = require('../util/remove-indentation');\nvar interrupt = require('../util/interrupt');\n\nmodule.exports = list;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\nvar C_PLUS = '+';\nvar C_DASH = '-';\nvar C_DOT = '.';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_PAREN_CLOSE = ')';\nvar C_X_LOWER = 'x';\n\nvar TAB_SIZE = 4;\nvar EXPRESSION_LOOSE_LIST_ITEM = /\\n\\n(?!\\s*$)/;\nvar EXPRESSION_TASK_ITEM = /^\\[([ \\t]|x|X)][ \\t]/;\nvar EXPRESSION_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])( {1,4}(?! )| |\\t|$|(?=\\n))([^\\n]*)/;\nvar EXPRESSION_PEDANTIC_BULLET = /^([ \\t]*)([*+-]|\\d+[.)])([ \\t]+)/;\nvar EXPRESSION_INITIAL_INDENT = /^( {1,4}|\\t)?/gm;\n\n/* Map of characters which can be used to mark\n * list-items. */\nvar LIST_UNORDERED_MARKERS = {};\n\nLIST_UNORDERED_MARKERS[C_ASTERISK] = true;\nLIST_UNORDERED_MARKERS[C_PLUS] = true;\nLIST_UNORDERED_MARKERS[C_DASH] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_MARKERS = {};\n\nLIST_ORDERED_MARKERS[C_DOT] = true;\n\n/* Map of characters which can be used to mark\n * list-items after a digit. */\nvar LIST_ORDERED_COMMONMARK_MARKERS = {};\n\nLIST_ORDERED_COMMONMARK_MARKERS[C_DOT] = true;\nLIST_ORDERED_COMMONMARK_MARKERS[C_PAREN_CLOSE] = true;\n\nfunction list(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var pedantic = self.options.pedantic;\n var tokenizers = self.blockTokenizers;\n var interuptors = self.interruptList;\n var markers;\n var index = 0;\n var length = value.length;\n var start = null;\n var size = 0;\n var queue;\n var ordered;\n var character;\n var marker;\n var nextIndex;\n var startIndex;\n var prefixed;\n var currentMarker;\n var content;\n var line;\n var prevEmpty;\n var empty;\n var items;\n var allLines;\n var emptyLines;\n var item;\n var enterTop;\n var exitBlockquote;\n var isLoose;\n var node;\n var now;\n var end;\n var indented;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n return;\n }\n\n character = value.charAt(index);\n\n markers = commonmark ?\n LIST_ORDERED_COMMONMARK_MARKERS :\n LIST_ORDERED_MARKERS;\n\n if (LIST_UNORDERED_MARKERS[character] === true) {\n marker = character;\n ordered = false;\n } else {\n ordered = true;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || markers[character] !== true) {\n return;\n }\n\n start = parseInt(queue, 10);\n marker = character;\n }\n\n character = value.charAt(++index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n index = 0;\n items = [];\n allLines = [];\n emptyLines = [];\n\n while (index < length) {\n nextIndex = value.indexOf(C_NEWLINE, index);\n startIndex = index;\n prefixed = false;\n indented = false;\n\n if (nextIndex === -1) {\n nextIndex = length;\n }\n\n end = index + TAB_SIZE;\n size = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n index++;\n }\n\n if (size >= TAB_SIZE) {\n indented = true;\n }\n\n if (item && size >= item.indent) {\n indented = true;\n }\n\n character = value.charAt(index);\n currentMarker = null;\n\n if (!indented) {\n if (LIST_UNORDERED_MARKERS[character] === true) {\n currentMarker = character;\n index++;\n size++;\n } else {\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!decimal(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n index++;\n\n if (queue && markers[character] === true) {\n currentMarker = character;\n size += queue.length + 1;\n }\n }\n\n if (currentMarker) {\n character = value.charAt(index);\n\n if (character === C_TAB) {\n size += TAB_SIZE - (size % TAB_SIZE);\n index++;\n } else if (character === C_SPACE) {\n end = index + TAB_SIZE;\n\n while (index < end) {\n if (value.charAt(index) !== C_SPACE) {\n break;\n }\n\n index++;\n size++;\n }\n\n if (index === end && value.charAt(index) === C_SPACE) {\n index -= TAB_SIZE - 1;\n size -= TAB_SIZE - 1;\n }\n } else if (character !== C_NEWLINE && character !== '') {\n currentMarker = null;\n }\n }\n }\n\n if (currentMarker) {\n if (!pedantic && marker !== currentMarker) {\n break;\n }\n\n prefixed = true;\n } else {\n if (!commonmark && !indented && value.charAt(startIndex) === C_SPACE) {\n indented = true;\n } else if (commonmark && item) {\n indented = size >= item.indent || size > TAB_SIZE;\n }\n\n prefixed = false;\n index = startIndex;\n }\n\n line = value.slice(startIndex, nextIndex);\n content = startIndex === index ? line : value.slice(index, nextIndex);\n\n if (\n currentMarker === C_ASTERISK ||\n currentMarker === C_UNDERSCORE ||\n currentMarker === C_DASH\n ) {\n if (tokenizers.thematicBreak.call(self, eat, line, true)) {\n break;\n }\n }\n\n prevEmpty = empty;\n empty = !trim(content).length;\n\n if (indented && item) {\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (prefixed) {\n if (emptyLines.length !== 0) {\n item.value.push('');\n item.trail = emptyLines.concat();\n }\n\n item = {\n value: [line],\n indent: size,\n trail: []\n };\n\n items.push(item);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n } else if (empty) {\n if (prevEmpty) {\n break;\n }\n\n emptyLines.push(line);\n } else {\n if (prevEmpty) {\n break;\n }\n\n if (interrupt(interuptors, tokenizers, self, [eat, line, true])) {\n break;\n }\n\n item.value = item.value.concat(emptyLines, line);\n allLines = allLines.concat(emptyLines, line);\n emptyLines = [];\n }\n\n index = nextIndex + 1;\n }\n\n node = eat(allLines.join(C_NEWLINE)).reset({\n type: 'list',\n ordered: ordered,\n start: start,\n loose: null,\n children: []\n });\n\n enterTop = self.enterList();\n exitBlockquote = self.enterBlock();\n isLoose = false;\n index = -1;\n length = items.length;\n\n while (++index < length) {\n item = items[index].value.join(C_NEWLINE);\n now = eat.now();\n\n item = eat(item)(listItem(self, item, now), node);\n\n if (item.loose) {\n isLoose = true;\n }\n\n item = items[index].trail.join(C_NEWLINE);\n\n if (index !== length - 1) {\n item += C_NEWLINE;\n }\n\n eat(item);\n }\n\n enterTop();\n exitBlockquote();\n\n node.loose = isLoose;\n\n return node;\n}\n\nfunction listItem(ctx, value, position) {\n var offsets = ctx.offset;\n var fn = ctx.options.pedantic ? pedanticListItem : normalListItem;\n var checked = null;\n var task;\n var indent;\n\n value = fn.apply(null, arguments);\n\n if (ctx.options.gfm) {\n task = value.match(EXPRESSION_TASK_ITEM);\n\n if (task) {\n indent = task[0].length;\n checked = task[1].toLowerCase() === C_X_LOWER;\n offsets[position.line] += indent;\n value = value.slice(indent);\n }\n }\n\n return {\n type: 'listItem',\n loose: EXPRESSION_LOOSE_LIST_ITEM.test(value) ||\n value.charAt(value.length - 1) === C_NEWLINE,\n checked: checked,\n children: ctx.tokenizeBlock(value, position)\n };\n}\n\n/* Create a list-item using overly simple mechanics. */\nfunction pedanticListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_PEDANTIC_BULLET, replacer);\n\n /* The initial line was also matched by the below, so\n * we reset the `line`. */\n line = position.line;\n\n return value.replace(EXPRESSION_INITIAL_INDENT, replacer);\n\n /* A simple replacer which removed all matches,\n * and adds their length to `offset`. */\n function replacer($0) {\n offsets[line] = (offsets[line] || 0) + $0.length;\n line++;\n\n return '';\n }\n}\n\n/* Create a list-item using sane mechanics. */\nfunction normalListItem(ctx, value, position) {\n var offsets = ctx.offset;\n var line = position.line;\n var max;\n var bullet;\n var rest;\n var lines;\n var trimmedLines;\n var index;\n var length;\n\n /* Remove the list-item’s bullet. */\n value = value.replace(EXPRESSION_BULLET, replacer);\n\n lines = value.split(C_NEWLINE);\n\n trimmedLines = removeIndent(value, getIndent(max).indent).split(C_NEWLINE);\n\n /* We replaced the initial bullet with something\n * else above, which was used to trick\n * `removeIndentation` into removing some more\n * characters when possible. However, that could\n * result in the initial line to be stripped more\n * than it should be. */\n trimmedLines[0] = rest;\n\n offsets[line] = (offsets[line] || 0) + bullet.length;\n line++;\n\n index = 0;\n length = lines.length;\n\n while (++index < length) {\n offsets[line] = (offsets[line] || 0) +\n lines[index].length - trimmedLines[index].length;\n line++;\n }\n\n return trimmedLines.join(C_NEWLINE);\n\n function replacer($0, $1, $2, $3, $4) {\n bullet = $1 + $2 + $3;\n rest = $4;\n\n /* Make sure that the first nine numbered list items\n * can indent with an extra space. That is, when\n * the bullet did not receive an extra final space. */\n if (Number($2) < 10 && bullet.length % 2 === 1) {\n $2 = C_SPACE + $2;\n }\n\n max = $1 + repeat(C_SPACE, $2.length) + $3;\n\n return max + rest;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/list.js\n// module id = 914\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar repeat = require('repeat-string');\nvar getIndent = require('./get-indentation');\n\nmodule.exports = indentation;\n\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\n/* Remove the minimum indent from every line in `value`.\n * Supports both tab, spaced, and mixed indentation (as\n * well as possible). */\nfunction indentation(value, maximum) {\n var values = value.split(C_NEWLINE);\n var position = values.length + 1;\n var minIndent = Infinity;\n var matrix = [];\n var index;\n var indentation;\n var stops;\n var padding;\n\n values.unshift(repeat(C_SPACE, maximum) + '!');\n\n while (position--) {\n indentation = getIndent(values[position]);\n\n matrix[position] = indentation.stops;\n\n if (trim(values[position]).length === 0) {\n continue;\n }\n\n if (indentation.indent) {\n if (indentation.indent > 0 && indentation.indent < minIndent) {\n minIndent = indentation.indent;\n }\n } else {\n minIndent = Infinity;\n\n break;\n }\n }\n\n if (minIndent !== Infinity) {\n position = values.length;\n\n while (position--) {\n stops = matrix[position];\n index = minIndent;\n\n while (index && !(index in stops)) {\n index--;\n }\n\n if (\n trim(values[position]).length !== 0 &&\n minIndent &&\n index !== minIndent\n ) {\n padding = C_TAB;\n } else {\n padding = '';\n }\n\n values[position] = padding + values[position].slice(\n index in stops ? stops[index] + 1 : 0\n );\n }\n }\n\n values.shift();\n\n return values.join(C_NEWLINE);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/util/remove-indentation.js\n// module id = 915\n// module chunks = 33","'use strict';\n\nmodule.exports = setextHeading;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_EQUALS = '=';\nvar C_DASH = '-';\n\nvar MAX_HEADING_INDENT = 3;\n\n/* Map of characters which can be used to mark setext\n * headers, mapping to their corresponding depth. */\nvar SETEXT_MARKERS = {};\n\nSETEXT_MARKERS[C_EQUALS] = 1;\nSETEXT_MARKERS[C_DASH] = 2;\n\nfunction setextHeading(eat, value, silent) {\n var self = this;\n var now = eat.now();\n var length = value.length;\n var index = -1;\n var subvalue = '';\n var content;\n var queue;\n var character;\n var marker;\n var depth;\n\n /* Eat initial indentation. */\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE || index >= MAX_HEADING_INDENT) {\n index--;\n break;\n }\n\n subvalue += character;\n }\n\n /* Eat content. */\n content = '';\n queue = '';\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n index--;\n break;\n }\n\n if (character === C_SPACE || character === C_TAB) {\n queue += character;\n } else {\n content += queue + character;\n queue = '';\n }\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n subvalue += content + queue;\n\n /* Ensure the content is followed by a newline and a\n * valid marker. */\n character = value.charAt(++index);\n marker = value.charAt(++index);\n\n if (character !== C_NEWLINE || !SETEXT_MARKERS[marker]) {\n return;\n }\n\n subvalue += character;\n\n /* Eat Setext-line. */\n queue = marker;\n depth = SETEXT_MARKERS[marker];\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character !== marker) {\n if (character !== C_NEWLINE) {\n return;\n }\n\n index--;\n break;\n }\n\n queue += character;\n }\n\n if (silent) {\n return true;\n }\n\n return eat(subvalue + queue)({\n type: 'heading',\n depth: depth,\n children: self.tokenizeInline(content, now)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/heading-setext.js\n// module id = 916\n// module chunks = 33","'use strict';\n\nvar openCloseTag = require('../util/html').openCloseTag;\n\nmodule.exports = blockHTML;\n\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_LT = '<';\n\nfunction blockHTML(eat, value, silent) {\n var self = this;\n var blocks = self.options.blocks;\n var length = value.length;\n var index = 0;\n var next;\n var line;\n var offset;\n var character;\n var count;\n var sequence;\n var subvalue;\n\n var sequences = [\n [/^<(script|pre|style)(?=(\\s|>|$))/i, /<\\/(script|pre|style)>/i, true],\n [/^/, true],\n [/^<\\?/, /\\?>/, true],\n [/^/, true],\n [/^/, true],\n [new RegExp('^|$))', 'i'), /^$/, true],\n [new RegExp(openCloseTag.source + '\\\\s*$'), /^$/, false]\n ];\n\n /* Eat initial spacing. */\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n index++;\n }\n\n if (value.charAt(index) !== C_LT) {\n return;\n }\n\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index, next);\n offset = -1;\n count = sequences.length;\n\n while (++offset < count) {\n if (sequences[offset][0].test(line)) {\n sequence = sequences[offset];\n break;\n }\n }\n\n if (!sequence) {\n return;\n }\n\n if (silent) {\n return sequence[2];\n }\n\n index = next;\n\n if (!sequence[1].test(line)) {\n while (index < length) {\n next = value.indexOf(C_NEWLINE, index + 1);\n next = next === -1 ? length : next;\n line = value.slice(index + 1, next);\n\n if (sequence[1].test(line)) {\n if (line) {\n index = next;\n }\n\n break;\n }\n\n index = next;\n }\n }\n\n subvalue = value.slice(0, index);\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/html-block.js\n// module id = 917\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar normalize = require('../util/normalize');\n\nmodule.exports = footnoteDefinition;\nfootnoteDefinition.notInList = true;\nfootnoteDefinition.notInBlock = true;\n\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_CARET = '^';\nvar C_COLON = ':';\n\nvar EXPRESSION_INITIAL_TAB = /^( {4}|\\t)?/gm;\n\nfunction footnoteDefinition(eat, value, silent) {\n var self = this;\n var offsets = self.offset;\n var index;\n var length;\n var subvalue;\n var now;\n var currentLine;\n var content;\n var queue;\n var subqueue;\n var character;\n var identifier;\n var add;\n var exit;\n\n if (!self.options.footnotes) {\n return;\n }\n\n index = 0;\n length = value.length;\n subvalue = '';\n now = eat.now();\n currentLine = now.line;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n if (\n value.charAt(index) !== C_BRACKET_OPEN ||\n value.charAt(index + 1) !== C_CARET\n ) {\n return;\n }\n\n subvalue += C_BRACKET_OPEN + C_CARET;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n if (silent) {\n return true;\n }\n\n identifier = normalize(queue);\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n now.column += subvalue.length;\n now.offset += subvalue.length;\n queue = '';\n content = '';\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_NEWLINE) {\n subqueue = character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_NEWLINE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n queue += subqueue;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n\n if (subqueue.length === 0) {\n break;\n }\n\n queue += subqueue;\n }\n\n if (queue) {\n content += queue;\n queue = '';\n }\n\n content += character;\n index++;\n }\n\n subvalue += content;\n\n content = content.replace(EXPRESSION_INITIAL_TAB, function (line) {\n offsets[currentLine] = (offsets[currentLine] || 0) + line.length;\n currentLine++;\n\n return '';\n });\n\n add = eat(subvalue);\n\n exit = self.enterBlock();\n content = self.tokenizeBlock(content, now);\n exit();\n\n return add({\n type: 'footnoteDefinition',\n identifier: identifier,\n children: content\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/footnote-definition.js\n// module id = 918\n// module chunks = 33","'use strict'\n\nmodule.exports = collapse\n\n/* collapse(' \\t\\nbar \\nbaz\\t'); // ' bar baz ' */\nfunction collapse(value) {\n return String(value).replace(/\\s+/g, ' ')\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_collapse-white-space@1.0.4@collapse-white-space/index.js\n// module id = 919\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar normalize = require('../util/normalize');\n\nmodule.exports = definition;\ndefinition.notInList = true;\ndefinition.notInBlock = true;\n\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\nvar C_BACKSLASH = '\\\\';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_COLON = ':';\nvar C_LT = '<';\nvar C_GT = '>';\n\nfunction definition(eat, value, silent) {\n var self = this;\n var commonmark = self.options.commonmark;\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var beforeURL;\n var beforeTitle;\n var queue;\n var character;\n var test;\n var identifier;\n var url;\n var title;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_SPACE && character !== C_TAB) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n break;\n } else if (character === C_BACKSLASH) {\n queue += character;\n index++;\n character = value.charAt(index);\n }\n\n queue += character;\n index++;\n }\n\n if (\n !queue ||\n value.charAt(index) !== C_BRACKET_CLOSE ||\n value.charAt(index + 1) !== C_COLON\n ) {\n return;\n }\n\n identifier = queue;\n subvalue += queue + C_BRACKET_CLOSE + C_COLON;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!isEnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === isEnclosedURLCharacter.delimiter) {\n subvalue += C_LT + queue + character;\n index++;\n } else {\n if (commonmark) {\n return;\n }\n\n index -= queue.length + 1;\n queue = '';\n }\n }\n\n if (!queue) {\n while (index < length) {\n character = value.charAt(index);\n\n if (!isUnclosedURLCharacter(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n subvalue += queue;\n }\n\n if (!queue) {\n return;\n }\n\n url = queue;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n character !== C_TAB &&\n character !== C_SPACE &&\n character !== C_NEWLINE\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n test = null;\n\n if (character === C_DOUBLE_QUOTE) {\n test = C_DOUBLE_QUOTE;\n } else if (character === C_SINGLE_QUOTE) {\n test = C_SINGLE_QUOTE;\n } else if (character === C_PAREN_OPEN) {\n test = C_PAREN_CLOSE;\n }\n\n if (!test) {\n queue = '';\n index = subvalue.length;\n } else if (queue) {\n subvalue += queue + character;\n index = subvalue.length;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === test) {\n break;\n }\n\n if (character === C_NEWLINE) {\n index++;\n character = value.charAt(index);\n\n if (character === C_NEWLINE || character === test) {\n return;\n }\n\n queue += C_NEWLINE;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character !== test) {\n return;\n }\n\n beforeTitle = subvalue;\n subvalue += queue + character;\n index++;\n title = queue;\n queue = '';\n } else {\n return;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character !== C_TAB && character !== C_SPACE) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!character || character === C_NEWLINE) {\n if (silent) {\n return true;\n }\n\n beforeURL = eat(beforeURL).test().end;\n url = self.decode.raw(self.unescape(url), beforeURL, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n return eat(subvalue)({\n type: 'definition',\n identifier: normalize(identifier),\n title: title || null,\n url: url\n });\n }\n}\n\n/* Check if `character` can be inside an enclosed URI. */\nfunction isEnclosedURLCharacter(character) {\n return character !== C_GT &&\n character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE;\n}\n\nisEnclosedURLCharacter.delimiter = C_GT;\n\n/* Check if `character` can be inside an unclosed URI. */\nfunction isUnclosedURLCharacter(character) {\n return character !== C_BRACKET_OPEN &&\n character !== C_BRACKET_CLOSE &&\n !whitespace(character);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/definition.js\n// module id = 920\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\n\nmodule.exports = table;\n\nvar C_BACKSLASH = '\\\\';\nvar C_TICK = '`';\nvar C_DASH = '-';\nvar C_PIPE = '|';\nvar C_COLON = ':';\nvar C_SPACE = ' ';\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\n\nvar MIN_TABLE_COLUMNS = 1;\nvar MIN_TABLE_ROWS = 2;\n\nvar TABLE_ALIGN_LEFT = 'left';\nvar TABLE_ALIGN_CENTER = 'center';\nvar TABLE_ALIGN_RIGHT = 'right';\nvar TABLE_ALIGN_NONE = null;\n\nfunction table(eat, value, silent) {\n var self = this;\n var index;\n var alignments;\n var alignment;\n var subvalue;\n var row;\n var length;\n var lines;\n var queue;\n var character;\n var hasDash;\n var align;\n var cell;\n var preamble;\n var count;\n var opening;\n var now;\n var position;\n var lineCount;\n var line;\n var rows;\n var table;\n var lineIndex;\n var pipeIndex;\n var first;\n\n /* Exit when not in gfm-mode. */\n if (!self.options.gfm) {\n return;\n }\n\n /* Get the rows.\n * Detecting tables soon is hard, so there are some\n * checks for performance here, such as the minimum\n * number of rows, and allowed characters in the\n * alignment row. */\n index = 0;\n lineCount = 0;\n length = value.length + 1;\n lines = [];\n\n while (index < length) {\n lineIndex = value.indexOf(C_NEWLINE, index);\n pipeIndex = value.indexOf(C_PIPE, index + 1);\n\n if (lineIndex === -1) {\n lineIndex = value.length;\n }\n\n if (pipeIndex === -1 || pipeIndex > lineIndex) {\n if (lineCount < MIN_TABLE_ROWS) {\n return;\n }\n\n break;\n }\n\n lines.push(value.slice(index, lineIndex));\n lineCount++;\n index = lineIndex + 1;\n }\n\n /* Parse the alignment row. */\n subvalue = lines.join(C_NEWLINE);\n alignments = lines.splice(1, 1)[0] || [];\n index = 0;\n length = alignments.length;\n lineCount--;\n alignment = false;\n align = [];\n\n while (index < length) {\n character = alignments.charAt(index);\n\n if (character === C_PIPE) {\n hasDash = null;\n\n if (alignment === false) {\n if (first === false) {\n return;\n }\n } else {\n align.push(alignment);\n alignment = false;\n }\n\n first = false;\n } else if (character === C_DASH) {\n hasDash = true;\n alignment = alignment || TABLE_ALIGN_NONE;\n } else if (character === C_COLON) {\n if (alignment === TABLE_ALIGN_LEFT) {\n alignment = TABLE_ALIGN_CENTER;\n } else if (hasDash && alignment === TABLE_ALIGN_NONE) {\n alignment = TABLE_ALIGN_RIGHT;\n } else {\n alignment = TABLE_ALIGN_LEFT;\n }\n } else if (!whitespace(character)) {\n return;\n }\n\n index++;\n }\n\n if (alignment !== false) {\n align.push(alignment);\n }\n\n /* Exit when without enough columns. */\n if (align.length < MIN_TABLE_COLUMNS) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n /* Parse the rows. */\n position = -1;\n rows = [];\n\n table = eat(subvalue).reset({\n type: 'table',\n align: align,\n children: rows\n });\n\n while (++position < lineCount) {\n line = lines[position];\n row = {type: 'tableRow', children: []};\n\n /* Eat a newline character when this is not the\n * first row. */\n if (position) {\n eat(C_NEWLINE);\n }\n\n /* Eat the row. */\n eat(line).reset(row, table);\n\n length = line.length + 1;\n index = 0;\n queue = '';\n cell = '';\n preamble = true;\n count = null;\n opening = null;\n\n while (index < length) {\n character = line.charAt(index);\n\n if (character === C_TAB || character === C_SPACE) {\n if (cell) {\n queue += character;\n } else {\n eat(character);\n }\n\n index++;\n continue;\n }\n\n if (character === '' || character === C_PIPE) {\n if (preamble) {\n eat(character);\n } else {\n if (character && opening) {\n queue += character;\n index++;\n continue;\n }\n\n if ((cell || character) && !preamble) {\n subvalue = cell;\n\n if (queue.length > 1) {\n if (character) {\n subvalue += queue.slice(0, queue.length - 1);\n queue = queue.charAt(queue.length - 1);\n } else {\n subvalue += queue;\n queue = '';\n }\n }\n\n now = eat.now();\n\n eat(subvalue)({\n type: 'tableCell',\n children: self.tokenizeInline(cell, now)\n }, row);\n }\n\n eat(queue + character);\n\n queue = '';\n cell = '';\n }\n } else {\n if (queue) {\n cell += queue;\n queue = '';\n }\n\n cell += character;\n\n if (character === C_BACKSLASH && index !== length - 2) {\n cell += line.charAt(index + 1);\n index++;\n }\n\n if (character === C_TICK) {\n count = 1;\n\n while (line.charAt(index + 1) === character) {\n cell += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n }\n }\n\n preamble = false;\n index++;\n }\n\n /* Eat the alignment row. */\n if (!position) {\n eat(C_NEWLINE + alignments);\n }\n }\n\n return table;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/table.js\n// module id = 921\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar decimal = require('is-decimal');\nvar trimTrailingLines = require('trim-trailing-lines');\nvar interrupt = require('../util/interrupt');\n\nmodule.exports = paragraph;\n\nvar C_NEWLINE = '\\n';\nvar C_TAB = '\\t';\nvar C_SPACE = ' ';\n\nvar TAB_SIZE = 4;\n\n/* Tokenise paragraph. */\nfunction paragraph(eat, value, silent) {\n var self = this;\n var settings = self.options;\n var commonmark = settings.commonmark;\n var gfm = settings.gfm;\n var tokenizers = self.blockTokenizers;\n var interruptors = self.interruptParagraph;\n var index = value.indexOf(C_NEWLINE);\n var length = value.length;\n var position;\n var subvalue;\n var character;\n var size;\n var now;\n\n while (index < length) {\n /* Eat everything if there’s no following newline. */\n if (index === -1) {\n index = length;\n break;\n }\n\n /* Stop if the next character is NEWLINE. */\n if (value.charAt(index + 1) === C_NEWLINE) {\n break;\n }\n\n /* In commonmark-mode, following indented lines\n * are part of the paragraph. */\n if (commonmark) {\n size = 0;\n position = index + 1;\n\n while (position < length) {\n character = value.charAt(position);\n\n if (character === C_TAB) {\n size = TAB_SIZE;\n break;\n } else if (character === C_SPACE) {\n size++;\n } else {\n break;\n }\n\n position++;\n }\n\n if (size >= TAB_SIZE) {\n index = value.indexOf(C_NEWLINE, index + 1);\n continue;\n }\n }\n\n subvalue = value.slice(index + 1);\n\n /* Check if the following code contains a possible\n * block. */\n if (interrupt(interruptors, tokenizers, self, [eat, subvalue, true])) {\n break;\n }\n\n /* Break if the following line starts a list, when\n * already in a list, or when in commonmark, or when\n * in gfm mode and the bullet is *not* numeric. */\n if (\n tokenizers.list.call(self, eat, subvalue, true) &&\n (\n self.inList ||\n commonmark ||\n (gfm && !decimal(trim.left(subvalue).charAt(0)))\n )\n ) {\n break;\n }\n\n position = index;\n index = value.indexOf(C_NEWLINE, index + 1);\n\n if (index !== -1 && trim(value.slice(position, index)) === '') {\n index = position;\n break;\n }\n }\n\n subvalue = value.slice(0, index);\n\n if (trim(subvalue) === '') {\n eat(subvalue);\n\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n subvalue = trimTrailingLines(subvalue);\n\n return eat(subvalue)({\n type: 'paragraph',\n children: self.tokenizeInline(subvalue, now)\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/paragraph.js\n// module id = 922\n// module chunks = 33","'use strict';\n\nvar locate = require('../locate/escape');\n\nmodule.exports = escape;\nescape.locator = locate;\n\nfunction escape(eat, value, silent) {\n var self = this;\n var character;\n var node;\n\n if (value.charAt(0) === '\\\\') {\n character = value.charAt(1);\n\n if (self.escape.indexOf(character) !== -1) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (character === '\\n') {\n node = {type: 'break'};\n } else {\n node = {\n type: 'text',\n value: character\n };\n }\n\n return eat('\\\\' + character)(node);\n }\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/escape.js\n// module id = 923\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('\\\\', fromIndex);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/escape.js\n// module id = 924\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar decode = require('parse-entities');\nvar locate = require('../locate/tag');\n\nmodule.exports = autoLink;\nautoLink.locator = locate;\nautoLink.notInLink = true;\n\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_AT_SIGN = '@';\nvar C_SLASH = '/';\nvar MAILTO = 'mailto:';\nvar MAILTO_LENGTH = MAILTO.length;\n\n/* Tokenise a link. */\nfunction autoLink(eat, value, silent) {\n var self;\n var subvalue;\n var length;\n var index;\n var queue;\n var character;\n var hasAtCharacter;\n var link;\n var now;\n var content;\n var tokenizers;\n var exit;\n\n if (value.charAt(0) !== C_LT) {\n return;\n }\n\n self = this;\n subvalue = '';\n length = value.length;\n index = 0;\n queue = '';\n hasAtCharacter = false;\n link = '';\n\n index++;\n subvalue = C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (\n whitespace(character) ||\n character === C_GT ||\n character === C_AT_SIGN ||\n (character === ':' && value.charAt(index + 1) === C_SLASH)\n ) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n link += queue;\n queue = '';\n\n character = value.charAt(index);\n link += character;\n index++;\n\n if (character === C_AT_SIGN) {\n hasAtCharacter = true;\n } else {\n if (\n character !== ':' ||\n value.charAt(index + 1) !== C_SLASH\n ) {\n return;\n }\n\n link += C_SLASH;\n index++;\n }\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_GT) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (!queue || character !== C_GT) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n link += queue;\n content = link;\n subvalue += link + character;\n now = eat.now();\n now.column++;\n now.offset++;\n\n if (hasAtCharacter) {\n if (link.slice(0, MAILTO_LENGTH).toLowerCase() === MAILTO) {\n content = content.substr(MAILTO_LENGTH);\n now.column += MAILTO_LENGTH;\n now.offset += MAILTO_LENGTH;\n } else {\n link = MAILTO + link;\n }\n }\n\n /* Temporarily remove all tokenizers except text in autolinks. */\n tokenizers = self.inlineTokenizers;\n self.inlineTokenizers = {text: tokenizers.text};\n\n exit = self.enterLink();\n\n content = self.tokenizeInline(content, now);\n\n self.inlineTokenizers = tokenizers;\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(link, {nonTerminated: false}),\n children: content\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/auto-link.js\n// module id = 925\n// module chunks = 33","'use strict';\n\nvar decode = require('parse-entities');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/url');\n\nmodule.exports = url;\nurl.locator = locate;\nurl.notInLink = true;\n\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_AT_SIGN = '@';\n\nvar HTTP_PROTOCOL = 'http://';\nvar HTTPS_PROTOCOL = 'https://';\nvar MAILTO_PROTOCOL = 'mailto:';\n\nvar PROTOCOLS = [\n HTTP_PROTOCOL,\n HTTPS_PROTOCOL,\n MAILTO_PROTOCOL\n];\n\nvar PROTOCOLS_LENGTH = PROTOCOLS.length;\n\nfunction url(eat, value, silent) {\n var self = this;\n var subvalue;\n var content;\n var character;\n var index;\n var position;\n var protocol;\n var match;\n var length;\n var queue;\n var parenCount;\n var nextCharacter;\n var exit;\n\n if (!self.options.gfm) {\n return;\n }\n\n subvalue = '';\n index = -1;\n length = PROTOCOLS_LENGTH;\n\n while (++index < length) {\n protocol = PROTOCOLS[index];\n match = value.slice(0, protocol.length);\n\n if (match.toLowerCase() === protocol) {\n subvalue = match;\n break;\n }\n }\n\n if (!subvalue) {\n return;\n }\n\n index = subvalue.length;\n length = value.length;\n queue = '';\n parenCount = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (whitespace(character) || character === C_LT) {\n break;\n }\n\n if (\n character === '.' ||\n character === ',' ||\n character === ':' ||\n character === ';' ||\n character === '\"' ||\n character === '\\'' ||\n character === ')' ||\n character === ']'\n ) {\n nextCharacter = value.charAt(index + 1);\n\n if (!nextCharacter || whitespace(nextCharacter)) {\n break;\n }\n }\n\n if (character === C_PAREN_OPEN || character === C_BRACKET_OPEN) {\n parenCount++;\n }\n\n if (character === C_PAREN_CLOSE || character === C_BRACKET_CLOSE) {\n parenCount--;\n\n if (parenCount < 0) {\n break;\n }\n }\n\n queue += character;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue += queue;\n content = subvalue;\n\n if (protocol === MAILTO_PROTOCOL) {\n position = queue.indexOf(C_AT_SIGN);\n\n if (position === -1 || position === length - 1) {\n return;\n }\n\n content = content.substr(MAILTO_PROTOCOL.length);\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n exit = self.enterLink();\n content = self.tokenizeInline(content, eat.now());\n exit();\n\n return eat(subvalue)({\n type: 'link',\n title: null,\n url: decode(subvalue, {nonTerminated: false}),\n children: content\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/url.js\n// module id = 926\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nvar PROTOCOLS = ['https://', 'http://', 'mailto:'];\n\nfunction locate(value, fromIndex) {\n var length = PROTOCOLS.length;\n var index = -1;\n var min = -1;\n var position;\n\n if (!this.options.gfm) {\n return -1;\n }\n\n while (++index < length) {\n position = value.indexOf(PROTOCOLS[index], fromIndex);\n\n if (position !== -1 && (position < min || min === -1)) {\n min = position;\n }\n }\n\n return min;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/url.js\n// module id = 927\n// module chunks = 33","'use strict';\n\nvar alphabetical = require('is-alphabetical');\nvar locate = require('../locate/tag');\nvar tag = require('../util/html').tag;\n\nmodule.exports = inlineHTML;\ninlineHTML.locator = locate;\n\nvar EXPRESSION_HTML_LINK_OPEN = /^/i;\n\nfunction inlineHTML(eat, value, silent) {\n var self = this;\n var length = value.length;\n var character;\n var subvalue;\n\n if (value.charAt(0) !== '<' || length < 3) {\n return;\n }\n\n character = value.charAt(1);\n\n if (\n !alphabetical(character) &&\n character !== '?' &&\n character !== '!' &&\n character !== '/'\n ) {\n return;\n }\n\n subvalue = value.match(tag);\n\n if (!subvalue) {\n return;\n }\n\n /* istanbul ignore if - not used yet. */\n if (silent) {\n return true;\n }\n\n subvalue = subvalue[0];\n\n if (!self.inLink && EXPRESSION_HTML_LINK_OPEN.test(subvalue)) {\n self.inLink = true;\n } else if (self.inLink && EXPRESSION_HTML_LINK_CLOSE.test(subvalue)) {\n self.inLink = false;\n }\n\n return eat(subvalue)({type: 'html', value: subvalue});\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/html-inline.js\n// module id = 928\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/link');\n\nmodule.exports = link;\nlink.locator = locate;\n\nvar own = {}.hasOwnProperty;\n\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\nvar C_PAREN_OPEN = '(';\nvar C_PAREN_CLOSE = ')';\nvar C_LT = '<';\nvar C_GT = '>';\nvar C_TICK = '`';\nvar C_DOUBLE_QUOTE = '\"';\nvar C_SINGLE_QUOTE = '\\'';\n\n/* Map of characters, which can be used to mark link\n * and image titles. */\nvar LINK_MARKERS = {};\n\nLINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nLINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\n\n/* Map of characters, which can be used to mark link\n * and image titles in commonmark-mode. */\nvar COMMONMARK_LINK_MARKERS = {};\n\nCOMMONMARK_LINK_MARKERS[C_DOUBLE_QUOTE] = C_DOUBLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_SINGLE_QUOTE] = C_SINGLE_QUOTE;\nCOMMONMARK_LINK_MARKERS[C_PAREN_OPEN] = C_PAREN_CLOSE;\n\nfunction link(eat, value, silent) {\n var self = this;\n var subvalue = '';\n var index = 0;\n var character = value.charAt(0);\n var pedantic = self.options.pedantic;\n var commonmark = self.options.commonmark;\n var gfm = self.options.gfm;\n var closed;\n var count;\n var opening;\n var beforeURL;\n var beforeTitle;\n var subqueue;\n var hasMarker;\n var markers;\n var isImage;\n var content;\n var marker;\n var length;\n var title;\n var depth;\n var queue;\n var url;\n var now;\n var exit;\n var node;\n\n /* Detect whether this is an image. */\n if (character === '!') {\n isImage = true;\n subvalue = character;\n character = value.charAt(++index);\n }\n\n /* Eat the opening. */\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n /* Exit when this is a link and we’re already inside\n * a link. */\n if (!isImage && self.inLink) {\n return;\n }\n\n subvalue += character;\n queue = '';\n index++;\n\n /* Eat the content. */\n length = value.length;\n now = eat.now();\n depth = 0;\n\n now.column += index;\n now.offset += index;\n\n while (index < length) {\n character = value.charAt(index);\n subqueue = character;\n\n if (character === C_TICK) {\n /* Inline-code in link content. */\n count = 1;\n\n while (value.charAt(index + 1) === C_TICK) {\n subqueue += character;\n index++;\n count++;\n }\n\n if (!opening) {\n opening = count;\n } else if (count >= opening) {\n opening = 0;\n }\n } else if (character === C_BACKSLASH) {\n /* Allow brackets to be escaped. */\n index++;\n subqueue += value.charAt(index);\n /* In GFM mode, brackets in code still count.\n * In all other modes, they don’t. This empty\n * block prevents the next statements are\n * entered. */\n } else if ((!opening || gfm) && character === C_BRACKET_OPEN) {\n depth++;\n } else if ((!opening || gfm) && character === C_BRACKET_CLOSE) {\n if (depth) {\n depth--;\n } else {\n /* Allow white-space between content and\n * url in GFM mode. */\n if (!pedantic) {\n while (index < length) {\n character = value.charAt(index + 1);\n\n if (!whitespace(character)) {\n break;\n }\n\n subqueue += character;\n index++;\n }\n }\n\n if (value.charAt(index + 1) !== C_PAREN_OPEN) {\n return;\n }\n\n subqueue += C_PAREN_OPEN;\n closed = true;\n index++;\n\n break;\n }\n }\n\n queue += subqueue;\n subqueue = '';\n index++;\n }\n\n /* Eat the content closing. */\n if (!closed) {\n return;\n }\n\n content = queue;\n subvalue += queue + subqueue;\n index++;\n\n /* Eat white-space. */\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n\n /* Eat the URL. */\n character = value.charAt(index);\n markers = commonmark ? COMMONMARK_LINK_MARKERS : LINK_MARKERS;\n queue = '';\n beforeURL = subvalue;\n\n if (character === C_LT) {\n index++;\n beforeURL += C_LT;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_GT) {\n break;\n }\n\n if (commonmark && character === '\\n') {\n return;\n }\n\n queue += character;\n index++;\n }\n\n if (value.charAt(index) !== C_GT) {\n return;\n }\n\n subvalue += C_LT + queue + C_GT;\n url = queue;\n index++;\n } else {\n character = null;\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (subqueue && own.call(markers, character)) {\n break;\n }\n\n if (whitespace(character)) {\n if (!pedantic) {\n break;\n }\n\n subqueue += character;\n } else {\n if (character === C_PAREN_OPEN) {\n depth++;\n } else if (character === C_PAREN_CLOSE) {\n if (depth === 0) {\n break;\n }\n\n depth--;\n }\n\n queue += subqueue;\n subqueue = '';\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n }\n\n index++;\n }\n\n subvalue += queue;\n url = queue;\n index = subvalue.length;\n }\n\n /* Eat white-space. */\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n subvalue += queue;\n\n /* Eat the title. */\n if (queue && own.call(markers, character)) {\n index++;\n subvalue += character;\n queue = '';\n marker = markers[character];\n beforeTitle = subvalue;\n\n /* In commonmark-mode, things are pretty easy: the\n * marker cannot occur inside the title.\n *\n * Non-commonmark does, however, support nested\n * delimiters. */\n if (commonmark) {\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n index++;\n queue += character;\n }\n\n character = value.charAt(index);\n\n if (character !== marker) {\n return;\n }\n\n title = queue;\n subvalue += queue + character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n subvalue += character;\n index++;\n }\n } else {\n subqueue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === marker) {\n if (hasMarker) {\n queue += marker + subqueue;\n subqueue = '';\n }\n\n hasMarker = true;\n } else if (!hasMarker) {\n queue += character;\n } else if (character === C_PAREN_CLOSE) {\n subvalue += queue + marker + subqueue;\n title = queue;\n break;\n } else if (whitespace(character)) {\n subqueue += character;\n } else {\n queue += marker + subqueue + character;\n subqueue = '';\n hasMarker = false;\n }\n\n index++;\n }\n }\n }\n\n if (value.charAt(index) !== C_PAREN_CLOSE) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n subvalue += C_PAREN_CLOSE;\n\n url = self.decode.raw(self.unescape(url), eat(beforeURL).test().end, {nonTerminated: false});\n\n if (title) {\n beforeTitle = eat(beforeTitle).test().end;\n title = self.decode.raw(self.unescape(title), beforeTitle);\n }\n\n node = {\n type: isImage ? 'image' : 'link',\n title: title || null,\n url: url\n };\n\n if (isImage) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n } else {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n }\n\n return eat(subvalue)(node);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/link.js\n// module id = 929\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/link');\nvar normalize = require('../util/normalize');\n\nmodule.exports = reference;\nreference.locator = locate;\n\nvar T_LINK = 'link';\nvar T_IMAGE = 'image';\nvar T_FOOTNOTE = 'footnote';\nvar REFERENCE_TYPE_SHORTCUT = 'shortcut';\nvar REFERENCE_TYPE_COLLAPSED = 'collapsed';\nvar REFERENCE_TYPE_FULL = 'full';\nvar C_CARET = '^';\nvar C_BACKSLASH = '\\\\';\nvar C_BRACKET_OPEN = '[';\nvar C_BRACKET_CLOSE = ']';\n\nfunction reference(eat, value, silent) {\n var self = this;\n var character = value.charAt(0);\n var index = 0;\n var length = value.length;\n var subvalue = '';\n var intro = '';\n var type = T_LINK;\n var referenceType = REFERENCE_TYPE_SHORTCUT;\n var content;\n var identifier;\n var now;\n var node;\n var exit;\n var queue;\n var bracketed;\n var depth;\n\n /* Check whether we’re eating an image. */\n if (character === '!') {\n type = T_IMAGE;\n intro = character;\n character = value.charAt(++index);\n }\n\n if (character !== C_BRACKET_OPEN) {\n return;\n }\n\n index++;\n intro += character;\n queue = '';\n\n /* Check whether we’re eating a footnote. */\n if (self.options.footnotes && value.charAt(index) === C_CARET) {\n /* Exit if `![^` is found, so the `!` will be seen as text after this,\n * and we’ll enter this function again when `[^` is found. */\n if (type === T_IMAGE) {\n return;\n }\n\n intro += C_CARET;\n index++;\n type = T_FOOTNOTE;\n }\n\n /* Eat the text. */\n depth = 0;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN) {\n bracketed = true;\n depth++;\n } else if (character === C_BRACKET_CLOSE) {\n if (!depth) {\n break;\n }\n\n depth--;\n }\n\n if (character === C_BACKSLASH) {\n queue += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n\n subvalue = queue;\n content = queue;\n character = value.charAt(index);\n\n if (character !== C_BRACKET_CLOSE) {\n return;\n }\n\n index++;\n subvalue += character;\n queue = '';\n\n while (index < length) {\n character = value.charAt(index);\n\n if (!whitespace(character)) {\n break;\n }\n\n queue += character;\n index++;\n }\n\n character = value.charAt(index);\n\n /* Inline footnotes cannot have an identifier. */\n if (type !== T_FOOTNOTE && character === C_BRACKET_OPEN) {\n identifier = '';\n queue += character;\n index++;\n\n while (index < length) {\n character = value.charAt(index);\n\n if (character === C_BRACKET_OPEN || character === C_BRACKET_CLOSE) {\n break;\n }\n\n if (character === C_BACKSLASH) {\n identifier += C_BACKSLASH;\n character = value.charAt(++index);\n }\n\n identifier += character;\n index++;\n }\n\n character = value.charAt(index);\n\n if (character === C_BRACKET_CLOSE) {\n referenceType = identifier ? REFERENCE_TYPE_FULL : REFERENCE_TYPE_COLLAPSED;\n queue += identifier + character;\n index++;\n } else {\n identifier = '';\n }\n\n subvalue += queue;\n queue = '';\n } else {\n if (!content) {\n return;\n }\n\n identifier = content;\n }\n\n /* Brackets cannot be inside the identifier. */\n if (referenceType !== REFERENCE_TYPE_FULL && bracketed) {\n return;\n }\n\n subvalue = intro + subvalue;\n\n if (type === T_LINK && self.inLink) {\n return null;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n if (type === T_FOOTNOTE && content.indexOf(' ') !== -1) {\n return eat(subvalue)({\n type: 'footnote',\n children: this.tokenizeInline(content, eat.now())\n });\n }\n\n now = eat.now();\n now.column += intro.length;\n now.offset += intro.length;\n identifier = referenceType === REFERENCE_TYPE_FULL ? identifier : content;\n\n node = {\n type: type + 'Reference',\n identifier: normalize(identifier)\n };\n\n if (type === T_LINK || type === T_IMAGE) {\n node.referenceType = referenceType;\n }\n\n if (type === T_LINK) {\n exit = self.enterLink();\n node.children = self.tokenizeInline(content, now);\n exit();\n } else if (type === T_IMAGE) {\n node.alt = self.decode.raw(self.unescape(content), now) || null;\n }\n\n return eat(subvalue)(node);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/reference.js\n// module id = 930\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/strong');\n\nmodule.exports = strong;\nstrong.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction strong(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (\n (character !== C_ASTERISK && character !== C_UNDERSCORE) ||\n value.charAt(++index) !== character\n ) {\n return;\n }\n\n pedantic = self.options.pedantic;\n marker = character;\n subvalue = marker + marker;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (\n character === marker &&\n value.charAt(index + 1) === marker &&\n (!pedantic || !whitespace(prev))\n ) {\n character = value.charAt(index + 2);\n\n if (character !== marker) {\n if (!trim(queue)) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n return eat(subvalue + queue + subvalue)({\n type: 'strong',\n children: self.tokenizeInline(queue, now)\n });\n }\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/strong.js\n// module id = 931\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('**', fromIndex);\n var underscore = value.indexOf('__', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/strong.js\n// module id = 932\n// module chunks = 33","'use strict';\n\nvar trim = require('trim');\nvar word = require('is-word-character');\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/emphasis');\n\nmodule.exports = emphasis;\nemphasis.locator = locate;\n\nvar C_ASTERISK = '*';\nvar C_UNDERSCORE = '_';\n\nfunction emphasis(eat, value, silent) {\n var self = this;\n var index = 0;\n var character = value.charAt(index);\n var now;\n var pedantic;\n var marker;\n var queue;\n var subvalue;\n var length;\n var prev;\n\n if (character !== C_ASTERISK && character !== C_UNDERSCORE) {\n return;\n }\n\n pedantic = self.options.pedantic;\n subvalue = character;\n marker = character;\n length = value.length;\n index++;\n queue = '';\n character = '';\n\n if (pedantic && whitespace(value.charAt(index))) {\n return;\n }\n\n while (index < length) {\n prev = character;\n character = value.charAt(index);\n\n if (character === marker && (!pedantic || !whitespace(prev))) {\n character = value.charAt(++index);\n\n if (character !== marker) {\n if (!trim(queue) || prev === marker) {\n return;\n }\n\n if (!pedantic && marker === C_UNDERSCORE && word(character)) {\n queue += marker;\n continue;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n now = eat.now();\n now.column++;\n now.offset++;\n\n return eat(subvalue + queue + marker)({\n type: 'emphasis',\n children: self.tokenizeInline(queue, now)\n });\n }\n\n queue += marker;\n }\n\n if (!pedantic && character === '\\\\') {\n queue += character;\n character = value.charAt(++index);\n }\n\n queue += character;\n index++;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/emphasis.js\n// module id = 933\n// module chunks = 33","'use strict'\n\nmodule.exports = wordCharacter\n\nvar fromCode = String.fromCharCode\nvar re = /\\w/\n\n/* Check if the given character code, or the character\n * code at the first character, is a word character. */\nfunction wordCharacter(character) {\n return re.test(\n typeof character === 'number' ? fromCode(character) : character.charAt(0)\n )\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_is-word-character@1.0.2@is-word-character/index.js\n// module id = 934\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var asterisk = value.indexOf('*', fromIndex);\n var underscore = value.indexOf('_', fromIndex);\n\n if (underscore === -1) {\n return asterisk;\n }\n\n if (asterisk === -1) {\n return underscore;\n }\n\n return underscore < asterisk ? underscore : asterisk;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/emphasis.js\n// module id = 935\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/delete');\n\nmodule.exports = strikethrough;\nstrikethrough.locator = locate;\n\nvar C_TILDE = '~';\nvar DOUBLE = '~~';\n\nfunction strikethrough(eat, value, silent) {\n var self = this;\n var character = '';\n var previous = '';\n var preceding = '';\n var subvalue = '';\n var index;\n var length;\n var now;\n\n if (\n !self.options.gfm ||\n value.charAt(0) !== C_TILDE ||\n value.charAt(1) !== C_TILDE ||\n whitespace(value.charAt(2))\n ) {\n return;\n }\n\n index = 1;\n length = value.length;\n now = eat.now();\n now.column += 2;\n now.offset += 2;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (\n character === C_TILDE &&\n previous === C_TILDE &&\n (!preceding || !whitespace(preceding))\n ) {\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n return eat(DOUBLE + subvalue + DOUBLE)({\n type: 'delete',\n children: self.tokenizeInline(subvalue, now)\n });\n }\n\n subvalue += previous;\n preceding = previous;\n previous = character;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/delete.js\n// module id = 936\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('~~', fromIndex);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/delete.js\n// module id = 937\n// module chunks = 33","'use strict';\n\nvar whitespace = require('is-whitespace-character');\nvar locate = require('../locate/code-inline');\n\nmodule.exports = inlineCode;\ninlineCode.locator = locate;\n\nvar C_TICK = '`';\n\n/* Tokenise inline code. */\nfunction inlineCode(eat, value, silent) {\n var length = value.length;\n var index = 0;\n var queue = '';\n var tickQueue = '';\n var contentQueue;\n var subqueue;\n var count;\n var openingCount;\n var subvalue;\n var character;\n var found;\n var next;\n\n while (index < length) {\n if (value.charAt(index) !== C_TICK) {\n break;\n }\n\n queue += C_TICK;\n index++;\n }\n\n if (!queue) {\n return;\n }\n\n subvalue = queue;\n openingCount = index;\n queue = '';\n next = value.charAt(index);\n count = 0;\n\n while (index < length) {\n character = next;\n next = value.charAt(index + 1);\n\n if (character === C_TICK) {\n count++;\n tickQueue += character;\n } else {\n count = 0;\n queue += character;\n }\n\n if (count && next !== C_TICK) {\n if (count === openingCount) {\n subvalue += queue + tickQueue;\n found = true;\n break;\n }\n\n queue += tickQueue;\n tickQueue = '';\n }\n\n index++;\n }\n\n if (!found) {\n if (openingCount % 2 !== 0) {\n return;\n }\n\n queue = '';\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n contentQueue = '';\n subqueue = '';\n length = queue.length;\n index = -1;\n\n while (++index < length) {\n character = queue.charAt(index);\n\n if (whitespace(character)) {\n subqueue += character;\n continue;\n }\n\n if (subqueue) {\n if (contentQueue) {\n contentQueue += subqueue;\n }\n\n subqueue = '';\n }\n\n contentQueue += character;\n }\n\n return eat(subvalue)({\n type: 'inlineCode',\n value: contentQueue\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/code-inline.js\n// module id = 938\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n return value.indexOf('`', fromIndex);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/code-inline.js\n// module id = 939\n// module chunks = 33","'use strict';\n\nvar locate = require('../locate/break');\n\nmodule.exports = hardBreak;\nhardBreak.locator = locate;\n\nvar MIN_BREAK_LENGTH = 2;\n\nfunction hardBreak(eat, value, silent) {\n var length = value.length;\n var index = -1;\n var queue = '';\n var character;\n\n while (++index < length) {\n character = value.charAt(index);\n\n if (character === '\\n') {\n if (index < MIN_BREAK_LENGTH) {\n return;\n }\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n queue += character;\n\n return eat(queue)({type: 'break'});\n }\n\n if (character !== ' ') {\n return;\n }\n\n queue += character;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/break.js\n// module id = 940\n// module chunks = 33","'use strict';\n\nmodule.exports = locate;\n\nfunction locate(value, fromIndex) {\n var index = value.indexOf('\\n', fromIndex);\n\n while (index > fromIndex) {\n if (value.charAt(index - 1) !== ' ') {\n break;\n }\n\n index--;\n }\n\n return index;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/locate/break.js\n// module id = 941\n// module chunks = 33","'use strict';\n\nmodule.exports = text;\n\nfunction text(eat, value, silent) {\n var self = this;\n var methods;\n var tokenizers;\n var index;\n var length;\n var subvalue;\n var position;\n var tokenizer;\n var name;\n var min;\n var now;\n\n /* istanbul ignore if - never used (yet) */\n if (silent) {\n return true;\n }\n\n methods = self.inlineMethods;\n length = methods.length;\n tokenizers = self.inlineTokenizers;\n index = -1;\n min = value.length;\n\n while (++index < length) {\n name = methods[index];\n\n if (name === 'text' || !tokenizers[name]) {\n continue;\n }\n\n tokenizer = tokenizers[name].locator;\n\n if (!tokenizer) {\n eat.file.fail('Missing locator: `' + name + '`');\n }\n\n position = tokenizer.call(self, value, 1);\n\n if (position !== -1 && position < min) {\n min = position;\n }\n }\n\n subvalue = value.slice(0, min);\n now = eat.now();\n\n self.decode(subvalue, now, function (content, position, source) {\n eat(source || content)({\n type: 'text',\n value: content\n });\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_remark-parse@5.0.0@remark-parse/lib/tokenize/text.js\n// module id = 942\n// module chunks = 33","var visitWithParents = require('unist-util-visit-parents');\n\nfunction addListMetadata() {\n return function (ast) {\n visitWithParents(ast, 'list', function (listNode, parents) {\n var depth = 0, i, n;\n for (i = 0, n = parents.length; i < n; i++) {\n if (parents[i].type === 'list') depth += 1;\n }\n for (i = 0, n = listNode.children.length; i < n; i++) {\n var child = listNode.children[i];\n child.index = i;\n child.ordered = listNode.ordered;\n }\n listNode.depth = depth;\n });\n return ast;\n };\n}\n\nmodule.exports = addListMetadata;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mdast-add-list-metadata@1.0.1@mdast-add-list-metadata/index.js\n// module id = 943\n// module chunks = 33","'use strict'\n\n/* Expose. */\nmodule.exports = visitParents\n\n/* Visit. */\nfunction visitParents(tree, type, visitor) {\n var stack = []\n\n if (typeof type === 'function') {\n visitor = type\n type = null\n }\n\n one(tree)\n\n /* Visit a single node. */\n function one(node) {\n var result\n\n if (!type || node.type === type) {\n result = visitor(node, stack.concat())\n }\n\n if (node.children && result !== false) {\n return all(node.children, node)\n }\n\n return result\n }\n\n /* Visit children in `parent`. */\n function all(children, parent) {\n var length = children.length\n var index = -1\n var child\n\n stack.push(parent)\n\n while (++index < length) {\n child = children[index]\n\n if (child && one(child) === false) {\n return false\n }\n }\n\n stack.pop()\n\n return true\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_unist-util-visit-parents@1.1.2@unist-util-visit-parents/index.js\n// module id = 944\n// module chunks = 33","'use strict';\n\n/**\n * Naive, simple plugin to match inline nodes without attributes\n * This allows say foo, but not foo\n * For proper HTML support, you'll want a different plugin\n **/\nvar visit = require('unist-util-visit');\n\nvar type = 'virtualHtml';\nvar selfClosingRe = /^<(area|base|br|col|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)\\s*\\/?>$/i;\nvar simpleTagRe = /^<(\\/?)([a-z]+)\\s*>$/;\n\nmodule.exports = function (tree) {\n var open = void 0;\n var currentParent = void 0;\n visit(tree, 'html', function (node, index, parent) {\n if (currentParent !== parent) {\n open = [];\n currentParent = parent;\n }\n\n var selfClosing = getSelfClosing(node);\n if (selfClosing) {\n parent.children.splice(index, 1, {\n type: type,\n tag: selfClosing,\n position: node.position\n });\n return true;\n }\n\n var current = getSimpleTag(node, parent);\n if (!current) {\n return true;\n }\n\n var matching = findAndPull(open, current.tag);\n\n if (matching) {\n parent.children.splice(index, 0, virtual(current, matching, parent));\n } else if (!current.opening) {\n open.push(current);\n }\n\n return true;\n }, true // Iterate in reverse\n );\n\n return tree;\n};\n\nfunction findAndPull(open, matchingTag) {\n var i = open.length;\n while (i--) {\n if (open[i].tag === matchingTag) {\n return open.splice(i, 1)[0];\n }\n }\n\n return false;\n}\n\nfunction getSimpleTag(node, parent) {\n var match = node.value.match(simpleTagRe);\n return match ? { tag: match[2], opening: !match[1], node: node } : false;\n}\n\nfunction getSelfClosing(node) {\n var match = node.value.match(selfClosingRe);\n return match ? match[1] : false;\n}\n\nfunction virtual(fromNode, toNode, parent) {\n var fromIndex = parent.children.indexOf(fromNode.node);\n var toIndex = parent.children.indexOf(toNode.node);\n\n var extracted = parent.children.splice(fromIndex, toIndex - fromIndex + 1);\n var children = extracted.slice(1, -1);\n return {\n type: type,\n children: children,\n tag: fromNode.tag,\n position: {\n start: fromNode.node.position.start,\n end: toNode.node.position.end,\n indent: []\n }\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/plugins/naive-html.js\n// module id = 945\n// module chunks = 33","'use strict';\n\nvar visit = require('unist-util-visit');\n\nexports.ofType = function (types, mode) {\n return function (node) {\n types.forEach(function (type) {\n return visit(node, type, disallow, true);\n });\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nexports.ifNotMatch = function (allowNode, mode) {\n return function (node) {\n visit(node, disallow, true);\n return node;\n };\n\n function disallow(node, index, parent) {\n if (parent && !allowNode(node, index, parent)) {\n untangle(node, index, parent, mode);\n }\n }\n};\n\nfunction untangle(node, index, parent, mode) {\n if (mode === 'remove') {\n parent.children.splice(index, 1);\n } else if (mode === 'unwrap') {\n var args = [index, 1];\n\n if (node.children) {\n args = args.concat(node.children);\n }\n\n Array.prototype.splice.apply(parent.children, args);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/plugins/disallow-node.js\n// module id = 946\n// module chunks = 33","'use strict';\n\nvar React = require('react');\nvar xtend = require('xtend');\n\nfunction astToReact(node, options) {\n var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var renderer = options.renderers[node.type];\n\n var pos = node.position.start;\n var key = [node.type, pos.line, pos.column].join('-');\n\n if (node.type === 'text') {\n return renderer ? renderer(node.value, key) : node.value;\n }\n\n if (typeof renderer !== 'function' && typeof renderer !== 'string' && !isReactFragment(renderer)) {\n throw new Error('Renderer for type `' + node.type + '` not defined or is not renderable');\n }\n\n var nodeProps = getNodeProps(node, key, options, renderer, parent, index);\n\n return React.createElement(renderer, nodeProps, nodeProps.children || resolveChildren() || undefined);\n\n function resolveChildren() {\n return node.children && node.children.map(function (childNode, i) {\n return astToReact(childNode, options, { node: node, props: nodeProps }, i);\n });\n }\n}\n\nfunction isReactFragment(renderer) {\n return React.Fragment && React.Fragment === renderer;\n}\n\n// eslint-disable-next-line max-params, complexity\nfunction getNodeProps(node, key, opts, renderer, parent, index) {\n var props = { key: key };\n\n var isTagRenderer = typeof renderer === 'string';\n\n // `sourcePos` is true if the user wants source information (line/column info from markdown source)\n if (opts.sourcePos && node.position) {\n props['data-sourcepos'] = flattenPosition(node.position);\n }\n\n if (opts.rawSourcePos && !isTagRenderer) {\n props.sourcePosition = node.position;\n }\n\n // If `includeNodeIndex` is true, pass node index info to all non-tag renderers\n if (opts.includeNodeIndex && parent.node && parent.node.children && !isTagRenderer) {\n props.index = parent.node.children.indexOf(node);\n props.parentChildCount = parent.node.children.length;\n }\n\n var ref = node.identifier !== null && node.identifier !== undefined ? opts.definitions[node.identifier] || {} : null;\n\n switch (node.type) {\n case 'root':\n assignDefined(props, { className: opts.className });\n break;\n case 'heading':\n props.level = node.depth;\n break;\n case 'list':\n props.start = node.start;\n props.ordered = node.ordered;\n props.tight = !node.loose;\n props.depth = node.depth;\n break;\n case 'listItem':\n props.checked = node.checked;\n props.tight = !node.loose;\n props.ordered = node.ordered;\n props.index = node.index;\n props.children = (props.tight ? unwrapParagraphs(node) : node.children).map(function (childNode, i) {\n return astToReact(childNode, opts, { node: node, props: props }, i);\n });\n break;\n case 'definition':\n assignDefined(props, { identifier: node.identifier, title: node.title, url: node.url });\n break;\n case 'code':\n assignDefined(props, { language: node.lang && node.lang.split(/\\s/, 1)[0] });\n break;\n case 'inlineCode':\n props.children = node.value;\n props.inline = true;\n break;\n case 'link':\n assignDefined(props, {\n title: node.title || undefined,\n target: typeof opts.linkTarget === 'function' ? opts.linkTarget(node.url, node.children, node.title) : opts.linkTarget,\n href: opts.transformLinkUri ? opts.transformLinkUri(node.url, node.children, node.title) : node.url\n });\n break;\n case 'image':\n assignDefined(props, {\n alt: node.alt || undefined,\n title: node.title || undefined,\n src: opts.transformImageUri ? opts.transformImageUri(node.url, node.children, node.title, node.alt) : node.url\n });\n break;\n case 'linkReference':\n assignDefined(props, xtend(ref, {\n href: opts.transformLinkUri ? opts.transformLinkUri(ref.href) : ref.href\n }));\n break;\n case 'imageReference':\n assignDefined(props, {\n src: opts.transformImageUri && ref.href ? opts.transformImageUri(ref.href, node.children, ref.title, node.alt) : ref.href,\n title: ref.title || undefined,\n alt: node.alt || undefined\n });\n break;\n case 'table':\n case 'tableHead':\n case 'tableBody':\n props.columnAlignment = node.align;\n break;\n case 'tableRow':\n props.isHeader = parent.node.type === 'tableHead';\n props.columnAlignment = parent.props.columnAlignment;\n break;\n case 'tableCell':\n assignDefined(props, {\n isHeader: parent.props.isHeader,\n align: parent.props.columnAlignment[index]\n });\n break;\n case 'virtualHtml':\n props.tag = node.tag;\n break;\n case 'html':\n // @todo find a better way than this\n props.isBlock = node.position.start.line !== node.position.end.line;\n props.escapeHtml = opts.escapeHtml;\n props.skipHtml = opts.skipHtml;\n break;\n default:\n assignDefined(props, xtend(node, {\n type: undefined,\n position: undefined,\n children: undefined\n }));\n }\n\n if (!isTagRenderer && node.value) {\n props.value = node.value;\n }\n\n return props;\n}\n\nfunction assignDefined(target, attrs) {\n for (var key in attrs) {\n if (typeof attrs[key] !== 'undefined') {\n target[key] = attrs[key];\n }\n }\n}\n\nfunction flattenPosition(pos) {\n return [pos.start.line, ':', pos.start.column, '-', pos.end.line, ':', pos.end.column].map(String).join('');\n}\n\nfunction unwrapParagraphs(node) {\n return node.children.reduce(function (array, child) {\n return array.concat(child.type === 'paragraph' ? child.children || [] : [child]);\n }, []);\n}\n\nmodule.exports = astToReact;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/ast-to-react.js\n// module id = 947\n// module chunks = 33","'use strict';\n\nvar visit = require('unist-util-visit');\n\nmodule.exports = function (node) {\n visit(node, 'table', wrap);\n return node;\n};\n\nfunction wrap(table) {\n var children = table.children;\n table.children = [{\n type: 'tableHead',\n align: table.align,\n children: [children[0]],\n position: children[0].position\n }];\n if (children.length > 1) {\n table.children.push({\n type: 'tableBody',\n align: table.align,\n children: children.slice(1),\n position: {\n start: children[1].position.start,\n end: children[children.length - 1].position.end\n }\n });\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/wrap-table-rows.js\n// module id = 948\n// module chunks = 33","'use strict';\n\nmodule.exports = function getDefinitions(node) {\n var defs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return (node.children || []).reduce(function (definitions, child) {\n if (child.type === 'definition') {\n definitions[child.identifier] = {\n href: child.url,\n title: child.title\n };\n }\n\n return getDefinitions(child, definitions);\n }, defs);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/get-definitions.js\n// module id = 949\n// module chunks = 33","'use strict';\n\nvar protocols = ['http', 'https', 'mailto', 'tel'];\n\nmodule.exports = function uriTransformer(uri) {\n var url = (uri || '').trim();\n var first = url.charAt(0);\n\n if (first === '#' || first === '/') {\n return url;\n }\n\n var colon = url.indexOf(':');\n if (colon === -1) {\n return url;\n }\n\n var length = protocols.length;\n var index = -1;\n\n while (++index < length) {\n var protocol = protocols[index];\n\n if (colon === protocol.length && url.slice(0, protocol.length) === protocol) {\n return url;\n }\n }\n\n index = url.indexOf('?');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n index = url.indexOf('#');\n if (index !== -1 && colon > index) {\n return url;\n }\n\n // eslint-disable-next-line no-script-url\n return 'javascript:void(0)';\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/uriTransformer.js\n// module id = 950\n// module chunks = 33","/* eslint-disable react/prop-types, react/no-multi-comp */\n'use strict';\n\nvar xtend = require('xtend');\nvar React = require('react');\nvar createElement = React.createElement;\n\nmodule.exports = {\n root: 'div',\n break: 'br',\n paragraph: 'p',\n emphasis: 'em',\n strong: 'strong',\n thematicBreak: 'hr',\n blockquote: 'blockquote',\n delete: 'del',\n link: 'a',\n image: 'img',\n linkReference: 'a',\n imageReference: 'img',\n table: SimpleRenderer.bind(null, 'table'),\n tableHead: SimpleRenderer.bind(null, 'thead'),\n tableBody: SimpleRenderer.bind(null, 'tbody'),\n tableRow: SimpleRenderer.bind(null, 'tr'),\n tableCell: TableCell,\n\n list: List,\n listItem: ListItem,\n definition: NullRenderer,\n heading: Heading,\n inlineCode: InlineCode,\n code: CodeBlock,\n html: Html,\n virtualHtml: VirtualHtml\n};\n\nfunction SimpleRenderer(tag, props) {\n return createElement(tag, getCoreProps(props), props.children);\n}\n\nfunction TableCell(props) {\n var style = props.align ? { textAlign: props.align } : undefined;\n var coreProps = getCoreProps(props);\n return createElement(props.isHeader ? 'th' : 'td', style ? xtend({ style: style }, coreProps) : coreProps, props.children);\n}\n\nfunction Heading(props) {\n return createElement('h' + props.level, getCoreProps(props), props.children);\n}\n\nfunction List(props) {\n var attrs = getCoreProps(props);\n if (props.start !== null && props.start !== 1) {\n attrs.start = props.start.toString();\n }\n\n return createElement(props.ordered ? 'ol' : 'ul', attrs, props.children);\n}\n\nfunction ListItem(props) {\n var checkbox = null;\n if (props.checked !== null) {\n var checked = props.checked;\n checkbox = createElement('input', { type: 'checkbox', checked: checked, readOnly: true });\n }\n\n return createElement('li', getCoreProps(props), checkbox, props.children);\n}\n\nfunction CodeBlock(props) {\n var className = props.language && 'language-' + props.language;\n var code = createElement('code', className ? { className: className } : null, props.value);\n return createElement('pre', getCoreProps(props), code);\n}\n\nfunction InlineCode(props) {\n return createElement('code', getCoreProps(props), props.children);\n}\n\nfunction Html(props) {\n if (props.skipHtml) {\n return null;\n }\n\n var tag = props.isBlock ? 'div' : 'span';\n if (props.escapeHtml) {\n // @todo when fiber lands, we can simply render props.value\n return createElement(tag, null, props.value);\n }\n\n var nodeProps = { dangerouslySetInnerHTML: { __html: props.value } };\n return createElement(tag, nodeProps);\n}\n\nfunction VirtualHtml(props) {\n return createElement(props.tag, getCoreProps(props), props.children);\n}\n\nfunction NullRenderer() {\n return null;\n}\n\nfunction getCoreProps(props) {\n return props['data-sourcepos'] ? { 'data-sourcepos': props['data-sourcepos'] } : {};\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_react-markdown@3.6.0@react-markdown/lib/renderers.js\n// module id = 951\n// module chunks = 33","import React, { Component } from 'react';\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { withStyles } from 'material-ui/styles';\r\n\r\nimport Table, { TableBody, TableCell, TableHead, TableRow } from 'material-ui/Table';\r\nimport Paper from 'material-ui/Paper';\r\n\r\nimport showdown from 'showdown'\r\nconst converter = new showdown.Converter()\r\n // text = '# hello, markdown!',\r\n // html = converter.makeHtml(text);\r\n\r\nconst styles = theme => ({\r\n root: {\r\n width: '100%',\r\n marginTop: theme.spacing.unit * 3 + 'px !important',\r\n overflowX: 'auto',\r\n },\r\n table: {\r\n // minWidth: 300,\r\n width: '200px !important',\r\n margin: '0 auto',\r\n },\r\n});\r\n\r\nconst ChooseAnswerView = ({ gameAnswer, classes }) => {\r\n\tif (!gameAnswer) {\r\n\t\treturn ''\r\n\t}\r\n\treturn (\r\n\t\t
    \r\n {gameAnswer.map( (n, index) => {\r\n return (\r\n
    \r\n

    第{index+1}题

    \r\n

    \r\n
    \r\n );\r\n })}\r\n\t
    \r\n\t\t)\r\n}\r\n\r\nexport default withStyles(styles)( ChooseAnswerView );\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/component/ChooseAnswerView.js","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Table.default;\n }\n});\nObject.defineProperty(exports, \"TableBody\", {\n enumerable: true,\n get: function get() {\n return _TableBody.default;\n }\n});\nObject.defineProperty(exports, \"TableCell\", {\n enumerable: true,\n get: function get() {\n return _TableCell.default;\n }\n});\nObject.defineProperty(exports, \"TableFooter\", {\n enumerable: true,\n get: function get() {\n return _TableFooter.default;\n }\n});\nObject.defineProperty(exports, \"TableHead\", {\n enumerable: true,\n get: function get() {\n return _TableHead.default;\n }\n});\nObject.defineProperty(exports, \"TablePagination\", {\n enumerable: true,\n get: function get() {\n return _TablePagination.default;\n }\n});\nObject.defineProperty(exports, \"TableRow\", {\n enumerable: true,\n get: function get() {\n return _TableRow.default;\n }\n});\nObject.defineProperty(exports, \"TableSortLabel\", {\n enumerable: true,\n get: function get() {\n return _TableSortLabel.default;\n }\n});\n\nvar _Table = _interopRequireDefault(require(\"./Table\"));\n\nvar _TableBody = _interopRequireDefault(require(\"./TableBody\"));\n\nvar _TableCell = _interopRequireDefault(require(\"./TableCell\"));\n\nvar _TableFooter = _interopRequireDefault(require(\"./TableFooter\"));\n\nvar _TableHead = _interopRequireDefault(require(\"./TableHead\"));\n\nvar _TablePagination = _interopRequireDefault(require(\"./TablePagination\"));\n\nvar _TableRow = _interopRequireDefault(require(\"./TableRow\"));\n\nvar _TableSortLabel = _interopRequireDefault(require(\"./TableSortLabel\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/index.js\n// module id = 953\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n display: 'table',\n fontFamily: theme.typography.fontFamily,\n width: '100%',\n borderCollapse: 'collapse',\n borderSpacing: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar Table =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Table, _React$Component);\n\n function Table() {\n (0, _classCallCheck2.default)(this, Table);\n return (0, _possibleConstructorReturn2.default)(this, (Table.__proto__ || (0, _getPrototypeOf.default)(Table)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(Table, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {}\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return Table;\n}(_react.default.Component);\n\nTable.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the table, normally `TableHeader` and `TableBody`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTable.defaultProps = {\n component: 'table'\n};\nTable.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTable'\n})(Table);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/Table.js\n// module id = 954\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n display: 'table-row-group'\n }\n};\n\nvar TableBody =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableBody, _React$Component);\n\n function TableBody() {\n (0, _classCallCheck2.default)(this, TableBody);\n return (0, _possibleConstructorReturn2.default)(this, (TableBody.__proto__ || (0, _getPrototypeOf.default)(TableBody)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableBody, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n body: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableBody;\n}(_react.default.Component);\n\nTableBody.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableBody.defaultProps = {\n component: 'tbody'\n};\nTableBody.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableBody'\n})(TableBody);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableBody.js\n// module id = 955\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n display: 'table-footer-group'\n }\n};\n\nvar TableFooter =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableFooter, _React$Component);\n\n function TableFooter() {\n (0, _classCallCheck2.default)(this, TableFooter);\n return (0, _possibleConstructorReturn2.default)(this, (TableFooter.__proto__ || (0, _getPrototypeOf.default)(TableFooter)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableFooter, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n footer: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableFooter;\n}(_react.default.Component);\n\nTableFooter.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableFooter.defaultProps = {\n component: 'tfoot'\n};\nTableFooter.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableFooter'\n})(TableFooter);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableFooter.js\n// module id = 956\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n display: 'table-header-group'\n }\n};\n\nvar TableHead =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TableHead, _React$Component);\n\n function TableHead() {\n (0, _classCallCheck2.default)(this, TableHead);\n return (0, _possibleConstructorReturn2.default)(this, (TableHead.__proto__ || (0, _getPrototypeOf.default)(TableHead)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TableHead, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n // eslint-disable-line class-methods-use-this\n return {\n table: {\n head: true\n }\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n classes = _props.classes,\n className = _props.className,\n Component = _props.component,\n other = (0, _objectWithoutProperties2.default)(_props, [\"classes\", \"className\", \"component\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other));\n }\n }]);\n return TableHead;\n}(_react.default.Component);\n\nTableHead.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `TableRow`.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func])\n} : {};\nTableHead.defaultProps = {\n component: 'thead'\n};\nTableHead.childContextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableHead'\n})(TableHead);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableHead.js\n// module id = 957\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Input = _interopRequireDefault(require(\"../Input\"));\n\nvar _Menu = require(\"../Menu\");\n\nvar _Select = _interopRequireDefault(require(\"../Select\"));\n\nvar _TableCell = _interopRequireDefault(require(\"./TableCell\"));\n\nvar _Toolbar = _interopRequireDefault(require(\"../Toolbar\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\nvar _TablePaginationActions = _interopRequireDefault(require(\"./TablePaginationActions\"));\n\n// @inheritedComponent TableCell\nvar styles = function styles(theme) {\n return {\n root: {\n fontSize: theme.typography.pxToRem(12),\n // Increase the specificity to override TableCell.\n '&:last-child': {\n padding: 0\n }\n },\n toolbar: {\n height: 56,\n minHeight: 56,\n paddingRight: 2\n },\n spacer: {\n flex: '1 1 100%'\n },\n menuItem: {},\n caption: {\n flexShrink: 0\n },\n input: {\n fontSize: 'inherit',\n flexShrink: 0\n },\n selectRoot: {\n marginRight: theme.spacing.unit * 4,\n marginLeft: theme.spacing.unit,\n color: theme.palette.text.secondary\n },\n select: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit * 2\n },\n selectIcon: {\n top: 1\n },\n actions: {\n flexShrink: 0,\n color: theme.palette.text.secondary,\n marginLeft: theme.spacing.unit * 2.5\n }\n };\n};\n/**\n * A `TableCell` based component for placing inside `TableFooter` for pagination.\n */\n\n\nexports.styles = styles;\n\nvar TablePagination =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePagination, _React$Component);\n\n function TablePagination() {\n (0, _classCallCheck2.default)(this, TablePagination);\n return (0, _possibleConstructorReturn2.default)(this, (TablePagination.__proto__ || (0, _getPrototypeOf.default)(TablePagination)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(TablePagination, [{\n key: \"componentDidUpdate\",\n // This logic would be better handled on userside.\n // However, we have it just in case.\n value: function componentDidUpdate() {\n var _props = this.props,\n count = _props.count,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage;\n var newLastPage = Math.max(0, Math.ceil(count / rowsPerPage) - 1);\n\n if (page > newLastPage) {\n onChangePage(null, newLastPage);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n ActionsComponent = _props2.ActionsComponent,\n backIconButtonProps = _props2.backIconButtonProps,\n classes = _props2.classes,\n colSpanProp = _props2.colSpan,\n Component = _props2.component,\n count = _props2.count,\n labelDisplayedRows = _props2.labelDisplayedRows,\n labelRowsPerPage = _props2.labelRowsPerPage,\n nextIconButtonProps = _props2.nextIconButtonProps,\n onChangePage = _props2.onChangePage,\n onChangeRowsPerPage = _props2.onChangeRowsPerPage,\n page = _props2.page,\n rowsPerPage = _props2.rowsPerPage,\n rowsPerPageOptions = _props2.rowsPerPageOptions,\n SelectProps = _props2.SelectProps,\n other = (0, _objectWithoutProperties2.default)(_props2, [\"ActionsComponent\", \"backIconButtonProps\", \"classes\", \"colSpan\", \"component\", \"count\", \"labelDisplayedRows\", \"labelRowsPerPage\", \"nextIconButtonProps\", \"onChangePage\", \"onChangeRowsPerPage\", \"page\", \"rowsPerPage\", \"rowsPerPageOptions\", \"SelectProps\"]);\n var colSpan;\n\n if (Component === _TableCell.default || Component === 'td') {\n colSpan = colSpanProp || 1000; // col-span over everything\n }\n\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: classes.root,\n colSpan: colSpan\n }, other), _react.default.createElement(_Toolbar.default, {\n className: classes.toolbar\n }, _react.default.createElement(\"div\", {\n className: classes.spacer\n }), rowsPerPageOptions.length > 1 && _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelRowsPerPage), rowsPerPageOptions.length > 1 && _react.default.createElement(_Select.default, (0, _extends2.default)({\n classes: {\n root: classes.selectRoot,\n select: classes.select,\n icon: classes.selectIcon\n },\n input: _react.default.createElement(_Input.default, {\n className: classes.input,\n disableUnderline: true\n }),\n value: rowsPerPage,\n onChange: onChangeRowsPerPage\n }, SelectProps), rowsPerPageOptions.map(function (rowsPerPageOption) {\n return _react.default.createElement(_Menu.MenuItem, {\n className: classes.menuItem,\n key: rowsPerPageOption,\n value: rowsPerPageOption\n }, rowsPerPageOption);\n })), _react.default.createElement(_Typography.default, {\n variant: \"caption\",\n className: classes.caption\n }, labelDisplayedRows({\n from: count === 0 ? 0 : page * rowsPerPage + 1,\n to: Math.min(count, (page + 1) * rowsPerPage),\n count: count,\n page: page\n })), _react.default.createElement(ActionsComponent, {\n className: classes.actions,\n backIconButtonProps: backIconButtonProps,\n count: count,\n nextIconButtonProps: nextIconButtonProps,\n onChangePage: onChangePage,\n page: page,\n rowsPerPage: rowsPerPage\n })));\n }\n }]);\n return TablePagination;\n}(_react.default.Component);\n\nTablePagination.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The component used for displaying the actions.\n * Either a string to use a DOM element or a component.\n */\n ActionsComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Properties applied to the back arrow `IconButton` component.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n colSpan: _propTypes.default.number,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Useful to customize the displayed rows label.\n */\n labelDisplayedRows: _propTypes.default.func,\n\n /**\n * Useful to customize the rows per page label. Invoked with a `{ from, to, count, page }`\n * object.\n */\n labelRowsPerPage: _propTypes.default.node,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * Callback fired when the number of rows per page is changed.\n *\n * @param {object} event The event source of the callback\n */\n onChangeRowsPerPage: _propTypes.default.func,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * Customizes the options of the rows per page select field. If less than two options are\n * available, no select field will be displayed.\n */\n rowsPerPageOptions: _propTypes.default.array,\n\n /**\n * Properties applied to the rows per page `Select` element.\n */\n SelectProps: _propTypes.default.object\n} : {};\nTablePagination.defaultProps = {\n ActionsComponent: _TablePaginationActions.default,\n component: _TableCell.default,\n labelDisplayedRows: function labelDisplayedRows(_ref) {\n var from = _ref.from,\n to = _ref.to,\n count = _ref.count;\n return \"\".concat(from, \"-\").concat(to, \" of \").concat(count);\n },\n labelRowsPerPage: 'Rows per page:',\n rowsPerPageOptions: [5, 10, 25]\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTablePagination'\n})(TablePagination);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TablePagination.js\n// module id = 958\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Menu.default;\n }\n});\nObject.defineProperty(exports, \"MenuList\", {\n enumerable: true,\n get: function get() {\n return _MenuList.default;\n }\n});\nObject.defineProperty(exports, \"MenuItem\", {\n enumerable: true,\n get: function get() {\n return _MenuItem.default;\n }\n});\n\nvar _Menu = _interopRequireDefault(require(\"./Menu\"));\n\nvar _MenuList = _interopRequireDefault(require(\"./MenuList\"));\n\nvar _MenuItem = _interopRequireDefault(require(\"./MenuItem\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Menu/index.js\n// module id = 959\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Popover.default;\n }\n});\n\nvar _Popover = _interopRequireDefault(require(\"./Popover\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Popover/index.js\n// module id = 960\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _contains = _interopRequireDefault(require(\"dom-helpers/query/contains\"));\n\nvar _ownerDocument = _interopRequireDefault(require(\"dom-helpers/ownerDocument\"));\n\nvar _debounce = _interopRequireDefault(require(\"lodash/debounce\"));\n\nvar _reactEventListener = _interopRequireDefault(require(\"react-event-listener\"));\n\nvar _ownerWindow = _interopRequireDefault(require(\"../utils/ownerWindow\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Modal = _interopRequireDefault(require(\"../Modal\"));\n\nvar _Grow = _interopRequireDefault(require(\"../transitions/Grow\"));\n\nvar _Paper = _interopRequireDefault(require(\"../Paper\"));\n\n// @inheritedComponent Modal\nfunction getOffsetTop(rect, vertical) {\n var offset = 0;\n\n if (typeof vertical === 'number') {\n offset = vertical;\n } else if (vertical === 'center') {\n offset = rect.height / 2;\n } else if (vertical === 'bottom') {\n offset = rect.height;\n }\n\n return offset;\n}\n\nfunction getOffsetLeft(rect, horizontal) {\n var offset = 0;\n\n if (typeof horizontal === 'number') {\n offset = horizontal;\n } else if (horizontal === 'center') {\n offset = rect.width / 2;\n } else if (horizontal === 'right') {\n offset = rect.width;\n }\n\n return offset;\n}\n\nfunction getTransformOriginValue(transformOrigin) {\n return [transformOrigin.horizontal, transformOrigin.vertical].map(function (n) {\n return typeof n === 'number' ? \"\".concat(n, \"px\") : n;\n }).join(' ');\n} // Sum the scrollTop between two elements.\n\n\nfunction getScrollParent(parent, child) {\n var element = child;\n var scrollTop = 0;\n\n while (element && element !== parent) {\n element = element.parentNode;\n scrollTop += element.scrollTop;\n }\n\n return scrollTop;\n}\n\nfunction getAnchorEl(anchorEl) {\n return typeof anchorEl === 'function' ? anchorEl() : anchorEl;\n}\n\nvar styles = {\n paper: {\n position: 'absolute',\n overflowY: 'auto',\n overflowX: 'hidden',\n // So we see the popover when it's empty.\n // It's most likely on issue on userland.\n minWidth: 16,\n minHeight: 16,\n maxWidth: 'calc(100vw - 32px)',\n maxHeight: 'calc(100vh - 32px)',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none'\n }\n};\nexports.styles = styles;\n\nvar Popover =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Popover, _React$Component);\n\n function Popover() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Popover);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Popover.__proto__ || (0, _getPrototypeOf.default)(Popover)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"componentWillUnmount\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n _this.handleResize.cancel();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"setPositioningStyles\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (element && element.style) {\n var positioning = _this.getPositioningStyle(element);\n\n if (positioning.top !== null) {\n element.style.top = positioning.top;\n }\n\n if (positioning.left !== null) {\n element.style.left = positioning.left;\n }\n\n element.style.transformOrigin = positioning.transformOrigin;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"getPositioningStyle\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n var _this$props = _this.props,\n anchorEl = _this$props.anchorEl,\n anchorReference = _this$props.anchorReference,\n marginThreshold = _this$props.marginThreshold; // Check if the parent has requested anchoring on an inner content node\n\n var contentAnchorOffset = _this.getContentAnchorOffset(element);\n\n var elemRect = {\n width: element.clientWidth,\n height: element.clientHeight\n }; // Get the transform origin point on the element itself\n\n var transformOrigin = _this.getTransformOrigin(elemRect, contentAnchorOffset);\n\n if (anchorReference === 'none') {\n return {\n top: null,\n left: null,\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n } // Get the offset of of the anchoring element\n\n\n var anchorOffset = _this.getAnchorOffset(contentAnchorOffset); // Calculate element positioning\n\n\n var top = anchorOffset.top - transformOrigin.vertical;\n var left = anchorOffset.left - transformOrigin.horizontal;\n var bottom = top + elemRect.height;\n var right = left + elemRect.width; // Use the parent window of the anchorEl if provided\n\n var containerWindow = (0, _ownerWindow.default)(getAnchorEl(anchorEl)); // Window thresholds taking required margin into account\n\n var heightThreshold = containerWindow.innerHeight - marginThreshold;\n var widthThreshold = containerWindow.innerWidth - marginThreshold; // Check if the vertical axis needs shifting\n\n if (top < marginThreshold) {\n var diff = top - marginThreshold;\n top -= diff;\n transformOrigin.vertical += diff;\n } else if (bottom > heightThreshold) {\n var _diff = bottom - heightThreshold;\n\n top -= _diff;\n transformOrigin.vertical += _diff;\n }\n\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(elemRect.height < heightThreshold || !elemRect.height || !heightThreshold, ['Material-UI: the popover component is too tall.', \"Some part of it can not be seen on the screen (\".concat(elemRect.height - heightThreshold, \"px).\"), 'Please consider adding a `max-height` to improve the user-experience.'].join('\\n')) : void 0; // Check if the horizontal axis needs shifting\n\n if (left < marginThreshold) {\n var _diff2 = left - marginThreshold;\n\n left -= _diff2;\n transformOrigin.horizontal += _diff2;\n } else if (right > widthThreshold) {\n var _diff3 = right - widthThreshold;\n\n left -= _diff3;\n transformOrigin.horizontal += _diff3;\n }\n\n return {\n top: \"\".concat(top, \"px\"),\n left: \"\".concat(left, \"px\"),\n transformOrigin: getTransformOriginValue(transformOrigin)\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"transitionEl\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetTop\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetTop\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleGetOffsetLeft\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: getOffsetLeft\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(element) {\n if (_this.props.onEnter) {\n _this.props.onEnter(element);\n }\n\n _this.setPositioningStyles(element);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleResize\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: (0, _debounce.default)(function () {\n var element = _reactDom.default.findDOMNode(_this.transitionEl);\n\n _this.setPositioningStyles(element);\n }, 166)\n }), _temp));\n }\n\n (0, _createClass2.default)(Popover, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.action) {\n this.props.action({\n updatePosition: this.handleResize\n });\n }\n }\n }, {\n key: \"getAnchorOffset\",\n // Returns the top/left offset of the position\n // to attach to on the anchor element (or body if none is provided)\n value: function getAnchorOffset(contentAnchorOffset) {\n var _props = this.props,\n anchorEl = _props.anchorEl,\n anchorOrigin = _props.anchorOrigin,\n anchorReference = _props.anchorReference,\n anchorPosition = _props.anchorPosition;\n\n if (anchorReference === 'anchorPosition') {\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(anchorPosition, 'Material-UI: you need to provide a `anchorPosition` property when using ' + '.') : void 0;\n return anchorPosition;\n } // If an anchor element wasn't provided, just use the parent body element of this Popover\n\n\n var anchorElement = getAnchorEl(anchorEl) || (0, _ownerDocument.default)(_reactDom.default.findDOMNode(this.transitionEl)).body;\n var anchorRect = anchorElement.getBoundingClientRect();\n var anchorVertical = contentAnchorOffset === 0 ? anchorOrigin.vertical : 'center';\n return {\n top: anchorRect.top + this.handleGetOffsetTop(anchorRect, anchorVertical),\n left: anchorRect.left + this.handleGetOffsetLeft(anchorRect, anchorOrigin.horizontal)\n };\n } // Returns the vertical offset of inner content to anchor the transform on if provided\n\n }, {\n key: \"getContentAnchorOffset\",\n value: function getContentAnchorOffset(element) {\n var _props2 = this.props,\n getContentAnchorEl = _props2.getContentAnchorEl,\n anchorReference = _props2.anchorReference;\n var contentAnchorOffset = 0;\n\n if (getContentAnchorEl && anchorReference === 'anchorEl') {\n var contentAnchorEl = getContentAnchorEl(element);\n\n if (contentAnchorEl && (0, _contains.default)(element, contentAnchorEl)) {\n var scrollTop = getScrollParent(element, contentAnchorEl);\n contentAnchorOffset = contentAnchorEl.offsetTop + contentAnchorEl.clientHeight / 2 - scrollTop || 0;\n } // != the default value\n\n\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(this.props.anchorOrigin.vertical === 'top', ['Material-UI: you can not change the default `anchorOrigin.vertical` value ', 'when also providing the `getContentAnchorEl` property to the popover component.', 'Only use one of the two properties.', 'Set `getContentAnchorEl` to null or left `anchorOrigin.vertical` unchanged.'].join('\\n')) : void 0;\n }\n\n return contentAnchorOffset;\n } // Return the base transform origin using the element\n // and taking the content anchor offset into account if in use\n\n }, {\n key: \"getTransformOrigin\",\n value: function getTransformOrigin(elemRect) {\n var contentAnchorOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var transformOrigin = this.props.transformOrigin;\n return {\n vertical: this.handleGetOffsetTop(elemRect, transformOrigin.vertical) + contentAnchorOffset,\n horizontal: this.handleGetOffsetLeft(elemRect, transformOrigin.horizontal)\n };\n }\n }, {\n key: \"render\",\n // Corresponds to 10 frames at 60 Hz.\n value: function render() {\n var _this2 = this;\n\n var _props3 = this.props,\n action = _props3.action,\n anchorEl = _props3.anchorEl,\n anchorOrigin = _props3.anchorOrigin,\n anchorPosition = _props3.anchorPosition,\n anchorReference = _props3.anchorReference,\n children = _props3.children,\n classes = _props3.classes,\n containerProp = _props3.container,\n elevation = _props3.elevation,\n getContentAnchorEl = _props3.getContentAnchorEl,\n marginThreshold = _props3.marginThreshold,\n onEnter = _props3.onEnter,\n onEntered = _props3.onEntered,\n onEntering = _props3.onEntering,\n onExit = _props3.onExit,\n onExited = _props3.onExited,\n onExiting = _props3.onExiting,\n open = _props3.open,\n PaperProps = _props3.PaperProps,\n role = _props3.role,\n transformOrigin = _props3.transformOrigin,\n TransitionComponent = _props3.TransitionComponent,\n transitionDuration = _props3.transitionDuration,\n TransitionProps = _props3.TransitionProps,\n other = (0, _objectWithoutProperties2.default)(_props3, [\"action\", \"anchorEl\", \"anchorOrigin\", \"anchorPosition\", \"anchorReference\", \"children\", \"classes\", \"container\", \"elevation\", \"getContentAnchorEl\", \"marginThreshold\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"open\", \"PaperProps\", \"role\", \"transformOrigin\", \"TransitionComponent\", \"transitionDuration\", \"TransitionProps\"]); // If the container prop is provided, use that\n // If the anchorEl prop is provided, use its parent body element as the container\n // If neither are provided let the Modal take care of choosing the container\n\n var container = containerProp || (anchorEl ? (0, _ownerDocument.default)(getAnchorEl(anchorEl)).body : undefined);\n return _react.default.createElement(_Modal.default, (0, _extends2.default)({\n container: container,\n open: open,\n BackdropProps: {\n invisible: true\n }\n }, other), _react.default.createElement(TransitionComponent, (0, _extends2.default)({\n appear: true,\n \"in\": open,\n onEnter: this.handleEnter,\n onEntered: onEntered,\n onEntering: onEntering,\n onExit: onExit,\n onExited: onExited,\n onExiting: onExiting,\n role: role,\n ref: function ref(node) {\n _this2.transitionEl = node;\n }\n }, TransitionProps), _react.default.createElement(_Paper.default, (0, _extends2.default)({\n className: classes.paper,\n elevation: elevation\n }, PaperProps), _react.default.createElement(_reactEventListener.default, {\n target: \"window\",\n onResize: this.handleResize\n }), children)));\n }\n }]);\n return Popover;\n}(_react.default.Component);\n\nPopover.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * This is callback property. It's called by the component on mount.\n * This is useful when you want to trigger an action programmatically.\n * It currently only supports updatePosition() action.\n *\n * @param {object} actions This object contains all posible actions\n * that can be triggered programmatically.\n */\n action: _propTypes.default.func,\n\n /**\n * This is the DOM element, or a function that returns the DOM element,\n * that may be used to set the position of the popover.\n */\n anchorEl: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * This is the point on the anchor where the popover's\n * `anchorEl` will attach to. This is not used when the\n * anchorReference is 'anchorPosition'.\n *\n * Options:\n * vertical: [top, center, bottom];\n * horizontal: [left, center, right].\n */\n anchorOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * This is the position that may be used\n * to set the position of the popover.\n * The coordinates are relative to\n * the application's client area.\n */\n anchorPosition: _propTypes.default.shape({\n top: _propTypes.default.number,\n left: _propTypes.default.number\n }),\n\n /*\n * This determines which anchor prop to refer to to set\n * the position of the popover.\n */\n anchorReference: _propTypes.default.oneOf(['anchorEl', 'anchorPosition', 'none']),\n\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * A node, component instance, or function that returns either.\n * The `container` will passed to the Modal component.\n * By default, it's using the body of the anchorEl's top-level document object,\n * so it's simply `document.body` most of the time.\n */\n container: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),\n\n /**\n * The elevation of the popover.\n */\n elevation: _propTypes.default.number,\n\n /**\n * This function is called in order to retrieve the content anchor element.\n * It's the opposite of the `anchorEl` property.\n * The content anchor element should be an element inside the popover.\n * It's used to correctly scroll and set the position of the popover.\n * The positioning strategy tries to make the content anchor element just above the\n * anchor element.\n */\n getContentAnchorEl: _propTypes.default.func,\n\n /**\n * Specifies how close to the edge of the window the popover can appear.\n */\n marginThreshold: _propTypes.default.number,\n\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired before the component is entering.\n */\n onEnter: _propTypes.default.func,\n\n /**\n * Callback fired when the component has entered.\n */\n onEntered: _propTypes.default.func,\n\n /**\n * Callback fired when the component is entering.\n */\n onEntering: _propTypes.default.func,\n\n /**\n * Callback fired before the component is exiting.\n */\n onExit: _propTypes.default.func,\n\n /**\n * Callback fired when the component has exited.\n */\n onExited: _propTypes.default.func,\n\n /**\n * Callback fired when the component is exiting.\n */\n onExiting: _propTypes.default.func,\n\n /**\n * If `true`, the popover is visible.\n */\n open: _propTypes.default.bool.isRequired,\n\n /**\n * Properties applied to the `Paper` element.\n */\n PaperProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * This is the point on the popover which\n * will attach to the anchor's origin.\n *\n * Options:\n * vertical: [top, center, bottom, x(px)];\n * horizontal: [left, center, right, x(px)].\n */\n transformOrigin: _propTypes.default.shape({\n horizontal: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['left', 'center', 'right'])]),\n vertical: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.oneOf(['top', 'center', 'bottom'])])\n }),\n\n /**\n * Transition component.\n */\n TransitionComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n transitionDuration: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])]),\n\n /**\n * Properties applied to the `Transition` element.\n */\n TransitionProps: _propTypes.default.object\n} : {};\nPopover.defaultProps = {\n anchorReference: 'anchorEl',\n anchorOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n elevation: 8,\n marginThreshold: 16,\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left'\n },\n TransitionComponent: _Grow.default,\n transitionDuration: 'auto'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiPopover'\n})(Popover);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Popover/Popover.js\n// module id = 961\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _Transition = _interopRequireDefault(require(\"react-transition-group/Transition\"));\n\nvar _withTheme = _interopRequireDefault(require(\"../styles/withTheme\"));\n\nvar _utils = require(\"./utils\");\n\n// @inheritedComponent Transition\nfunction getScale(value) {\n return \"scale(\".concat(value, \", \").concat(Math.pow(value, 2), \")\");\n}\n\nvar styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: getScale(1)\n }\n};\n/**\n * The Grow transition is used by the [Popover](/utils/popovers) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\n\nvar Grow =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(Grow, _React$Component);\n\n function Grow() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, Grow);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = Grow.__proto__ || (0, _getPrototypeOf.default)(Grow)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"autoTimeout\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"timer\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleEnter\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props = _this.props,\n theme = _this$props.theme,\n timeout = _this$props.timeout;\n (0, _utils.reflow)(node); // So the animation always start from the start.\n\n var _getTransitionProps = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'enter'\n }),\n transitionDuration = _getTransitionProps.duration,\n delay = _getTransitionProps.delay;\n\n var duration = 0;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay\n })].join(',');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleExit\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n var _this$props2 = _this.props,\n theme = _this$props2.theme,\n timeout = _this$props2.timeout;\n var duration = 0;\n\n var _getTransitionProps2 = (0, _utils.getTransitionProps)(_this.props, {\n mode: 'exit'\n }),\n transitionDuration = _getTransitionProps2.duration,\n delay = _getTransitionProps2.delay;\n\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n _this.autoTimeout = duration;\n } else {\n duration = transitionDuration;\n }\n\n node.style.transition = [theme.transitions.create('opacity', {\n duration: duration,\n delay: delay\n }), theme.transitions.create('transform', {\n duration: duration * 0.666,\n delay: delay || duration * 0.333\n })].join(',');\n node.style.opacity = '0';\n node.style.transform = getScale(0.75);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"addEndListener\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(_, next) {\n if (_this.props.timeout === 'auto') {\n _this.timer = setTimeout(next, _this.autoTimeout || 0);\n }\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(Grow, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timer);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _props = this.props,\n children = _props.children,\n onEnter = _props.onEnter,\n onExit = _props.onExit,\n styleProp = _props.style,\n theme = _props.theme,\n timeout = _props.timeout,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"onEnter\", \"onExit\", \"style\", \"theme\", \"timeout\"]);\n var style = (0, _objectSpread2.default)({}, styleProp, _react.default.isValidElement(children) ? children.props.style : {});\n return _react.default.createElement(_Transition.default, (0, _extends2.default)({\n appear: true,\n onEnter: this.handleEnter,\n onExit: this.handleExit,\n addEndListener: this.addEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other), function (state, childProps) {\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n style: (0, _objectSpread2.default)({\n opacity: 0,\n transform: getScale(0.75)\n }, styles[state], style)\n }, childProps));\n });\n }\n }]);\n return Grow;\n}(_react.default.Component);\n\nGrow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A single child content element.\n */\n children: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),\n\n /**\n * If `true`, show the component; triggers the enter or exit animation.\n */\n in: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onEnter: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onExit: _propTypes.default.func,\n\n /**\n * @ignore\n */\n style: _propTypes.default.object,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired,\n\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n */\n timeout: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number\n }), _propTypes.default.oneOf(['auto'])])\n} : {};\nGrow.defaultProps = {\n timeout: 'auto'\n};\n\nvar _default = (0, _withTheme.default)()(Grow);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/transitions/Grow.js\n// module id = 962\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _List.default;\n }\n});\nObject.defineProperty(exports, \"ListItem\", {\n enumerable: true,\n get: function get() {\n return _ListItem.default;\n }\n});\nObject.defineProperty(exports, \"ListItemAvatar\", {\n enumerable: true,\n get: function get() {\n return _ListItemAvatar.default;\n }\n});\nObject.defineProperty(exports, \"ListItemText\", {\n enumerable: true,\n get: function get() {\n return _ListItemText.default;\n }\n});\nObject.defineProperty(exports, \"ListItemIcon\", {\n enumerable: true,\n get: function get() {\n return _ListItemIcon.default;\n }\n});\nObject.defineProperty(exports, \"ListItemSecondaryAction\", {\n enumerable: true,\n get: function get() {\n return _ListItemSecondaryAction.default;\n }\n});\nObject.defineProperty(exports, \"ListSubheader\", {\n enumerable: true,\n get: function get() {\n return _ListSubheader.default;\n }\n});\n\nvar _List = _interopRequireDefault(require(\"./List\"));\n\nvar _ListItem = _interopRequireDefault(require(\"./ListItem\"));\n\nvar _ListItemAvatar = _interopRequireDefault(require(\"./ListItemAvatar\"));\n\nvar _ListItemText = _interopRequireDefault(require(\"./ListItemText\"));\n\nvar _ListItemIcon = _interopRequireDefault(require(\"./ListItemIcon\"));\n\nvar _ListItemSecondaryAction = _interopRequireDefault(require(\"./ListItemSecondaryAction\"));\n\nvar _ListSubheader = _interopRequireDefault(require(\"./ListSubheader\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/index.js\n// module id = 963\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative'\n },\n padding: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit\n },\n dense: {\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2\n },\n subheader: {\n paddingTop: 0\n }\n };\n};\n\nexports.styles = styles;\n\nvar List =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(List, _React$Component);\n\n function List() {\n (0, _classCallCheck2.default)(this, List);\n return (0, _possibleConstructorReturn2.default)(this, (List.__proto__ || (0, _getPrototypeOf.default)(List)).apply(this, arguments));\n }\n\n (0, _createClass2.default)(List, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n dense: this.props.dense\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _classNames;\n\n var _props = this.props,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n Component = _props.component,\n dense = _props.dense,\n disablePadding = _props.disablePadding,\n subheader = _props.subheader,\n other = (0, _objectWithoutProperties2.default)(_props, [\"children\", \"classes\", \"className\", \"component\", \"dense\", \"disablePadding\", \"subheader\"]);\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.dense, dense && !disablePadding), (0, _defineProperty2.default)(_classNames, classes.padding, !disablePadding), (0, _defineProperty2.default)(_classNames, classes.subheader, subheader), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other), subheader, children);\n }\n }]);\n return List;\n}(_react.default.Component);\n\nList.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used for\n * the list and list items. The property is available to descendant components as the\n * `dense` context.\n */\n dense: _propTypes.default.bool,\n\n /**\n * If `true`, vertical padding will be removed from the list.\n */\n disablePadding: _propTypes.default.bool,\n\n /**\n * The content of the subheader, normally `ListSubheader`.\n */\n subheader: _propTypes.default.node\n} : {};\nList.defaultProps = {\n component: 'ul',\n dense: false,\n disablePadding: false\n};\nList.childContextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiList'\n})(List);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/List.js\n// module id = 964\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n width: 36,\n height: 36,\n fontSize: theme.typography.pxToRem(18),\n marginRight: 4\n },\n icon: {\n width: 20,\n height: 20,\n fontSize: theme.typography.pxToRem(20)\n }\n };\n};\n/**\n * It's a simple wrapper to apply the `dense` mode styles to `Avatar`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemAvatar(props, context) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n\n if (context.dense === undefined) {\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(false, \"Material-UI: is a simple wrapper to apply the dense styles\\n to . You do not need it unless you are controlling the dense property.\") : void 0;\n return props.children;\n }\n\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.root, context.dense), classNameProp, children.props.className),\n childrenClassName: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.icon, context.dense), children.props.childrenClassName)\n }, other));\n}\n\nListItemAvatar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `Avatar`.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemAvatar.contextTypes = {\n dense: _propTypes.default.bool\n};\nListItemAvatar.muiName = 'ListItemAvatar';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemAvatar'\n})(ListItemAvatar);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemAvatar.js\n// module id = 965\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _Typography = _interopRequireDefault(require(\"../Typography\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n flex: '1 1 auto',\n minWidth: 0,\n padding: \"0 \".concat(theme.spacing.unit * 2, \"px\"),\n '&:first-child': {\n paddingLeft: 0\n }\n },\n inset: {\n '&:first-child': {\n paddingLeft: theme.spacing.unit * 7\n }\n },\n dense: {\n fontSize: theme.typography.pxToRem(13)\n },\n primary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n secondary: {\n '&$textDense': {\n fontSize: 'inherit'\n }\n },\n textDense: {}\n };\n};\n\nexports.styles = styles;\n\nfunction ListItemText(props, context) {\n var _classNames3;\n\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableTypography = props.disableTypography,\n inset = props.inset,\n primaryProp = props.primary,\n secondaryProp = props.secondary,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"secondary\"]);\n var dense = context.dense;\n var primary = primaryProp || children;\n\n if (primary && !disableTypography) {\n primary = _react.default.createElement(_Typography.default, {\n variant: \"subheading\",\n className: (0, _classnames.default)(classes.primary, (0, _defineProperty2.default)({}, classes.textDense, dense))\n }, primary);\n }\n\n var secondary = secondaryProp;\n\n if (secondary && !disableTypography) {\n secondary = _react.default.createElement(_Typography.default, {\n variant: \"body1\",\n className: (0, _classnames.default)(classes.secondary, (0, _defineProperty2.default)({}, classes.textDense, dense)),\n color: \"textSecondary\"\n }, secondary);\n }\n\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames3 = {}, (0, _defineProperty2.default)(_classNames3, classes.dense, dense), (0, _defineProperty2.default)(_classNames3, classes.inset, inset), _classNames3), classNameProp)\n }, other), primary, secondary);\n}\n\nListItemText.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Alias for the `primary` property.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the children won't be wrapped by a typography component.\n * For instance, that can be useful to can render an h4 instead of a\n */\n disableTypography: _propTypes.default.bool,\n\n /**\n * If `true`, the children will be indented.\n * This should be used if there is no left avatar or left icon.\n */\n inset: _propTypes.default.bool,\n primary: _propTypes.default.node,\n secondary: _propTypes.default.node\n} : {};\nListItemText.defaultProps = {\n disableTypography: false,\n inset: false\n};\nListItemText.contextTypes = {\n dense: _propTypes.default.bool\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemText'\n})(ListItemText);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemText.js\n// module id = 966\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n marginRight: theme.spacing.unit * 2,\n color: theme.palette.action.active,\n flexShrink: 0\n }\n };\n};\n/**\n * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`.\n */\n\n\nexports.styles = styles;\n\nfunction ListItemIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.cloneElement(children, (0, _objectSpread2.default)({\n className: (0, _classnames.default)(classes.root, classNameProp, children.props.className)\n }, other));\n}\n\nListItemIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally `Icon`, `SvgIcon`,\n * or a `@material-ui/icons` SVG icon element.\n */\n children: _propTypes.default.element.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemIcon'\n})(ListItemIcon);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemIcon.js\n// module id = 967\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = {\n root: {\n position: 'absolute',\n right: 4,\n top: '50%',\n transform: 'translateY(-50%)'\n }\n};\nexports.styles = styles;\n\nfunction ListItemSecondaryAction(props) {\n var children = props.children,\n classes = props.classes,\n className = props.className,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\"]);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, className)\n }, other), children);\n}\n\nListItemSecondaryAction.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component, normally an `IconButton` or selection control.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string\n} : {};\nListItemSecondaryAction.muiName = 'ListItemSecondaryAction';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListItemSecondaryAction'\n})(ListItemSecondaryAction);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListItemSecondaryAction.js\n// module id = 968\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar styles = function styles(theme) {\n return {\n root: theme.mixins.gutters({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14)\n }),\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorInherit: {\n color: 'inherit'\n },\n inset: {\n paddingLeft: theme.spacing.unit * 9\n },\n sticky: {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: 'inherit'\n }\n };\n};\n\nexports.styles = styles;\n\nfunction ListSubheader(props) {\n var _classNames;\n\n var classes = props.classes,\n className = props.className,\n color = props.color,\n Component = props.component,\n disableSticky = props.disableSticky,\n inset = props.inset,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"color\", \"component\", \"disableSticky\", \"inset\"]);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'default'), (0, _defineProperty2.default)(_classNames, classes.inset, inset), (0, _defineProperty2.default)(_classNames, classes.sticky, !disableSticky), _classNames), className)\n }, other));\n}\n\nListSubheader.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * The content of the component.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n */\n color: _propTypes.default.oneOf(['default', 'primary', 'inherit']),\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n */\n disableSticky: _propTypes.default.bool,\n\n /**\n * If `true`, the List Subheader will be indented.\n */\n inset: _propTypes.default.bool\n} : {};\nListSubheader.defaultProps = {\n color: 'default',\n component: 'li',\n disableSticky: false,\n inset: false\n};\nListSubheader.muiName = 'ListSubheader';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiListSubheader'\n})(ListSubheader);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/List/ListSubheader.js\n// module id = 969\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ListItem = _interopRequireDefault(require(\"../List/ListItem\"));\n\n// @inheritedComponent ListItem\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.typography.subheading, {\n height: theme.spacing.unit * 3,\n boxSizing: 'content-box',\n width: 'auto',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n paddingLeft: theme.spacing.unit * 2,\n paddingRight: theme.spacing.unit * 2,\n '&$selected': {\n backgroundColor: theme.palette.action.selected\n }\n }),\n selected: {}\n };\n};\n\nexports.styles = styles;\n\nfunction MenuItem(props) {\n var classes = props.classes,\n className = props.className,\n component = props.component,\n selected = props.selected,\n role = props.role,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"selected\", \"role\"]);\n return _react.default.createElement(_ListItem.default, (0, _extends2.default)({\n button: true,\n role: role,\n tabIndex: -1,\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.selected, selected), className),\n component: component\n }, other));\n}\n\nMenuItem.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Menu item contents.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * @ignore\n */\n role: _propTypes.default.string,\n\n /**\n * Use to apply selected styling.\n */\n selected: _propTypes.default.bool\n} : {};\nMenuItem.defaultProps = {\n component: 'li',\n role: 'menuitem',\n selected: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiMenuItem'\n})(MenuItem);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Menu/MenuItem.js\n// module id = 970\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Select.default;\n }\n});\n\nvar _Select = _interopRequireDefault(require(\"./Select\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Select/index.js\n// module id = 971\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _SelectInput = _interopRequireDefault(require(\"./SelectInput\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ArrowDropDown = _interopRequireDefault(require(\"../internal/svg-icons/ArrowDropDown\"));\n\nvar _Input = _interopRequireDefault(require(\"../Input\"));\n\n// @inheritedComponent Input\n// Import to enforce the CSS injection order\nvar styles = function styles(theme) {\n return {\n root: {\n position: 'relative',\n width: '100%'\n },\n select: {\n '-moz-appearance': 'none',\n // Reset\n '-webkit-appearance': 'none',\n // Reset\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n paddingRight: theme.spacing.unit * 4,\n width: \"calc(100% - \".concat(theme.spacing.unit * 4, \"px)\"),\n minWidth: theme.spacing.unit * 2,\n // So it doesn't collapse.\n cursor: 'pointer',\n '&:focus': {\n // Show that it's not an text input\n background: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.05)' : 'rgba(255, 255, 255, 0.05)',\n borderRadius: 0 // Reset Chrome style\n\n },\n // Remove Firefox focus border\n '&:-moz-focusring': {\n color: 'transparent',\n textShadow: '0 0 0 #000'\n },\n // Remove IE11 arrow\n '&::-ms-expand': {\n display: 'none'\n },\n '&$disabled': {\n cursor: 'default'\n }\n },\n selectMenu: {\n width: 'auto',\n // Fix Safari textOverflow\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n minHeight: '1.1875em' // Reset (19px), match the native input line-height\n\n },\n disabled: {},\n icon: {\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input.\n position: 'absolute',\n right: 0,\n top: 'calc(50% - 12px)',\n // Center vertically\n color: theme.palette.action.active,\n 'pointer-events': 'none' // Don't block pointer events on the select under the icon.\n\n }\n };\n};\n\nexports.styles = styles;\n\nfunction Select(props) {\n var autoWidth = props.autoWidth,\n children = props.children,\n classes = props.classes,\n displayEmpty = props.displayEmpty,\n IconComponent = props.IconComponent,\n input = props.input,\n inputProps = props.inputProps,\n MenuProps = props.MenuProps,\n multiple = props.multiple,\n native = props.native,\n onClose = props.onClose,\n onOpen = props.onOpen,\n open = props.open,\n renderValue = props.renderValue,\n SelectDisplayProps = props.SelectDisplayProps,\n other = (0, _objectWithoutProperties2.default)(props, [\"autoWidth\", \"children\", \"classes\", \"displayEmpty\", \"IconComponent\", \"input\", \"inputProps\", \"MenuProps\", \"multiple\", \"native\", \"onClose\", \"onOpen\", \"open\", \"renderValue\", \"SelectDisplayProps\"]);\n return _react.default.cloneElement(input, (0, _objectSpread2.default)({\n // Most of the logic is implemented in `SelectInput`.\n // The `Select` component is a simple API wrapper to expose something better to play with.\n inputComponent: _SelectInput.default,\n inputProps: (0, _objectSpread2.default)({\n autoWidth: autoWidth,\n children: children,\n classes: classes,\n displayEmpty: displayEmpty,\n IconComponent: IconComponent,\n MenuProps: MenuProps,\n multiple: multiple,\n native: native,\n onClose: onClose,\n onOpen: onOpen,\n open: open,\n renderValue: renderValue,\n SelectDisplayProps: SelectDisplayProps,\n type: undefined\n }, inputProps, input ? input.props.inputProps : {})\n }, other));\n}\n\nSelect.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * An `Input` element; does not have to be a material-ui specific `Input`.\n */\n input: _propTypes.default.element,\n\n /**\n * Properties applied to the `input` element.\n * When `native` is `true`, the properties are applied on the `select` element.\n */\n inputProps: _propTypes.default.object,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nSelect.defaultProps = {\n autoWidth: false,\n displayEmpty: false,\n IconComponent: _ArrowDropDown.default,\n input: _react.default.createElement(_Input.default, null),\n multiple: false,\n native: false\n};\nSelect.muiName = 'Select';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSelect'\n})(Select);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Select/Select.js\n// module id = 972\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _keycode = _interopRequireDefault(require(\"keycode\"));\n\nvar _warning = _interopRequireDefault(require(\"warning\"));\n\nvar _Menu = _interopRequireDefault(require(\"../Menu/Menu\"));\n\nvar _Input = require(\"../Input/Input\");\n\n/**\n * @ignore - internal component.\n */\nvar SelectInput =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(SelectInput, _React$Component);\n\n function SelectInput() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, SelectInput);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = SelectInput.__proto__ || (0, _getPrototypeOf.default)(SelectInput)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"state\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: {\n open: false\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"ignoreNextBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: false\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayNode\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"displayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isOpenControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.open !== undefined\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"isControlled\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.props.value != null\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"updateDisplayWidth\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value() {\n // Perfom the layout computation outside of the render method.\n if (_this.displayNode) {\n _this.displayWidth = _this.displayNode.clientWidth;\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"update\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: _this.isOpenControlled ? function (_ref2) {\n var event = _ref2.event,\n open = _ref2.open;\n\n if (open) {\n _this.props.onOpen(event);\n } else {\n _this.props.onClose(event);\n }\n } : function (_ref3) {\n var open = _ref3.open;\n return _this.setState({\n open: open\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n // Opening the menu is going to blur the. It will be focused back when closed.\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleClose\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.update({\n open: false,\n event: event\n });\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleItemClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(child) {\n return function (event) {\n if (!_this.props.multiple) {\n _this.update({\n open: false,\n event: event\n });\n }\n\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n\n if (onChange) {\n var value;\n var target;\n\n if (event.target) {\n target = event.target;\n }\n\n if (_this.props.multiple) {\n value = Array.isArray(_this.props.value) ? (0, _toConsumableArray2.default)(_this.props.value) : [];\n var itemIndex = value.indexOf(child.props.value);\n\n if (itemIndex === -1) {\n value.push(child.props.value);\n } else {\n value.splice(itemIndex, 1);\n }\n } else {\n value = child.props.value;\n }\n\n event.persist();\n event.target = (0, _objectSpread2.default)({}, target, {\n value: value,\n name: name\n });\n onChange(event, child);\n }\n };\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBlur\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.ignoreNextBlur === true) {\n // The parent components are relying on the bubbling of the event.\n event.stopPropagation();\n _this.ignoreNextBlur = false;\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleKeyDown\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n if (_this.props.readOnly) {\n return;\n }\n\n if (['space', 'up', 'down'].indexOf((0, _keycode.default)(event)) !== -1) {\n event.preventDefault(); // Opening the menu is going to blur the. It will be focused back when closed.\n\n _this.ignoreNextBlur = true;\n\n _this.update({\n open: true,\n event: event\n });\n }\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleDisplayRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n _this.displayNode = node;\n\n _this.updateDisplayWidth();\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleSelectRef\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(node) {\n if (!_this.props.inputRef) {\n return;\n }\n\n _this.props.inputRef({\n node: node,\n // By pass the native input as we expose a rich object (array).\n value: _this.props.value\n });\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(SelectInput, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.isOpenControlled && this.props.open) {\n // Focus the display node so the focus is restored on this element once\n // the menu is closed.\n this.displayNode.focus(); // Rerender with the resolve `displayNode` reference.\n\n this.forceUpdate();\n }\n\n if (this.props.autoFocus && !this.props.native) {\n this.displayNode.focus();\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n this.updateDisplayWidth();\n return true;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n autoWidth = _props.autoWidth,\n children = _props.children,\n classes = _props.classes,\n classNameProp = _props.className,\n disabled = _props.disabled,\n displayEmpty = _props.displayEmpty,\n IconComponent = _props.IconComponent,\n inputRef = _props.inputRef,\n _props$MenuProps = _props.MenuProps,\n MenuProps = _props$MenuProps === void 0 ? {} : _props$MenuProps,\n multiple = _props.multiple,\n name = _props.name,\n native = _props.native,\n onBlur = _props.onBlur,\n onChange = _props.onChange,\n onClose = _props.onClose,\n onFocus = _props.onFocus,\n onOpen = _props.onOpen,\n openProp = _props.open,\n readOnly = _props.readOnly,\n renderValue = _props.renderValue,\n SelectDisplayProps = _props.SelectDisplayProps,\n tabIndexProp = _props.tabIndex,\n _props$type = _props.type,\n type = _props$type === void 0 ? 'hidden' : _props$type,\n value = _props.value,\n other = (0, _objectWithoutProperties2.default)(_props, [\"autoWidth\", \"children\", \"classes\", \"className\", \"disabled\", \"displayEmpty\", \"IconComponent\", \"inputRef\", \"MenuProps\", \"multiple\", \"name\", \"native\", \"onBlur\", \"onChange\", \"onClose\", \"onFocus\", \"onOpen\", \"open\", \"readOnly\", \"renderValue\", \"SelectDisplayProps\", \"tabIndex\", \"type\", \"value\"]);\n var open = this.isOpenControlled && this.displayNode ? openProp : this.state.open;\n\n if (native) {\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(multiple === false, 'Material-UI: you can not use the `native={true}` and `multiple={true}` properties ' + 'at the same time on a `Select` component.') : void 0;\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(!renderValue, 'Material-UI: the `renderValue` property is not used by the native implementation.') : void 0;\n process.env.NODE_ENV !== \"production\" ? (0, _warning.default)(!displayEmpty, 'Material-UI: the `displayEmpty` property is not used by the native implementation.') : void 0;\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"select\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n name: name,\n disabled: disabled,\n onBlur: onBlur,\n onChange: onChange,\n onFocus: onFocus,\n value: value,\n readOnly: readOnly,\n ref: inputRef\n }, other), children), _react.default.createElement(IconComponent, {\n className: classes.icon\n }));\n }\n\n if (!this.isControlled) {\n throw new Error('Material-UI: the `value` property is required ' + 'when using the `Select` component with `native=false` (default).');\n }\n\n var display;\n var displaySingle = '';\n var displayMultiple = [];\n var computeDisplay = false; // No need to display any value if the field is empty.\n\n if ((0, _Input.isFilled)(this.props) || displayEmpty) {\n if (renderValue) {\n display = renderValue(value);\n } else {\n computeDisplay = true;\n }\n }\n\n var items = _react.default.Children.map(children, function (child) {\n if (!_react.default.isValidElement(child)) {\n return null;\n }\n\n var selected;\n\n if (multiple) {\n if (!Array.isArray(value)) {\n throw new Error('Material-UI: the `value` property must be an array ' + 'when using the `Select` component with `multiple`.');\n }\n\n selected = value.indexOf(child.props.value) !== -1;\n\n if (selected && computeDisplay) {\n displayMultiple.push(child.props.children);\n }\n } else {\n selected = value === child.props.value;\n\n if (selected && computeDisplay) {\n displaySingle = child.props.children;\n }\n }\n\n return _react.default.cloneElement(child, {\n onClick: _this2.handleItemClick(child),\n role: 'option',\n selected: selected,\n value: undefined,\n // The value is most likely not a valid HTML attribute.\n 'data-value': child.props.value // Instead, we provide it as a data attribute.\n\n });\n });\n\n if (computeDisplay) {\n display = multiple ? displayMultiple.join(', ') : displaySingle;\n }\n\n var MenuMinWidth = this.displayNode && !autoWidth ? this.displayWidth : undefined;\n var tabIndex;\n\n if (typeof tabIndexProp !== 'undefined') {\n tabIndex = tabIndexProp;\n } else {\n tabIndex = disabled ? null : 0;\n }\n\n return _react.default.createElement(\"div\", {\n className: classes.root\n }, _react.default.createElement(\"div\", (0, _extends2.default)({\n className: (0, _classnames.default)(classes.select, classes.selectMenu, (0, _defineProperty2.default)({}, classes.disabled, disabled), classNameProp),\n ref: this.handleDisplayRef,\n \"aria-pressed\": open ? 'true' : 'false',\n tabIndex: tabIndex,\n role: \"button\",\n \"aria-owns\": open ? \"menu-\".concat(name || '') : null,\n \"aria-haspopup\": \"true\",\n onKeyDown: this.handleKeyDown,\n onBlur: this.handleBlur,\n onClick: disabled || readOnly ? null : this.handleClick,\n onFocus: onFocus\n }, SelectDisplayProps), display || _react.default.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: '​'\n }\n })), _react.default.createElement(\"input\", (0, _extends2.default)({\n value: Array.isArray(value) ? value.join(',') : value,\n name: name,\n readOnly: readOnly,\n ref: this.handleSelectRef,\n type: type\n }, other)), _react.default.createElement(IconComponent, {\n className: classes.icon\n }), _react.default.createElement(_Menu.default, (0, _extends2.default)({\n id: \"menu-\".concat(name || ''),\n anchorEl: this.displayNode,\n open: open,\n onClose: this.handleClose\n }, MenuProps, {\n MenuListProps: (0, _objectSpread2.default)({\n role: 'listbox'\n }, MenuProps.MenuListProps),\n PaperProps: (0, _objectSpread2.default)({}, MenuProps.PaperProps, {\n style: (0, _objectSpread2.default)({\n minWidth: MenuMinWidth\n }, MenuProps.PaperProps != null ? MenuProps.PaperProps.style : null)\n })\n }), items));\n }\n }]);\n return SelectInput;\n}(_react.default.Component);\n\nSelectInput.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * @ignore\n */\n autoFocus: _propTypes.default.bool,\n\n /**\n * If true, the width of the popover will automatically be set according to the items inside the\n * menu, otherwise it will be at least the width of the select input.\n */\n autoWidth: _propTypes.default.bool,\n\n /**\n * The option elements to populate the select with.\n * Can be some `MenuItem` when `native` is false and `option` when `native` is true.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * The CSS class name of the select element.\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, the select will be disabled.\n */\n disabled: _propTypes.default.bool,\n\n /**\n * If `true`, the selected item is displayed even if its value is empty.\n * You can only use it when the `native` property is `false` (default).\n */\n displayEmpty: _propTypes.default.bool,\n\n /**\n * The icon that displays the arrow.\n */\n IconComponent: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * Use that property to pass a ref callback to the native select element.\n */\n inputRef: _propTypes.default.func,\n\n /**\n * Properties applied to the `Menu` element.\n */\n MenuProps: _propTypes.default.object,\n\n /**\n * If true, `value` must be an array and the menu will support multiple selections.\n * You can only use it when the `native` property is `false` (default).\n */\n multiple: _propTypes.default.bool,\n\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: _propTypes.default.string,\n\n /**\n * If `true`, the component will be using a native `select` element.\n */\n native: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n onBlur: _propTypes.default.func,\n\n /**\n * Callback function fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value`.\n * @param {object} [child] The react element that was selected when `native` is `false` (default).\n */\n onChange: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be closed.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onClose: _propTypes.default.func,\n\n /**\n * @ignore\n */\n onFocus: _propTypes.default.func,\n\n /**\n * Callback fired when the component requests to be opened.\n * Useful in controlled mode (see open).\n *\n * @param {object} event The event source of the callback\n */\n onOpen: _propTypes.default.func,\n\n /**\n * Control `select` open state.\n * You can only use it when the `native` property is `false` (default).\n */\n open: _propTypes.default.bool,\n\n /**\n * @ignore\n */\n readOnly: _propTypes.default.bool,\n\n /**\n * Render the selected value.\n * You can only use it when the `native` property is `false` (default).\n *\n * @param {*} value The `value` provided to the component.\n * @returns {ReactElement}\n */\n renderValue: _propTypes.default.func,\n\n /**\n * Properties applied to the clickable div element.\n */\n SelectDisplayProps: _propTypes.default.object,\n\n /**\n * @ignore\n */\n tabIndex: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),\n\n /**\n * @ignore\n */\n type: _propTypes.default.string,\n\n /**\n * The input value.\n * This property is required when the `native` property is `false` (default).\n */\n value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]))])\n} : {};\nvar _default = SelectInput;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Select/SelectInput.js\n// module id = 973\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M7 10l5 5 5-5z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDropDown = function ArrowDropDown(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDropDown = (0, _pure.default)(ArrowDropDown);\nArrowDropDown.muiName = 'SvgIcon';\nvar _default = ArrowDropDown;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/ArrowDropDown.js\n// module id = 974\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _setDisplayName = require('./setDisplayName');\n\nvar _setDisplayName2 = _interopRequireDefault(_setDisplayName);\n\nvar _wrapDisplayName = require('./wrapDisplayName');\n\nvar _wrapDisplayName2 = _interopRequireDefault(_wrapDisplayName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate = function (_Component) {\n (0, _inherits3.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n (0, _classCallCheck3.default)(this, ShouldUpdate);\n return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));\n }\n\n ShouldUpdate.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n ShouldUpdate.prototype.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName2.default)((0, _wrapDisplayName2.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n return ShouldUpdate;\n };\n};\n\nexports.default = shouldUpdate;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_recompose@0.27.1@recompose/shouldUpdate.js\n// module id = 975\n// module chunks = 33","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n return BaseComponent;\n };\n};\n\nexports.default = setStatic;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_recompose@0.27.1@recompose/setStatic.js\n// module id = 976\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _shallowEqual2.default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_recompose@0.27.1@recompose/shallowEqual.js\n// module id = 977\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\nvar styles = function styles(theme) {\n return {\n root: {\n userSelect: 'none',\n fontSize: 24,\n width: '1em',\n height: '1em',\n display: 'inline-block',\n fill: 'currentColor',\n flexShrink: 0,\n transition: theme.transitions.create('fill', {\n duration: theme.transitions.duration.shorter\n })\n },\n colorPrimary: {\n color: theme.palette.primary.main\n },\n colorSecondary: {\n color: theme.palette.secondary.main\n },\n colorAction: {\n color: theme.palette.action.active\n },\n colorError: {\n color: theme.palette.error.main\n },\n colorDisabled: {\n color: theme.palette.action.disabled\n }\n };\n};\n\nexports.styles = styles;\n\nfunction SvgIcon(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n color = props.color,\n nativeColor = props.nativeColor,\n titleAccess = props.titleAccess,\n viewBox = props.viewBox,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"color\", \"nativeColor\", \"titleAccess\", \"viewBox\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes[\"color\".concat((0, _helpers.capitalize)(color))], color !== 'inherit'), classNameProp);\n return _react.default.createElement(\"svg\", (0, _extends2.default)({\n className: className,\n focusable: \"false\",\n viewBox: viewBox,\n color: nativeColor,\n \"aria-hidden\": titleAccess ? 'false' : 'true'\n }, other), titleAccess ? _react.default.createElement(\"title\", null, titleAccess) : null, children);\n}\n\nSvgIcon.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Node passed into the SVG element.\n */\n children: _propTypes.default.node.isRequired,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * You can use the `nativeColor` property to apply a color attribute to the SVG element.\n */\n color: _propTypes.default.oneOf(['inherit', 'primary', 'secondary', 'action', 'error', 'disabled']),\n\n /**\n * Applies a color attribute to the SVG element.\n */\n nativeColor: _propTypes.default.string,\n\n /**\n * Provides a human-readable title for the element that contains it.\n * https://www.w3.org/TR/SVG-access/#Equivalent\n */\n titleAccess: _propTypes.default.string,\n\n /**\n * Allows you to redefine what the coordinates without units mean inside an SVG element.\n * For example, if the SVG element is 500 (width) by 200 (height),\n * and you pass viewBox=\"0 0 50 20\",\n * this means that the coordinates inside the SVG will go from the top left corner (0,0)\n * to bottom right (50,20) and each unit will be worth 10px.\n */\n viewBox: _propTypes.default.string\n} : {};\nSvgIcon.defaultProps = {\n color: 'inherit',\n viewBox: '0 0 24 24'\n};\nSvgIcon.muiName = 'SvgIcon';\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiSvgIcon'\n})(SvgIcon);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/SvgIcon/SvgIcon.js\n// module id = 978\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"default\", {\n enumerable: true,\n get: function get() {\n return _Toolbar.default;\n }\n});\n\nvar _Toolbar = _interopRequireDefault(require(\"./Toolbar\"));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Toolbar/index.js\n// module id = 979\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: (0, _objectSpread2.default)({}, theme.mixins.toolbar, {\n position: 'relative',\n display: 'flex',\n alignItems: 'center'\n }),\n gutters: theme.mixins.gutters()\n };\n};\n\nexports.styles = styles;\n\nfunction Toolbar(props) {\n var children = props.children,\n classes = props.classes,\n classNameProp = props.className,\n disableGutters = props.disableGutters,\n other = (0, _objectWithoutProperties2.default)(props, [\"children\", \"classes\", \"className\", \"disableGutters\"]);\n var className = (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.gutters, !disableGutters), classNameProp);\n return _react.default.createElement(\"div\", (0, _extends2.default)({\n className: className\n }, other), children);\n}\n\nToolbar.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * If `true`, disables gutter padding.\n */\n disableGutters: _propTypes.default.bool\n} : {};\nToolbar.defaultProps = {\n disableGutters: false\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiToolbar'\n})(Toolbar);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Toolbar/Toolbar.js\n// module id = 980\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _getPrototypeOf = _interopRequireDefault(require(\"@babel/runtime/core-js/object/get-prototype-of\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _KeyboardArrowLeft = _interopRequireDefault(require(\"../internal/svg-icons/KeyboardArrowLeft\"));\n\nvar _KeyboardArrowRight = _interopRequireDefault(require(\"../internal/svg-icons/KeyboardArrowRight\"));\n\nvar _withTheme = _interopRequireDefault(require(\"../styles/withTheme\"));\n\nvar _IconButton = _interopRequireDefault(require(\"../IconButton\"));\n\nvar _ref2 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\nvar _ref3 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref4 = _react.default.createElement(_KeyboardArrowLeft.default, null);\n\nvar _ref5 = _react.default.createElement(_KeyboardArrowRight.default, null);\n\n/**\n * @ignore - internal component.\n */\nvar TablePaginationActions =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inherits2.default)(TablePaginationActions, _React$Component);\n\n function TablePaginationActions() {\n var _ref;\n\n var _temp, _this;\n\n (0, _classCallCheck2.default)(this, TablePaginationActions);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return (0, _possibleConstructorReturn2.default)(_this, (_temp = _this = (0, _possibleConstructorReturn2.default)(this, (_ref = TablePaginationActions.__proto__ || (0, _getPrototypeOf.default)(TablePaginationActions)).call.apply(_ref, [this].concat(args))), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleBackButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page - 1);\n }\n }), Object.defineProperty((0, _assertThisInitialized2.default)(_this), \"handleNextButtonClick\", {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function value(event) {\n _this.props.onChangePage(event, _this.props.page + 1);\n }\n }), _temp));\n }\n\n (0, _createClass2.default)(TablePaginationActions, [{\n key: \"render\",\n value: function render() {\n var _props = this.props,\n backIconButtonProps = _props.backIconButtonProps,\n count = _props.count,\n nextIconButtonProps = _props.nextIconButtonProps,\n onChangePage = _props.onChangePage,\n page = _props.page,\n rowsPerPage = _props.rowsPerPage,\n theme = _props.theme,\n other = (0, _objectWithoutProperties2.default)(_props, [\"backIconButtonProps\", \"count\", \"nextIconButtonProps\", \"onChangePage\", \"page\", \"rowsPerPage\", \"theme\"]);\n return _react.default.createElement(\"div\", other, _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleBackButtonClick,\n disabled: page === 0\n }, backIconButtonProps), theme.direction === 'rtl' ? _ref2 : _ref3), _react.default.createElement(_IconButton.default, (0, _extends2.default)({\n onClick: this.handleNextButtonClick,\n disabled: page >= Math.ceil(count / rowsPerPage) - 1\n }, nextIconButtonProps), theme.direction === 'rtl' ? _ref4 : _ref5));\n }\n }]);\n return TablePaginationActions;\n}(_react.default.Component);\n\nTablePaginationActions.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Properties applied to the back arrow `IconButton` element.\n */\n backIconButtonProps: _propTypes.default.object,\n\n /**\n * The total number of rows.\n */\n count: _propTypes.default.number.isRequired,\n\n /**\n * Properties applied to the next arrow `IconButton` element.\n */\n nextIconButtonProps: _propTypes.default.object,\n\n /**\n * Callback fired when the page is changed.\n *\n * @param {object} event The event source of the callback\n * @param {number} page The page selected\n */\n onChangePage: _propTypes.default.func.isRequired,\n\n /**\n * The zero-based index of the current page.\n */\n page: _propTypes.default.number.isRequired,\n\n /**\n * The number of rows per page.\n */\n rowsPerPage: _propTypes.default.number.isRequired,\n\n /**\n * @ignore\n */\n theme: _propTypes.default.object.isRequired\n} : {};\n\nvar _default = (0, _withTheme.default)()(TablePaginationActions);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TablePaginationActions.js\n// module id = 981\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowLeft = function KeyboardArrowLeft(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowLeft = (0, _pure.default)(KeyboardArrowLeft);\nKeyboardArrowLeft.muiName = 'SvgIcon';\nvar _default = KeyboardArrowLeft;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/KeyboardArrowLeft.js\n// module id = 982\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar KeyboardArrowRight = function KeyboardArrowRight(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nKeyboardArrowRight = (0, _pure.default)(KeyboardArrowRight);\nKeyboardArrowRight.muiName = 'SvgIcon';\nvar _default = KeyboardArrowRight;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/KeyboardArrowRight.js\n// module id = 983\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar styles = function styles(theme) {\n return {\n root: {\n color: 'inherit',\n display: 'table-row',\n height: 48,\n verticalAlign: 'middle',\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 'none',\n '&$selected': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.04)' // grey[100]\n : 'rgba(255, 255, 255, 0.08)'\n },\n '&$hover:hover': {\n backgroundColor: theme.palette.type === 'light' ? 'rgba(0, 0, 0, 0.07)' // grey[200]\n : 'rgba(255, 255, 255, 0.14)'\n }\n },\n selected: {},\n hover: {},\n head: {\n height: 56\n },\n footer: {\n height: 56\n }\n };\n};\n/**\n * Will automatically set dynamic row height\n * based on the material table element parent (head, body, etc).\n */\n\n\nexports.styles = styles;\n\nfunction TableRow(props, context) {\n var _classNames;\n\n var classes = props.classes,\n classNameProp = props.className,\n Component = props.component,\n hover = props.hover,\n selected = props.selected,\n other = (0, _objectWithoutProperties2.default)(props, [\"classes\", \"className\", \"component\", \"hover\", \"selected\"]);\n var table = context.table;\n var className = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.head, table && table.head), (0, _defineProperty2.default)(_classNames, classes.footer, table && table.footer), (0, _defineProperty2.default)(_classNames, classes.hover, table && hover), (0, _defineProperty2.default)(_classNames, classes.selected, table && selected), _classNames), classNameProp);\n return _react.default.createElement(Component, (0, _extends2.default)({\n className: className\n }, other));\n}\n\nTableRow.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Should be valid children such as `TableCell`.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a DOM element or a component.\n */\n component: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]),\n\n /**\n * If `true`, the table row will shade on hover.\n */\n hover: _propTypes.default.bool,\n\n /**\n * If `true`, the table row will have the selected shading.\n */\n selected: _propTypes.default.bool\n} : {};\nTableRow.defaultProps = {\n component: 'tr',\n hover: false,\n selected: false\n};\nTableRow.contextTypes = {\n table: _propTypes.default.object\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableRow'\n})(TableRow);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableRow.js\n// module id = 984\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.styles = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _ArrowDownward = _interopRequireDefault(require(\"../internal/svg-icons/ArrowDownward\"));\n\nvar _withStyles = _interopRequireDefault(require(\"../styles/withStyles\"));\n\nvar _ButtonBase = _interopRequireDefault(require(\"../ButtonBase\"));\n\nvar _helpers = require(\"../utils/helpers\");\n\n// @inheritedComponent ButtonBase\nvar styles = function styles(theme) {\n return {\n root: {\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'flex-start',\n flexDirection: 'inherit',\n alignItems: 'center',\n '&:hover': {\n color: theme.palette.text.primary\n },\n '&:focus': {\n color: theme.palette.text.primary\n }\n },\n active: {\n color: theme.palette.text.primary,\n '& $icon': {\n opacity: 1\n }\n },\n icon: {\n height: 16,\n marginRight: 4,\n marginLeft: 4,\n opacity: 0,\n transition: theme.transitions.create(['opacity', 'transform'], {\n duration: theme.transitions.duration.shorter\n }),\n userSelect: 'none',\n width: 16\n },\n iconDirectionDesc: {\n transform: 'rotate(0deg)'\n },\n iconDirectionAsc: {\n transform: 'rotate(180deg)'\n }\n };\n};\n/**\n * A button based label for placing inside `TableCell` for column sorting.\n */\n\n\nexports.styles = styles;\n\nfunction TableSortLabel(props) {\n var active = props.active,\n classes = props.classes,\n className = props.className,\n children = props.children,\n direction = props.direction,\n other = (0, _objectWithoutProperties2.default)(props, [\"active\", \"classes\", \"className\", \"children\", \"direction\"]);\n return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({\n className: (0, _classnames.default)(classes.root, (0, _defineProperty2.default)({}, classes.active, active), className),\n component: \"span\",\n disableRipple: true\n }, other), children, _react.default.createElement(_ArrowDownward.default, {\n className: (0, _classnames.default)(classes.icon, classes[\"iconDirection\".concat((0, _helpers.capitalize)(direction))])\n }));\n}\n\nTableSortLabel.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * If `true`, the label will have the active styling (should be true for the sorted column).\n */\n active: _propTypes.default.bool,\n\n /**\n * Label contents, the arrow will be appended automatically.\n */\n children: _propTypes.default.node,\n\n /**\n * Useful to extend the style applied to components.\n */\n classes: _propTypes.default.object.isRequired,\n\n /**\n * @ignore\n */\n className: _propTypes.default.string,\n\n /**\n * The current sort direction.\n */\n direction: _propTypes.default.oneOf(['asc', 'desc'])\n} : {};\nTableSortLabel.defaultProps = {\n active: false,\n direction: 'desc'\n};\n\nvar _default = (0, _withStyles.default)(styles, {\n name: 'MuiTableSortLabel'\n})(TableSortLabel);\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/Table/TableSortLabel.js\n// module id = 985\n// module chunks = 33","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"../../SvgIcon\"));\n\nvar _ref = _react.default.createElement(\"path\", {\n d: \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n});\n\n/**\n * @ignore - internal component.\n */\nvar ArrowDownward = function ArrowDownward(props) {\n return _react.default.createElement(_SvgIcon.default, props, _ref);\n};\n\nArrowDownward = (0, _pure.default)(ArrowDownward);\nArrowDownward.muiName = 'SvgIcon';\nvar _default = ArrowDownward;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_material-ui@1.0.0-beta.47@material-ui/internal/svg-icons/ArrowDownward.js\n// module id = 986\n// module chunks = 33","import React, { Component } from 'react';\r\nimport AnswerList from './AnswerList'\r\n\r\nclass AnswerListContainer extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\trender() {\r\n\r\n\t\treturn \r\n\t}\r\n}\r\n\r\nexport default AnswerListContainer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/main/answer/AnswerListContainer.js","import React, { Component } from 'react';\r\n\r\nimport { Table } from 'antd'\r\nimport 'antd/lib/table/style/index.css'\r\n\r\n/* \r\n使用这个table组件 \r\nhttps://ant.design/components/table-cn/\r\n\r\n*/\r\n\r\nconst data = [{\r\n key: '1',\r\n name: 'John Brown',\r\n age: 32,\r\n address: 'New York No. 1 Lake Park',\r\n}, {\r\n key: '2',\r\n name: 'Jim Green',\r\n age: 42,\r\n address: 'London No. 1 Lake Park',\r\n}, {\r\n key: '3',\r\n name: 'Joe Black',\r\n age: 32,\r\n address: 'Sidney No. 1 Lake Park',\r\n}, {\r\n key: '4',\r\n name: 'Jim Red',\r\n age: 32,\r\n address: 'London No. 2 Lake Park',\r\n}];\r\n\r\nclass AnswerList extends Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props)\r\n\t}\r\n\thandleChange = (pagination, filters, sorter) => {\r\n\t console.log('Various parameters', pagination, filters, sorter);\r\n\t // TODO sorter变化后重新拉数据,服务端做排序\r\n\t this.setState({\r\n\t \tsortedInfo: sorter,\r\n\t });\r\n \t}\r\n\trender() {\r\n\t\tconst columns = [{\r\n\t \ttitle: 'Name',\r\n\t \tdataIndex: 'name',\r\n\t \tkey: 'name'\r\n \t}, {\r\n\t \ttitle: '点赞数',\r\n\t \tdataIndex: 'age',\r\n\t \tkey: 'age',\r\n\t \tsorter: (a, b) => a.age - b.age,\r\n\t \t\r\n\t \t// sortOrder:sortedInfo .columnKey === 'age' && sortedInfo.order,\r\n\t }, {\r\n\t \ttitle: 'Address',\r\n\t \tdataIndex: 'address',\r\n\t \tkey: 'address',\r\n \t}];\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t\r\n \t\t\r\n \t)\r\n\t}\r\n}\r\n\r\nexport default AnswerList;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/modules/page/main/answer/AnswerList.js","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('fbjs/lib/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_create-react-context@0.2.2@create-react-context/lib/implementation.js\n// module id = 989\n// module chunks = 33","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_gud@1.0.0@gud/index.js\n// module id = 990\n// module chunks = 33","import * as React from 'react';\nimport Empty from '../empty';\nimport { ConfigConsumer } from './';\n\n/* babel-plugin-inline-import './empty.svg' */\nvar emptyImg = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iNDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxlbGxpcHNlIGZpbGw9IiNGNUY1RjUiIGN4PSIzMiIgY3k9IjMzIiByeD0iMzIiIHJ5PSI3Ii8+CiAgICA8ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0iI0Q5RDlEOSI+CiAgICAgIDxwYXRoIGQ9Ik01NSAxMi43Nkw0NC44NTQgMS4yNThDNDQuMzY3LjQ3NCA0My42NTYgMCA0Mi45MDcgMEgyMS4wOTNjLS43NDkgMC0xLjQ2LjQ3NC0xLjk0NyAxLjI1N0w5IDEyLjc2MVYyMmg0NnYtOS4yNHoiLz4KICAgICAgPHBhdGggZD0iTTQxLjYxMyAxNS45MzFjMC0xLjYwNS45OTQtMi45MyAyLjIyNy0yLjkzMUg1NXYxOC4xMzdDNTUgMzMuMjYgNTMuNjggMzUgNTIuMDUgMzVoLTQwLjFDMTAuMzIgMzUgOSAzMy4yNTkgOSAzMS4xMzdWMTNoMTEuMTZjMS4yMzMgMCAyLjIyNyAxLjMyMyAyLjIyNyAyLjkyOHYuMDIyYzAgMS42MDUgMS4wMDUgMi45MDEgMi4yMzcgMi45MDFoMTQuNzUyYzEuMjMyIDAgMi4yMzctMS4zMDggMi4yMzctMi45MTN2LS4wMDd6IiBmaWxsPSIjRkFGQUZBIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K\";\n\nvar renderEmpty = function renderEmpty(componentName) {\n return React.createElement(ConfigConsumer, null, function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var prefix = getPrefixCls('empty');\n\n switch (componentName) {\n case 'Table':\n case 'List':\n return React.createElement(Empty, {\n image: emptyImg,\n className: \"\".concat(prefix, \"-normal\")\n });\n\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n return React.createElement(Empty, {\n image: emptyImg,\n className: \"\".concat(prefix, \"-small\")\n });\n\n default:\n return React.createElement(Empty, null);\n }\n });\n};\n\nexport default renderEmpty;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/config-provider/renderEmpty.js\n// module id = 991\n// module chunks = 33","// Generated by CoffeeScript 1.12.2\n(function() {\n var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n module.exports = function() {\n return performance.now();\n };\n } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n module.exports = function() {\n return (getNanoSeconds() - nodeLoadTime) / 1e6;\n };\n hrtime = process.hrtime;\n getNanoSeconds = function() {\n var hr;\n hr = hrtime();\n return hr[0] * 1e9 + hr[1];\n };\n moduleLoadTime = getNanoSeconds();\n upTime = process.uptime() * 1e9;\n nodeLoadTime = moduleLoadTime - upTime;\n } else if (Date.now) {\n module.exports = function() {\n return Date.now() - loadTime;\n };\n loadTime = Date.now();\n } else {\n module.exports = function() {\n return new Date().getTime() - loadTime;\n };\n loadTime = new Date().getTime();\n }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_performance-now@2.1.0@performance-now/lib/performance-now.js\n// module id = 992\n// module chunks = 33","import addEventListener from \"rc-util/es/Dom/addEventListener\"; // ======================== Observer ========================\n\nvar TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\nvar observerEntities = [];\nexport function addObserveTarget(target, affix) {\n if (!target) return;\n var entity = observerEntities.find(function (item) {\n return item.target === target;\n });\n\n if (entity) {\n entity.affixList.push(affix);\n } else {\n entity = {\n target: target,\n affixList: [affix],\n eventHandlers: {}\n };\n observerEntities.push(entity); // Add listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n entity.eventHandlers[eventName] = addEventListener(target, eventName, function (event) {\n entity.affixList.forEach(function (affix) {\n affix.updatePosition(event);\n });\n });\n });\n }\n}\nexport function removeObserveTarget(affix) {\n var observerEntity = observerEntities.find(function (oriObserverEntity) {\n var hasAffix = oriObserverEntity.affixList.some(function (item) {\n return item === affix;\n });\n\n if (hasAffix) {\n oriObserverEntity.affixList = oriObserverEntity.affixList.filter(function (item) {\n return item !== affix;\n });\n }\n\n return hasAffix;\n });\n\n if (observerEntity && observerEntity.affixList.length === 0) {\n observerEntities = observerEntities.filter(function (item) {\n return item !== observerEntity;\n }); // Remove listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n var handler = observerEntity.eventHandlers[eventName];\n\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n }\n}\nexport function getTargetRect(target) {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n bottom: window.innerHeight\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/affix/utils.js\n// module id = 993\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nexports['default'] = addEventListener;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventObject = require('./EventObject');\n\nvar _EventObject2 = _interopRequireDefault(_EventObject);\n\nfunction addEventListener(target, eventType, callback, option) {\n function wrapCallback(e) {\n var ne = new _EventObject2['default'](e);\n callback.call(target, ne);\n }\n\n if (target.addEventListener) {\n var _ret = (function () {\n var useCapture = false;\n if (typeof option === 'object') {\n useCapture = option.capture || false;\n } else if (typeof option === 'boolean') {\n useCapture = option;\n }\n\n target.addEventListener(eventType, wrapCallback, option || false);\n\n return {\n v: {\n remove: function remove() {\n target.removeEventListener(eventType, wrapCallback, useCapture);\n }\n }\n };\n })();\n\n if (typeof _ret === 'object') return _ret.v;\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, wrapCallback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, wrapCallback);\n }\n };\n }\n}\n\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_add-dom-event-listener@1.1.0@add-dom-event-listener/lib/index.js\n// module id = 994\n// module chunks = 33","/**\n * @ignore\n * event object for dom\n * @author yiminghe@gmail.com\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _EventBaseObject = require('./EventBaseObject');\n\nvar _EventBaseObject2 = _interopRequireDefault(_EventBaseObject);\n\nvar _objectAssign = require('object-assign');\n\nvar _objectAssign2 = _interopRequireDefault(_objectAssign);\n\nvar TRUE = true;\nvar FALSE = false;\nvar commonProps = ['altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'shiftKey', 'target', 'timeStamp', 'view', 'type'];\n\nfunction isNullOrUndefined(w) {\n return w === null || w === undefined;\n}\n\nvar eventNormalizers = [{\n reg: /^key/,\n props: ['char', 'charCode', 'key', 'keyCode', 'which'],\n fix: function fix(event, nativeEvent) {\n if (isNullOrUndefined(event.which)) {\n event.which = !isNullOrUndefined(nativeEvent.charCode) ? nativeEvent.charCode : nativeEvent.keyCode;\n }\n\n // add metaKey to non-Mac browsers (use ctrl for PC 's and Meta for Macs)\n if (event.metaKey === undefined) {\n event.metaKey = event.ctrlKey;\n }\n }\n}, {\n reg: /^touch/,\n props: ['touches', 'changedTouches', 'targetTouches']\n}, {\n reg: /^hashchange$/,\n props: ['newURL', 'oldURL']\n}, {\n reg: /^gesturechange$/i,\n props: ['rotation', 'scale']\n}, {\n reg: /^(mousewheel|DOMMouseScroll)$/,\n props: [],\n fix: function fix(event, nativeEvent) {\n var deltaX = undefined;\n var deltaY = undefined;\n var delta = undefined;\n var wheelDelta = nativeEvent.wheelDelta;\n var axis = nativeEvent.axis;\n var wheelDeltaY = nativeEvent.wheelDeltaY;\n var wheelDeltaX = nativeEvent.wheelDeltaX;\n var detail = nativeEvent.detail;\n\n // ie/webkit\n if (wheelDelta) {\n delta = wheelDelta / 120;\n }\n\n // gecko\n if (detail) {\n // press control e.detail == 1 else e.detail == 3\n delta = 0 - (detail % 3 === 0 ? detail / 3 : detail);\n }\n\n // Gecko\n if (axis !== undefined) {\n if (axis === event.HORIZONTAL_AXIS) {\n deltaY = 0;\n deltaX = 0 - delta;\n } else if (axis === event.VERTICAL_AXIS) {\n deltaX = 0;\n deltaY = delta;\n }\n }\n\n // Webkit\n if (wheelDeltaY !== undefined) {\n deltaY = wheelDeltaY / 120;\n }\n if (wheelDeltaX !== undefined) {\n deltaX = -1 * wheelDeltaX / 120;\n }\n\n // 默认 deltaY (ie)\n if (!deltaX && !deltaY) {\n deltaY = delta;\n }\n\n if (deltaX !== undefined) {\n /**\n * deltaX of mousewheel event\n * @property deltaX\n * @member Event.DomEvent.Object\n */\n event.deltaX = deltaX;\n }\n\n if (deltaY !== undefined) {\n /**\n * deltaY of mousewheel event\n * @property deltaY\n * @member Event.DomEvent.Object\n */\n event.deltaY = deltaY;\n }\n\n if (delta !== undefined) {\n /**\n * delta of mousewheel event\n * @property delta\n * @member Event.DomEvent.Object\n */\n event.delta = delta;\n }\n }\n}, {\n reg: /^mouse|contextmenu|click|mspointer|(^DOMMouseScroll$)/i,\n props: ['buttons', 'clientX', 'clientY', 'button', 'offsetX', 'relatedTarget', 'which', 'fromElement', 'toElement', 'offsetY', 'pageX', 'pageY', 'screenX', 'screenY'],\n fix: function fix(event, nativeEvent) {\n var eventDoc = undefined;\n var doc = undefined;\n var body = undefined;\n var target = event.target;\n var button = nativeEvent.button;\n\n // Calculate pageX/Y if missing and clientX/Y available\n if (target && isNullOrUndefined(event.pageX) && !isNullOrUndefined(nativeEvent.clientX)) {\n eventDoc = target.ownerDocument || document;\n doc = eventDoc.documentElement;\n body = eventDoc.body;\n event.pageX = nativeEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);\n event.pageY = nativeEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);\n }\n\n // which for click: 1 === left; 2 === middle; 3 === right\n // do not use button\n if (!event.which && button !== undefined) {\n if (button & 1) {\n event.which = 1;\n } else if (button & 2) {\n event.which = 3;\n } else if (button & 4) {\n event.which = 2;\n } else {\n event.which = 0;\n }\n }\n\n // add relatedTarget, if necessary\n if (!event.relatedTarget && event.fromElement) {\n event.relatedTarget = event.fromElement === target ? event.toElement : event.fromElement;\n }\n\n return event;\n }\n}];\n\nfunction retTrue() {\n return TRUE;\n}\n\nfunction retFalse() {\n return FALSE;\n}\n\nfunction DomEventObject(nativeEvent) {\n var type = nativeEvent.type;\n\n var isNative = typeof nativeEvent.stopPropagation === 'function' || typeof nativeEvent.cancelBubble === 'boolean';\n\n _EventBaseObject2['default'].call(this);\n\n this.nativeEvent = nativeEvent;\n\n // in case dom event has been mark as default prevented by lower dom node\n var isDefaultPrevented = retFalse;\n if ('defaultPrevented' in nativeEvent) {\n isDefaultPrevented = nativeEvent.defaultPrevented ? retTrue : retFalse;\n } else if ('getPreventDefault' in nativeEvent) {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=691151\n isDefaultPrevented = nativeEvent.getPreventDefault() ? retTrue : retFalse;\n } else if ('returnValue' in nativeEvent) {\n isDefaultPrevented = nativeEvent.returnValue === FALSE ? retTrue : retFalse;\n }\n\n this.isDefaultPrevented = isDefaultPrevented;\n\n var fixFns = [];\n var fixFn = undefined;\n var l = undefined;\n var prop = undefined;\n var props = commonProps.concat();\n\n eventNormalizers.forEach(function (normalizer) {\n if (type.match(normalizer.reg)) {\n props = props.concat(normalizer.props);\n if (normalizer.fix) {\n fixFns.push(normalizer.fix);\n }\n }\n });\n\n l = props.length;\n\n // clone properties of the original event object\n while (l) {\n prop = props[--l];\n this[prop] = nativeEvent[prop];\n }\n\n // fix target property, if necessary\n if (!this.target && isNative) {\n this.target = nativeEvent.srcElement || document; // srcElement might not be defined either\n }\n\n // check if target is a text node (safari)\n if (this.target && this.target.nodeType === 3) {\n this.target = this.target.parentNode;\n }\n\n l = fixFns.length;\n\n while (l) {\n fixFn = fixFns[--l];\n fixFn(this, nativeEvent);\n }\n\n this.timeStamp = nativeEvent.timeStamp || Date.now();\n}\n\nvar EventBaseObjectProto = _EventBaseObject2['default'].prototype;\n\n(0, _objectAssign2['default'])(DomEventObject.prototype, EventBaseObjectProto, {\n constructor: DomEventObject,\n\n preventDefault: function preventDefault() {\n var e = this.nativeEvent;\n\n // if preventDefault exists run it on the original event\n if (e.preventDefault) {\n e.preventDefault();\n } else {\n // otherwise set the returnValue property of the original event to FALSE (IE)\n e.returnValue = FALSE;\n }\n\n EventBaseObjectProto.preventDefault.call(this);\n },\n\n stopPropagation: function stopPropagation() {\n var e = this.nativeEvent;\n\n // if stopPropagation exists run it on the original event\n if (e.stopPropagation) {\n e.stopPropagation();\n } else {\n // otherwise set the cancelBubble property of the original event to TRUE (IE)\n e.cancelBubble = TRUE;\n }\n\n EventBaseObjectProto.stopPropagation.call(this);\n }\n});\n\nexports['default'] = DomEventObject;\nmodule.exports = exports['default'];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_add-dom-event-listener@1.1.0@add-dom-event-listener/lib/EventObject.js\n// module id = 995\n// module chunks = 33","/**\n * @ignore\n * base event object for custom and dom event.\n * @author yiminghe@gmail.com\n */\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction returnFalse() {\n return false;\n}\n\nfunction returnTrue() {\n return true;\n}\n\nfunction EventBaseObject() {\n this.timeStamp = Date.now();\n this.target = undefined;\n this.currentTarget = undefined;\n}\n\nEventBaseObject.prototype = {\n isEventObject: 1,\n\n constructor: EventBaseObject,\n\n isDefaultPrevented: returnFalse,\n\n isPropagationStopped: returnFalse,\n\n isImmediatePropagationStopped: returnFalse,\n\n preventDefault: function preventDefault() {\n this.isDefaultPrevented = returnTrue;\n },\n\n stopPropagation: function stopPropagation() {\n this.isPropagationStopped = returnTrue;\n },\n\n stopImmediatePropagation: function stopImmediatePropagation() {\n this.isImmediatePropagationStopped = returnTrue;\n // fixed 1.2\n // call stopPropagation implicitly\n this.stopPropagation();\n },\n\n halt: function halt(immediate) {\n if (immediate) {\n this.stopImmediatePropagation();\n } else {\n this.stopPropagation();\n }\n this.preventDefault();\n }\n};\n\nexports[\"default\"] = EventBaseObject;\nmodule.exports = exports[\"default\"];\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_add-dom-event-listener@1.1.0@add-dom-event-listener/lib/EventBaseObject.js\n// module id = 996\n// module chunks = 33","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nAnchor.Link = AnchorLink;\nexport default Anchor;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/anchor/index.js\n// module id = 997\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport * as PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Affix from '../affix';\nimport { ConfigConsumer } from '../config-provider';\nimport getScroll from '../_util/getScroll';\nimport raf from 'raf';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element) {\n return 0;\n }\n\n if (!element.getClientRects().length) {\n return 0;\n }\n\n var rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\nfunction easeInOutCubic(t, b, c, d) {\n var cc = c - b;\n t /= d / 2;\n\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n }\n\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}\n\nvar sharpMatcherRegx = /#([^#]+)$/;\n\nfunction scrollTo(href) {\n var offsetTop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var getContainer = arguments.length > 2 ? arguments[2] : undefined;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var container = getContainer();\n var scrollTop = getScroll(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(href);\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var targetScrollTop = scrollTop + eleOffsetTop - offsetTop;\n var startTime = Date.now();\n\n var frameFunc = function frameFunc() {\n var timestamp = Date.now();\n var time = timestamp - startTime;\n var nextScrollTop = easeInOutCubic(time, scrollTop, targetScrollTop, 450);\n\n if (container === window) {\n window.scrollTo(window.pageXOffset, nextScrollTop);\n } else {\n container.scrollTop = nextScrollTop;\n }\n\n if (time < 450) {\n raf(frameFunc);\n } else {\n callback();\n }\n };\n\n raf(frameFunc);\n}\n\nvar Anchor =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Anchor, _React$Component);\n\n function Anchor() {\n var _this;\n\n _classCallCheck(this, Anchor);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Anchor).apply(this, arguments));\n _this.state = {\n activeLink: null\n };\n _this.links = [];\n\n _this.handleScroll = function () {\n if (_this.animating) {\n return;\n }\n\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n bounds = _this$props.bounds;\n\n _this.setState({\n activeLink: _this.getCurrentAnchor(offsetTop, bounds)\n });\n };\n\n _this.handleScrollTo = function (link) {\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n getContainer = _this$props2.getContainer;\n _this.animating = true;\n\n _this.setState({\n activeLink: link\n });\n\n scrollTo(link, offsetTop, getContainer, function () {\n _this.animating = false;\n });\n };\n\n _this.updateInk = function () {\n if (typeof document === 'undefined') {\n return;\n }\n\n var prefixCls = _this.prefixCls;\n var anchorNode = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n var linkNode = anchorNode.getElementsByClassName(\"\".concat(prefixCls, \"-link-title-active\"))[0];\n\n if (linkNode) {\n _this.inkNode.style.top = \"\".concat(linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5, \"px\");\n }\n };\n\n _this.saveInkNode = function (node) {\n _this.inkNode = node;\n };\n\n _this.renderAnchor = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,\n style = _this$props3.style,\n offsetTop = _this$props3.offsetTop,\n affix = _this$props3.affix,\n showInkInFixed = _this$props3.showInkInFixed,\n children = _this$props3.children,\n getContainer = _this$props3.getContainer;\n var activeLink = _this.state.activeLink;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls); // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n\n _this.prefixCls = prefixCls;\n var inkClass = classNames(\"\".concat(prefixCls, \"-ink-ball\"), {\n visible: activeLink\n });\n var wrapperClass = classNames(className, \"\".concat(prefixCls, \"-wrapper\"));\n var anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = _extends({\n maxHeight: offsetTop ? \"calc(100vh - \".concat(offsetTop, \"px)\") : '100vh'\n }, style);\n\n var anchorContent = React.createElement(\"div\", {\n className: wrapperClass,\n style: wrapperStyle\n }, React.createElement(\"div\", {\n className: anchorClass\n }, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-ink\")\n }, React.createElement(\"span\", {\n className: inkClass,\n ref: _this.saveInkNode\n })), children));\n return !affix ? anchorContent : React.createElement(Affix, {\n offsetTop: offsetTop,\n target: getContainer\n }, anchorContent);\n };\n\n return _this;\n }\n\n _createClass(Anchor, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n var _this2 = this;\n\n var antAnchor = {\n registerLink: function registerLink(link) {\n if (!_this2.links.includes(link)) {\n _this2.links.push(link);\n }\n },\n unregisterLink: function unregisterLink(link) {\n var index = _this2.links.indexOf(link);\n\n if (index !== -1) {\n _this2.links.splice(index, 1);\n }\n },\n activeLink: this.state.activeLink,\n scrollTo: this.handleScrollTo,\n onClick: this.props.onClick\n };\n return {\n antAnchor: antAnchor\n };\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var getContainer = this.props.getContainer;\n this.scrollEvent = addEventListener(getContainer(), 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateInk();\n }\n }, {\n key: \"getCurrentAnchor\",\n value: function getCurrentAnchor() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var activeLink = '';\n\n if (typeof document === 'undefined') {\n return activeLink;\n }\n\n var linkSections = [];\n var getContainer = this.props.getContainer;\n var container = getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var target = document.getElementById(sharpLinkMatch[1]);\n\n if (target) {\n var top = getOffsetTop(target, container);\n\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n\n return '';\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ConfigConsumer, null, this.renderAnchor);\n }\n }]);\n\n return Anchor;\n}(React.Component);\n\nexport { Anchor as default };\nAnchor.defaultProps = {\n affix: true,\n showInkInFixed: false,\n getContainer: getDefaultContainer\n};\nAnchor.childContextTypes = {\n antAnchor: PropTypes.object\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/anchor/Anchor.js\n// module id = 998\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport * as PropTypes from 'prop-types';\nimport { polyfill } from 'react-lifecycles-compat';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\n\nvar AnchorLink =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AnchorLink, _React$Component);\n\n function AnchorLink() {\n var _this;\n\n _classCallCheck(this, AnchorLink);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AnchorLink).apply(this, arguments));\n\n _this.handleClick = function (e) {\n var _this$context$antAnch = _this.context.antAnchor,\n scrollTo = _this$context$antAnch.scrollTo,\n onClick = _this$context$antAnch.onClick;\n var _this$props = _this.props,\n href = _this$props.href,\n title = _this$props.title;\n\n if (onClick) {\n onClick(e, {\n title: title,\n href: href\n });\n }\n\n scrollTo(href);\n };\n\n _this.renderAnchorLink = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n href = _this$props2.href,\n title = _this$props2.title,\n children = _this$props2.children,\n className = _this$props2.className;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n var active = _this.context.antAnchor.activeLink === href;\n var wrapperClassName = classNames(className, \"\".concat(prefixCls, \"-link\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-active\"), active));\n var titleClassName = classNames(\"\".concat(prefixCls, \"-link-title\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-title-active\"), active));\n return React.createElement(\"div\", {\n className: wrapperClassName\n }, React.createElement(\"a\", {\n className: titleClassName,\n href: href,\n title: typeof title === 'string' ? title : '',\n onClick: _this.handleClick\n }, title), children);\n };\n\n return _this;\n }\n\n _createClass(AnchorLink, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.context.antAnchor.registerLink(this.props.href);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_ref2) {\n var prevHref = _ref2.href;\n var href = this.props.href;\n\n if (prevHref !== href) {\n this.context.antAnchor.unregisterLink(prevHref);\n this.context.antAnchor.registerLink(href);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.antAnchor.unregisterLink(this.props.href);\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ConfigConsumer, null, this.renderAnchorLink);\n }\n }]);\n\n return AnchorLink;\n}(React.Component);\n\nAnchorLink.defaultProps = {\n href: '#'\n};\nAnchorLink.contextTypes = {\n antAnchor: PropTypes.object\n};\npolyfill(AnchorLink);\nexport default AnchorLink;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/anchor/AnchorLink.js\n// module id = 999\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport { Option, OptGroup } from 'rc-select';\nimport classNames from 'classnames';\nimport InputElement from './InputElement';\nimport Input from '../input';\nimport Select from '../select';\nimport { ConfigConsumer } from '../config-provider';\n\nfunction isSelectOptionOrSelectOptGroup(child) {\n return child && child.type && (child.type.isSelectOption || child.type.isSelectOptGroup);\n}\n\nvar AutoComplete =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(AutoComplete, _React$Component);\n\n function AutoComplete() {\n var _this;\n\n _classCallCheck(this, AutoComplete);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AutoComplete).apply(this, arguments));\n\n _this.getInputElement = function () {\n var children = _this.props.children;\n var element = children && React.isValidElement(children) && children.type !== Option ? React.Children.only(_this.props.children) : React.createElement(Input, null);\n\n var elementProps = _extends({}, element.props); // https://github.com/ant-design/ant-design/pull/7742\n\n\n delete elementProps.children;\n return React.createElement(InputElement, elementProps, element);\n };\n\n _this.saveSelect = function (node) {\n _this.select = node;\n };\n\n _this.renderAutoComplete = function (_ref) {\n var _classNames;\n\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props = _this.props,\n customizePrefixCls = _this$props.prefixCls,\n size = _this$props.size,\n _this$props$className = _this$props.className,\n className = _this$props$className === void 0 ? '' : _this$props$className,\n notFoundContent = _this$props.notFoundContent,\n optionLabelProp = _this$props.optionLabelProp,\n dataSource = _this$props.dataSource,\n children = _this$props.children;\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var cls = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-lg\"), size === 'large'), _defineProperty(_classNames, \"\".concat(prefixCls, \"-sm\"), size === 'small'), _defineProperty(_classNames, className, !!className), _defineProperty(_classNames, \"\".concat(prefixCls, \"-show-search\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-auto-complete\"), true), _classNames));\n var options;\n var childArray = React.Children.toArray(children);\n\n if (childArray.length && isSelectOptionOrSelectOptGroup(childArray[0])) {\n options = children;\n } else {\n options = dataSource ? dataSource.map(function (item) {\n if (React.isValidElement(item)) {\n return item;\n }\n\n switch (_typeof(item)) {\n case 'string':\n return React.createElement(Option, {\n key: item\n }, item);\n\n case 'object':\n return React.createElement(Option, {\n key: item.value\n }, item.text);\n\n default:\n throw new Error('AutoComplete[dataSource] only supports type `string[] | Object[]`.');\n }\n }) : [];\n }\n\n return React.createElement(Select, _extends({}, _this.props, {\n className: cls,\n mode: Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,\n optionLabelProp: optionLabelProp,\n getInputElement: _this.getInputElement,\n notFoundContent: notFoundContent,\n ref: _this.saveSelect\n }), options);\n };\n\n return _this;\n }\n\n _createClass(AutoComplete, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(ConfigConsumer, null, this.renderAutoComplete);\n }\n }]);\n\n return AutoComplete;\n}(React.Component);\n\nexport { AutoComplete as default };\nAutoComplete.Option = Option;\nAutoComplete.OptGroup = OptGroup;\nAutoComplete.defaultProps = {\n transitionName: 'slide-up',\n optionLabelProp: 'children',\n choiceTransitionName: 'zoom',\n showSearch: false,\n filterOption: false\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/auto-complete/index.js\n// module id = 1000\n// module chunks = 33","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport { Component } from 'react';\n\nvar OptGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(OptGroup, _Component);\n\n function OptGroup() {\n _classCallCheck(this, OptGroup);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(OptGroup).apply(this, arguments));\n }\n\n return OptGroup;\n}(Component);\n\nexport { OptGroup as default };\nOptGroup.isSelectOptGroup = true;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/OptGroup.js\n// module id = 1001\n// module chunks = 33","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport classnames from 'classnames';\nimport classes from 'component-classes';\nimport Animate from 'rc-animate';\nimport { Item as MenuItem, ItemGroup as MenuItemGroup } from 'rc-menu';\nimport childrenToArray from \"rc-util/es/Children/toArray\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { polyfill } from 'react-lifecycles-compat';\nimport warning from 'warning';\nimport Option from './Option';\nimport SelectPropTypes from './PropTypes';\nimport SelectTrigger from './SelectTrigger';\nimport { defaultFilterFn, findFirstMenuItem, findIndexInValueBySingleValue, generateUUID, getLabelFromPropsValue, getMapKey, getPropValue, getValuePropValue, includesSeparators, isCombobox, isMultipleOrTags, isMultipleOrTagsOrCombobox, isSingleMode, preventDefaultEvent, saveRef, splitBySeparators, toArray, toTitle, UNSELECTABLE_ATTRIBUTE, UNSELECTABLE_STYLE, validateOptionValue } from './util';\nvar SELECT_EMPTY_VALUE_KEY = 'RC_SELECT_EMPTY_VALUE_KEY';\n\nvar noop = function noop() {\n return null;\n};\n\nfunction chaining() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // tslint:disable-next-line:prefer-for-of\n for (var i = 0; i < fns.length; i++) {\n if (fns[i] && typeof fns[i] === 'function') {\n fns[i].apply(chaining, args);\n }\n }\n };\n}\n\nvar Select =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Select, _React$Component);\n\n function Select(props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Select).call(this, props));\n _this.inputRef = null;\n _this.inputMirrorRef = null;\n _this.topCtrlRef = null;\n _this.selectTriggerRef = null;\n _this.rootRef = null;\n _this.selectionRef = null;\n _this.dropdownContainer = null;\n _this.blurTimer = null;\n _this.focusTimer = null; // tslint:disable-next-line:variable-name\n\n _this._focused = false; // tslint:disable-next-line:variable-name\n\n _this._mouseDown = false; // tslint:disable-next-line:variable-name\n\n _this._options = []; // tslint:disable-next-line:variable-name\n\n _this._empty = false;\n\n _this.onInputChange = function (event) {\n var tokenSeparators = _this.props.tokenSeparators;\n var val = event.target.value;\n\n if (isMultipleOrTags(_this.props) && tokenSeparators.length && includesSeparators(val, tokenSeparators)) {\n var nextValue = _this.getValueByInput(val);\n\n if (nextValue !== undefined) {\n _this.fireChange(nextValue);\n }\n\n _this.setOpenState(false, true);\n\n _this.setInputValue('', false);\n\n return;\n }\n\n _this.setInputValue(val);\n\n _this.setState({\n open: true\n });\n\n if (isCombobox(_this.props)) {\n _this.fireChange([val]);\n }\n };\n\n _this.onDropdownVisibleChange = function (open) {\n if (open && !_this._focused) {\n _this.clearBlurTime();\n\n _this.timeoutFocus();\n\n _this._focused = true;\n\n _this.updateFocusClassName();\n }\n\n _this.setOpenState(open);\n }; // combobox ignore\n\n\n _this.onKeyDown = function (event) {\n var open = _this.state.open;\n var disabled = _this.props.disabled;\n\n if (disabled) {\n return;\n }\n\n var keyCode = event.keyCode;\n\n if (open && !_this.getInputDOMNode()) {\n _this.onInputKeyDown(event);\n } else if (keyCode === KeyCode.ENTER || keyCode === KeyCode.DOWN) {\n if (!open) {\n _this.setOpenState(true);\n }\n\n event.preventDefault();\n } else if (keyCode === KeyCode.SPACE) {\n // Not block space if popup is shown\n if (!open) {\n _this.setOpenState(true);\n\n event.preventDefault();\n }\n }\n };\n\n _this.onInputKeyDown = function (event) {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n combobox = _this$props.combobox;\n\n if (disabled) {\n return;\n }\n\n var state = _this.state;\n\n var isRealOpen = _this.getRealOpenState(state); // magic code\n\n\n var keyCode = event.keyCode;\n\n if (isMultipleOrTags(_this.props) && !event.target.value && keyCode === KeyCode.BACKSPACE) {\n event.preventDefault();\n var value = state.value;\n\n if (value.length) {\n _this.removeSelected(value[value.length - 1]);\n }\n\n return;\n }\n\n if (keyCode === KeyCode.DOWN) {\n if (!state.open) {\n _this.openIfHasChildren();\n\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n } else if (keyCode === KeyCode.ENTER && state.open) {\n // Aviod trigger form submit when select item\n // https://github.com/ant-design/ant-design/issues/10861\n // https://github.com/ant-design/ant-design/issues/14544\n if (isRealOpen || !combobox) {\n event.preventDefault();\n }\n } else if (keyCode === KeyCode.ESC) {\n if (state.open) {\n _this.setOpenState(false);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n return;\n }\n\n if (isRealOpen && _this.selectTriggerRef) {\n var menu = _this.selectTriggerRef.getInnerMenu();\n\n if (menu && menu.onKeyDown(event, _this.handleBackfill)) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n _this.onMenuSelect = function (_ref) {\n var item = _ref.item;\n\n if (!item) {\n return;\n }\n\n var value = _this.state.value;\n var props = _this.props;\n var selectedValue = getValuePropValue(item);\n var lastValue = value[value.length - 1];\n\n _this.fireSelect(selectedValue);\n\n if (isMultipleOrTags(props)) {\n if (findIndexInValueBySingleValue(value, selectedValue) !== -1) {\n return;\n }\n\n value = value.concat([selectedValue]);\n } else {\n if (!isCombobox(props) && lastValue !== undefined && lastValue === selectedValue && selectedValue !== _this.state.backfillValue) {\n _this.setOpenState(false, true);\n\n return;\n }\n\n value = [selectedValue];\n\n _this.setOpenState(false, true);\n }\n\n _this.fireChange(value);\n\n var inputValue = isCombobox(props) ? getPropValue(item, props.optionLabelProp) : '';\n\n if (props.autoClearSearchValue) {\n _this.setInputValue(inputValue, false);\n }\n };\n\n _this.onMenuDeselect = function (_ref2) {\n var item = _ref2.item,\n domEvent = _ref2.domEvent;\n\n if (domEvent.type === 'keydown' && domEvent.keyCode === KeyCode.ENTER) {\n _this.removeSelected(getValuePropValue(item));\n\n return;\n }\n\n if (domEvent.type === 'click') {\n _this.removeSelected(getValuePropValue(item));\n }\n\n var props = _this.props;\n\n if (props.autoClearSearchValue) {\n _this.setInputValue('', false);\n }\n };\n\n _this.onArrowClick = function (e) {\n e.stopPropagation();\n e.preventDefault();\n\n if (!_this.props.disabled) {\n _this.setOpenState(!_this.state.open, !_this.state.open);\n }\n };\n\n _this.onPlaceholderClick = function () {\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().focus();\n }\n };\n\n _this.onOuterFocus = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.clearBlurTime();\n\n if (!isMultipleOrTagsOrCombobox(_this.props) && e.target === _this.getInputDOMNode()) {\n return;\n }\n\n if (_this._focused) {\n return;\n }\n\n _this._focused = true;\n\n _this.updateFocusClassName(); // only effect multiple or tag mode\n\n\n if (!isMultipleOrTags(_this.props) || !_this._mouseDown) {\n _this.timeoutFocus();\n }\n };\n\n _this.onPopupFocus = function () {\n // fix ie scrollbar, focus element again\n _this.maybeFocus(true, true);\n };\n\n _this.onOuterBlur = function (e) {\n if (_this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n _this.blurTimer = window.setTimeout(function () {\n _this._focused = false;\n\n _this.updateFocusClassName();\n\n var props = _this.props;\n var value = _this.state.value;\n var inputValue = _this.state.inputValue;\n\n if (isSingleMode(props) && props.showSearch && inputValue && props.defaultActiveFirstOption) {\n var options = _this._options || [];\n\n if (options.length) {\n var firstOption = findFirstMenuItem(options);\n\n if (firstOption) {\n value = [getValuePropValue(firstOption)];\n\n _this.fireChange(value);\n }\n }\n } else if (isMultipleOrTags(props) && inputValue) {\n if (_this._mouseDown) {\n // need update dropmenu when not blur\n _this.setInputValue('');\n } else {\n // why not use setState?\n // https://github.com/ant-design/ant-design/issues/14262\n _this.state.inputValue = '';\n\n if (_this.getInputDOMNode && _this.getInputDOMNode()) {\n _this.getInputDOMNode().value = '';\n }\n }\n\n var tmpValue = _this.getValueByInput(inputValue);\n\n if (tmpValue !== undefined) {\n value = tmpValue;\n\n _this.fireChange(value);\n }\n } // if click the rest space of Select in multiple mode\n\n\n if (isMultipleOrTags(props) && _this._mouseDown) {\n _this.maybeFocus(true, true);\n\n _this._mouseDown = false;\n return;\n }\n\n _this.setOpenState(false);\n\n if (props.onBlur) {\n props.onBlur(_this.getVLForOnChange(value));\n }\n }, 10);\n };\n\n _this.onClearSelection = function (event) {\n var props = _this.props;\n var state = _this.state;\n\n if (props.disabled) {\n return;\n }\n\n var inputValue = state.inputValue;\n var value = state.value;\n event.stopPropagation();\n\n if (inputValue || value.length) {\n if (value.length) {\n _this.fireChange([]);\n }\n\n _this.setOpenState(false, true);\n\n if (inputValue) {\n _this.setInputValue('');\n }\n }\n };\n\n _this.onChoiceAnimationLeave = function () {\n _this.forcePopupAlign();\n };\n\n _this.getOptionInfoBySingleValue = function (value, optionsInfo) {\n var info;\n optionsInfo = optionsInfo || _this.state.optionsInfo;\n\n if (optionsInfo[getMapKey(value)]) {\n info = optionsInfo[getMapKey(value)];\n }\n\n if (info) {\n return info;\n }\n\n var defaultLabel = value;\n\n if (_this.props.labelInValue) {\n var label = getLabelFromPropsValue(_this.props.value, value);\n\n if (label !== undefined) {\n defaultLabel = label;\n }\n }\n\n var defaultInfo = {\n option: React.createElement(Option, {\n value: value,\n key: value\n }, value),\n value: value,\n label: defaultLabel\n };\n return defaultInfo;\n };\n\n _this.getOptionBySingleValue = function (value) {\n var _this$getOptionInfoBy = _this.getOptionInfoBySingleValue(value),\n option = _this$getOptionInfoBy.option;\n\n return option;\n };\n\n _this.getOptionsBySingleValue = function (values) {\n return values.map(function (value) {\n return _this.getOptionBySingleValue(value);\n });\n };\n\n _this.getValueByLabel = function (label) {\n if (label === undefined) {\n return null;\n }\n\n var value = null;\n Object.keys(_this.state.optionsInfo).forEach(function (key) {\n var info = _this.state.optionsInfo[key];\n var disabled = info.disabled;\n\n if (disabled) {\n return;\n }\n\n var oldLable = toArray(info.label);\n\n if (oldLable && oldLable.join('') === label) {\n value = info.value;\n }\n });\n return value;\n };\n\n _this.getVLBySingleValue = function (value) {\n if (_this.props.labelInValue) {\n return {\n key: value,\n label: _this.getLabelBySingleValue(value)\n };\n }\n\n return value;\n };\n\n _this.getVLForOnChange = function (vlsS) {\n var vls = vlsS;\n\n if (vls !== undefined) {\n if (!_this.props.labelInValue) {\n vls = vls.map(function (v) {\n return v;\n });\n } else {\n vls = vls.map(function (vl) {\n return {\n key: vl,\n label: _this.getLabelBySingleValue(vl)\n };\n });\n }\n\n return isMultipleOrTags(_this.props) ? vls : vls[0];\n }\n\n return vls;\n };\n\n _this.getLabelBySingleValue = function (value, optionsInfo) {\n var _this$getOptionInfoBy2 = _this.getOptionInfoBySingleValue(value, optionsInfo),\n label = _this$getOptionInfoBy2.label;\n\n return label;\n };\n\n _this.getDropdownContainer = function () {\n if (!_this.dropdownContainer) {\n _this.dropdownContainer = document.createElement('div');\n document.body.appendChild(_this.dropdownContainer);\n }\n\n return _this.dropdownContainer;\n };\n\n _this.getPlaceholderElement = function () {\n var props = _this.props;\n var state = _this.state;\n var hidden = false;\n\n if (state.inputValue) {\n hidden = true;\n }\n\n var value = state.value;\n\n if (value.length) {\n hidden = true;\n }\n\n if (isCombobox(props) && value.length === 1 && state.value && !state.value[0]) {\n hidden = false;\n }\n\n var placeholder = props.placeholder;\n\n if (placeholder) {\n return React.createElement(\"div\", _extends({\n onMouseDown: preventDefaultEvent,\n style: _extends({\n display: hidden ? 'none' : 'block'\n }, UNSELECTABLE_STYLE)\n }, UNSELECTABLE_ATTRIBUTE, {\n onClick: _this.onPlaceholderClick,\n className: \"\".concat(props.prefixCls, \"-selection__placeholder\")\n }), placeholder);\n }\n\n return null;\n };\n\n _this.getInputElement = function () {\n var props = _this.props;\n var defaultInput = React.createElement(\"input\", {\n id: props.id,\n autoComplete: \"off\"\n }); // tslint:disable-next-line:typedef-whitespace\n\n var inputElement = props.getInputElement ? props.getInputElement() : defaultInput;\n var inputCls = classnames(inputElement.props.className, _defineProperty({}, \"\".concat(props.prefixCls, \"-search__field\"), true)); // https://github.com/ant-design/ant-design/issues/4992#issuecomment-281542159\n // Add space to the end of the inputValue as the width measurement tolerance\n\n return React.createElement(\"div\", {\n className: \"\".concat(props.prefixCls, \"-search__field__wrap\")\n }, React.cloneElement(inputElement, {\n ref: _this.saveInputRef,\n onChange: _this.onInputChange,\n onKeyDown: chaining(_this.onInputKeyDown, inputElement.props.onKeyDown, _this.props.onInputKeyDown),\n value: _this.state.inputValue,\n disabled: props.disabled,\n className: inputCls\n }), React.createElement(\"span\", {\n ref: _this.saveInputMirrorRef,\n className: \"\".concat(props.prefixCls, \"-search__field__mirror\")\n }, _this.state.inputValue, \"\\xA0\"));\n };\n\n _this.getInputDOMNode = function () {\n return _this.topCtrlRef ? _this.topCtrlRef.querySelector('input,textarea,div[contentEditable]') : _this.inputRef;\n };\n\n _this.getInputMirrorDOMNode = function () {\n return _this.inputMirrorRef;\n };\n\n _this.getPopupDOMNode = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getPopupDOMNode();\n }\n };\n\n _this.getPopupMenuComponent = function () {\n if (_this.selectTriggerRef) {\n return _this.selectTriggerRef.getInnerMenu();\n }\n };\n\n _this.setOpenState = function (open, needFocus) {\n var props = _this.props;\n var state = _this.state;\n\n if (state.open === open) {\n _this.maybeFocus(open, !!needFocus);\n\n return;\n }\n\n if (_this.props.onDropdownVisibleChange) {\n _this.props.onDropdownVisibleChange(open);\n }\n\n var nextState = {\n open: open,\n backfillValue: ''\n }; // clear search input value when open is false in singleMode.\n\n if (!open && isSingleMode(props) && props.showSearch) {\n _this.setInputValue('', false);\n }\n\n if (!open) {\n _this.maybeFocus(open, !!needFocus);\n }\n\n _this.setState(_extends({\n open: open\n }, nextState), function () {\n if (open) {\n _this.maybeFocus(open, !!needFocus);\n }\n });\n };\n\n _this.setInputValue = function (inputValue) {\n var fireSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (inputValue !== _this.state.inputValue) {\n _this.setState({\n inputValue: inputValue\n }, _this.forcePopupAlign);\n\n if (fireSearch && _this.props.onSearch) {\n _this.props.onSearch(inputValue);\n }\n }\n };\n\n _this.getValueByInput = function (str) {\n var _this$props2 = _this.props,\n multiple = _this$props2.multiple,\n tokenSeparators = _this$props2.tokenSeparators;\n var nextValue = _this.state.value;\n var hasNewValue = false;\n splitBySeparators(str, tokenSeparators).forEach(function (label) {\n var selectedValue = [label];\n\n if (multiple) {\n var value = _this.getValueByLabel(label);\n\n if (value && findIndexInValueBySingleValue(nextValue, value) === -1) {\n nextValue = nextValue.concat(value);\n hasNewValue = true;\n\n _this.fireSelect(value);\n }\n } else if (findIndexInValueBySingleValue(nextValue, label) === -1) {\n nextValue = nextValue.concat(selectedValue);\n hasNewValue = true;\n\n _this.fireSelect(label);\n }\n });\n return hasNewValue ? nextValue : undefined;\n };\n\n _this.getRealOpenState = function (state) {\n // tslint:disable-next-line:variable-name\n var _open = _this.props.open;\n\n if (typeof _open === 'boolean') {\n return _open;\n }\n\n var open = (state || _this.state).open;\n var options = _this._options || [];\n\n if (isMultipleOrTagsOrCombobox(_this.props) || !_this.props.showSearch) {\n if (open && !options.length) {\n open = false;\n }\n }\n\n return open;\n };\n\n _this.markMouseDown = function () {\n _this._mouseDown = true;\n };\n\n _this.markMouseLeave = function () {\n _this._mouseDown = false;\n };\n\n _this.handleBackfill = function (item) {\n if (!_this.props.backfill || !(isSingleMode(_this.props) || isCombobox(_this.props))) {\n return;\n }\n\n var key = getValuePropValue(item);\n\n if (isCombobox(_this.props)) {\n _this.setInputValue(key, false);\n }\n\n _this.setState({\n value: [key],\n backfillValue: key\n });\n };\n\n _this.filterOption = function (input, child) {\n var defaultFilter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultFilterFn;\n var value = _this.state.value;\n var lastValue = value[value.length - 1];\n\n if (!input || lastValue && lastValue === _this.state.backfillValue) {\n return true;\n }\n\n var filterFn = _this.props.filterOption;\n\n if ('filterOption' in _this.props) {\n if (filterFn === true) {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n } else {\n filterFn = defaultFilter.bind(_assertThisInitialized(_this));\n }\n\n if (!filterFn) {\n return true;\n } else if (typeof filterFn === 'function') {\n return filterFn.call(_assertThisInitialized(_this), input, child);\n } else if (child.props.disabled) {\n return false;\n }\n\n return true;\n };\n\n _this.timeoutFocus = function () {\n if (_this.focusTimer) {\n _this.clearFocusTime();\n }\n\n _this.focusTimer = window.setTimeout(function () {\n if (_this.props.onFocus) {\n _this.props.onFocus();\n }\n }, 10);\n };\n\n _this.clearFocusTime = function () {\n if (_this.focusTimer) {\n clearTimeout(_this.focusTimer);\n _this.focusTimer = null;\n }\n };\n\n _this.clearBlurTime = function () {\n if (_this.blurTimer) {\n clearTimeout(_this.blurTimer);\n _this.blurTimer = null;\n }\n };\n\n _this.updateFocusClassName = function () {\n var rootRef = _this.rootRef;\n var props = _this.props; // avoid setState and its side effect\n\n if (_this._focused) {\n classes(rootRef).add(\"\".concat(props.prefixCls, \"-focused\"));\n } else {\n classes(rootRef).remove(\"\".concat(props.prefixCls, \"-focused\"));\n }\n };\n\n _this.maybeFocus = function (open, needFocus) {\n if (needFocus || open) {\n var input = _this.getInputDOMNode();\n\n var _document = document,\n activeElement = _document.activeElement;\n\n if (input && (open || isMultipleOrTagsOrCombobox(_this.props))) {\n if (activeElement !== input) {\n input.focus();\n _this._focused = true;\n }\n } else if (activeElement !== _this.selectionRef && _this.selectionRef) {\n _this.selectionRef.focus();\n\n _this._focused = true;\n }\n }\n };\n\n _this.removeSelected = function (selectedKey, e) {\n var props = _this.props;\n\n if (props.disabled || _this.isChildDisabled(selectedKey)) {\n return;\n } // Do not trigger Trigger popup\n\n\n if (e && e.stopPropagation) {\n e.stopPropagation();\n }\n\n var oldValue = _this.state.value;\n var value = oldValue.filter(function (singleValue) {\n return singleValue !== selectedKey;\n });\n var canMultiple = isMultipleOrTags(props);\n\n if (canMultiple) {\n var event = selectedKey;\n\n if (props.labelInValue) {\n event = {\n key: selectedKey,\n label: _this.getLabelBySingleValue(selectedKey)\n };\n }\n\n if (props.onDeselect) {\n props.onDeselect(event, _this.getOptionBySingleValue(selectedKey));\n }\n }\n\n _this.fireChange(value);\n };\n\n _this.openIfHasChildren = function () {\n var props = _this.props;\n\n if (React.Children.count(props.children) || isSingleMode(props)) {\n _this.setOpenState(true);\n }\n };\n\n _this.fireSelect = function (value) {\n if (_this.props.onSelect) {\n _this.props.onSelect(_this.getVLBySingleValue(value), _this.getOptionBySingleValue(value));\n }\n };\n\n _this.fireChange = function (value) {\n var props = _this.props;\n\n if (!('value' in props)) {\n _this.setState({\n value: value\n }, _this.forcePopupAlign);\n }\n\n var vls = _this.getVLForOnChange(value);\n\n var options = _this.getOptionsBySingleValue(value);\n\n if (props.onChange) {\n props.onChange(vls, isMultipleOrTags(_this.props) ? options : options[0]);\n }\n };\n\n _this.isChildDisabled = function (key) {\n return childrenToArray(_this.props.children).some(function (child) {\n var childValue = getValuePropValue(child);\n return childValue === key && child.props && child.props.disabled;\n });\n };\n\n _this.forcePopupAlign = function () {\n if (!_this.state.open) {\n return;\n }\n\n if (_this.selectTriggerRef && _this.selectTriggerRef.triggerRef) {\n _this.selectTriggerRef.triggerRef.forcePopupAlign();\n }\n };\n\n _this.renderFilterOptions = function () {\n var inputValue = _this.state.inputValue;\n var _this$props3 = _this.props,\n children = _this$props3.children,\n tags = _this$props3.tags,\n notFoundContent = _this$props3.notFoundContent;\n var menuItems = [];\n var childrenKeys = [];\n var empty = false;\n\n var options = _this.renderFilterOptionsFromChildren(children, childrenKeys, menuItems);\n\n if (tags) {\n // tags value must be string\n var value = _this.state.value;\n value = value.filter(function (singleValue) {\n return childrenKeys.indexOf(singleValue) === -1 && (!inputValue || String(singleValue).indexOf(String(inputValue)) > -1);\n }); // sort by length\n\n value.sort(function (val1, val2) {\n return val1.length - val2.length;\n });\n value.forEach(function (singleValue) {\n var key = singleValue;\n var menuItem = React.createElement(MenuItem, {\n style: UNSELECTABLE_STYLE,\n role: \"option\",\n attribute: UNSELECTABLE_ATTRIBUTE,\n value: key,\n key: key\n }, key);\n options.push(menuItem);\n menuItems.push(menuItem);\n }); // ref: https://github.com/ant-design/ant-design/issues/14090\n\n if (inputValue && menuItems.every(function (option) {\n return getValuePropValue(option) !== inputValue;\n })) {\n options.unshift(React.createElement(MenuItem, {\n style: UNSELECTABLE_STYLE,\n role: \"option\",\n attribute: UNSELECTABLE_ATTRIBUTE,\n value: inputValue,\n key: inputValue\n }, inputValue));\n }\n }\n\n if (!options.length && notFoundContent) {\n empty = true;\n options = [React.createElement(MenuItem, {\n style: UNSELECTABLE_STYLE,\n attribute: UNSELECTABLE_ATTRIBUTE,\n disabled: true,\n role: \"option\",\n value: \"NOT_FOUND\",\n key: \"NOT_FOUND\"\n }, notFoundContent)];\n }\n\n return {\n empty: empty,\n options: options\n };\n };\n\n _this.renderFilterOptionsFromChildren = function (children, childrenKeys, menuItems) {\n var sel = [];\n var props = _this.props;\n var inputValue = _this.state.inputValue;\n var tags = props.tags;\n React.Children.forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n var label = child.props.label;\n var key = child.key;\n\n if (!key && typeof label === 'string') {\n key = label;\n } else if (!label && key) {\n label = key;\n } // Match option group label\n\n\n if (inputValue && _this.filterOption(inputValue, child)) {\n var innerItems = childrenToArray(child.props.children).map(function (subChild) {\n var childValueSub = getValuePropValue(subChild) || subChild.key;\n return React.createElement(MenuItem, _extends({\n key: childValueSub,\n value: childValueSub\n }, subChild.props));\n });\n sel.push(React.createElement(MenuItemGroup, {\n key: key,\n title: label\n }, innerItems)); // Not match\n } else {\n var _innerItems = _this.renderFilterOptionsFromChildren(child.props.children, childrenKeys, menuItems);\n\n if (_innerItems.length) {\n sel.push(React.createElement(MenuItemGroup, {\n key: key,\n title: label\n }, _innerItems));\n }\n }\n\n return;\n }\n\n warning(type.isSelectOption, 'the children of `Select` should be `Select.Option` or `Select.OptGroup`, ' + \"instead of `\".concat(type.name || type.displayName || child.type, \"`.\"));\n var childValue = getValuePropValue(child);\n validateOptionValue(childValue, _this.props);\n\n if (_this.filterOption(inputValue, child)) {\n var menuItem = React.createElement(MenuItem, _extends({\n style: UNSELECTABLE_STYLE,\n attribute: UNSELECTABLE_ATTRIBUTE,\n value: childValue,\n key: childValue,\n role: \"option\"\n }, child.props));\n sel.push(menuItem);\n menuItems.push(menuItem);\n }\n\n if (tags) {\n childrenKeys.push(childValue);\n }\n });\n return sel;\n };\n\n _this.renderTopControlNode = function () {\n var _this$state = _this.state,\n open = _this$state.open,\n inputValue = _this$state.inputValue;\n var value = _this.state.value;\n var props = _this.props;\n var choiceTransitionName = props.choiceTransitionName,\n prefixCls = props.prefixCls,\n maxTagTextLength = props.maxTagTextLength,\n maxTagCount = props.maxTagCount,\n showSearch = props.showSearch,\n removeIcon = props.removeIcon;\n var maxTagPlaceholder = props.maxTagPlaceholder;\n var className = \"\".concat(prefixCls, \"-selection__rendered\"); // search input is inside topControlNode in single, multiple & combobox. 2016/04/13\n\n var innerNode = null;\n\n if (isSingleMode(props)) {\n var selectedValue = null;\n\n if (value.length) {\n var showSelectedValue = false;\n var opacity = 1;\n\n if (!showSearch) {\n showSelectedValue = true;\n } else if (open) {\n showSelectedValue = !inputValue;\n\n if (showSelectedValue) {\n opacity = 0.4;\n }\n } else {\n showSelectedValue = true;\n }\n\n var singleValue = value[0];\n\n var _this$getOptionInfoBy3 = _this.getOptionInfoBySingleValue(singleValue),\n label = _this$getOptionInfoBy3.label,\n title = _this$getOptionInfoBy3.title;\n\n selectedValue = React.createElement(\"div\", {\n key: \"value\",\n className: \"\".concat(prefixCls, \"-selection-selected-value\"),\n title: toTitle(title || label),\n style: {\n display: showSelectedValue ? 'block' : 'none',\n opacity: opacity\n }\n }, label);\n }\n\n if (!showSearch) {\n innerNode = [selectedValue];\n } else {\n innerNode = [selectedValue, React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"input\",\n style: {\n display: open ? 'block' : 'none'\n }\n }, _this.getInputElement())];\n }\n } else {\n var selectedValueNodes = [];\n var limitedCountValue = value;\n var maxTagPlaceholderEl;\n\n if (maxTagCount !== undefined && value.length > maxTagCount) {\n limitedCountValue = limitedCountValue.slice(0, maxTagCount);\n\n var omittedValues = _this.getVLForOnChange(value.slice(maxTagCount, value.length));\n\n var content = \"+ \".concat(value.length - maxTagCount, \" ...\");\n\n if (maxTagPlaceholder) {\n content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n }\n\n maxTagPlaceholderEl = React.createElement(\"li\", _extends({\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n role: \"presentation\",\n onMouseDown: preventDefaultEvent,\n className: \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\"),\n key: \"maxTagPlaceholder\",\n title: toTitle(content)\n }), React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content));\n }\n\n if (isMultipleOrTags(props)) {\n selectedValueNodes = limitedCountValue.map(function (singleValue) {\n var info = _this.getOptionInfoBySingleValue(singleValue);\n\n var content = info.label;\n var title = info.title || content;\n\n if (maxTagTextLength && typeof content === 'string' && content.length > maxTagTextLength) {\n content = \"\".concat(content.slice(0, maxTagTextLength), \"...\");\n }\n\n var disabled = _this.isChildDisabled(singleValue);\n\n var choiceClassName = disabled ? \"\".concat(prefixCls, \"-selection__choice \").concat(prefixCls, \"-selection__choice__disabled\") : \"\".concat(prefixCls, \"-selection__choice\");\n return React.createElement(\"li\", _extends({\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n onMouseDown: preventDefaultEvent,\n className: choiceClassName,\n role: \"presentation\",\n key: singleValue || SELECT_EMPTY_VALUE_KEY,\n title: toTitle(title)\n }), React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-selection__choice__content\")\n }, content), disabled ? null : React.createElement(\"span\", {\n onClick: function onClick(event) {\n _this.removeSelected(singleValue, event);\n },\n className: \"\".concat(prefixCls, \"-selection__choice__remove\")\n }, removeIcon || React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-selection__choice__remove-icon\")\n }, \"\\xD7\")));\n });\n }\n\n if (maxTagPlaceholderEl) {\n selectedValueNodes.push(maxTagPlaceholderEl);\n }\n\n selectedValueNodes.push(React.createElement(\"li\", {\n className: \"\".concat(prefixCls, \"-search \").concat(prefixCls, \"-search--inline\"),\n key: \"__input\"\n }, _this.getInputElement()));\n\n if (isMultipleOrTags(props) && choiceTransitionName) {\n innerNode = React.createElement(Animate, {\n onLeave: _this.onChoiceAnimationLeave,\n component: \"ul\",\n transitionName: choiceTransitionName\n }, selectedValueNodes);\n } else {\n innerNode = React.createElement(\"ul\", null, selectedValueNodes);\n }\n }\n\n return React.createElement(\"div\", {\n className: className,\n ref: _this.saveTopCtrlRef\n }, _this.getPlaceholderElement(), innerNode);\n };\n\n var optionsInfo = Select.getOptionsInfoFromProps(props);\n\n if (props.tags && typeof props.filterOption !== 'function') {\n var isDisabledExist = Object.keys(optionsInfo).some(function (key) {\n return optionsInfo[key].disabled;\n });\n warning(!isDisabledExist, 'Please avoid setting option to disabled in tags mode since user can always type text as tag.');\n }\n\n _this.state = {\n value: Select.getValueFromProps(props, true),\n inputValue: props.combobox ? Select.getInputValueForCombobox(props, optionsInfo, true) : '',\n open: props.defaultOpen,\n optionsInfo: optionsInfo,\n backfillValue: '',\n // a flag for aviod redundant getOptionsInfoFromProps call\n skipBuildOptionsInfo: true,\n ariaId: ''\n };\n _this.saveInputRef = saveRef(_assertThisInitialized(_this), 'inputRef');\n _this.saveInputMirrorRef = saveRef(_assertThisInitialized(_this), 'inputMirrorRef');\n _this.saveTopCtrlRef = saveRef(_assertThisInitialized(_this), 'topCtrlRef');\n _this.saveSelectTriggerRef = saveRef(_assertThisInitialized(_this), 'selectTriggerRef');\n _this.saveRootRef = saveRef(_assertThisInitialized(_this), 'rootRef');\n _this.saveSelectionRef = saveRef(_assertThisInitialized(_this), 'selectionRef');\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // when defaultOpen is true, we should auto focus search input\n // https://github.com/ant-design/ant-design/issues/14254\n if (this.props.autoFocus || this.state.open) {\n this.focus();\n }\n\n this.setState({\n ariaId: generateUUID()\n });\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (isMultipleOrTags(this.props)) {\n var inputNode = this.getInputDOMNode();\n var mirrorNode = this.getInputMirrorDOMNode();\n\n if (inputNode && inputNode.value && mirrorNode) {\n inputNode.style.width = '';\n inputNode.style.width = \"\".concat(mirrorNode.clientWidth, \"px\");\n } else if (inputNode) {\n inputNode.style.width = '';\n }\n }\n\n this.forcePopupAlign();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearFocusTime();\n this.clearBlurTime();\n\n if (this.dropdownContainer) {\n ReactDOM.unmountComponentAtNode(this.dropdownContainer);\n document.body.removeChild(this.dropdownContainer);\n this.dropdownContainer = null;\n }\n }\n }, {\n key: \"focus\",\n value: function focus() {\n if (isSingleMode(this.props) && this.selectionRef) {\n this.selectionRef.focus();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().focus();\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n if (isSingleMode(this.props) && this.selectionRef) {\n this.selectionRef.blur();\n } else if (this.getInputDOMNode()) {\n this.getInputDOMNode().blur();\n }\n }\n }, {\n key: \"renderArrow\",\n value: function renderArrow(multiple) {\n // showArrow : Set to true if not multiple by default but keep set value.\n var _this$props4 = this.props,\n _this$props4$showArro = _this$props4.showArrow,\n showArrow = _this$props4$showArro === void 0 ? !multiple : _this$props4$showArro,\n loading = _this$props4.loading,\n inputIcon = _this$props4.inputIcon,\n prefixCls = _this$props4.prefixCls;\n\n if (!showArrow && !loading) {\n return null;\n } // if loading have loading icon\n\n\n var defaultIcon = loading ? React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-loading\")\n }) : React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-arrow-icon\")\n });\n return React.createElement(\"span\", _extends({\n key: \"arrow\",\n className: \"\".concat(prefixCls, \"-arrow\"),\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n onClick: this.onArrowClick\n }), inputIcon || defaultIcon);\n }\n }, {\n key: \"renderClear\",\n value: function renderClear() {\n var _this$props5 = this.props,\n prefixCls = _this$props5.prefixCls,\n allowClear = _this$props5.allowClear,\n clearIcon = _this$props5.clearIcon;\n var inputValue = this.state.inputValue;\n var value = this.state.value;\n var clear = React.createElement(\"span\", _extends({\n key: \"clear\",\n className: \"\".concat(prefixCls, \"-selection__clear\"),\n onMouseDown: preventDefaultEvent,\n style: UNSELECTABLE_STYLE\n }, UNSELECTABLE_ATTRIBUTE, {\n onClick: this.onClearSelection\n }), clearIcon || React.createElement(\"i\", {\n className: \"\".concat(prefixCls, \"-selection__clear-icon\")\n }, \"\\xD7\"));\n\n if (!allowClear) {\n return null;\n }\n\n if (isCombobox(this.props)) {\n if (inputValue) {\n return clear;\n }\n\n return null;\n }\n\n if (inputValue || value.length) {\n return clear;\n }\n\n return null;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _rootCls;\n\n var props = this.props;\n var multiple = isMultipleOrTags(props); // Default set showArrow to true if not set (not set directly in defaultProps to handle multiple case)\n\n var _props$showArrow = props.showArrow,\n showArrow = _props$showArrow === void 0 ? true : _props$showArrow;\n var state = this.state;\n var className = props.className,\n disabled = props.disabled,\n prefixCls = props.prefixCls,\n loading = props.loading;\n var ctrlNode = this.renderTopControlNode();\n var _this$state2 = this.state,\n open = _this$state2.open,\n ariaId = _this$state2.ariaId;\n\n if (open) {\n var filterOptions = this.renderFilterOptions();\n this._empty = filterOptions.empty;\n this._options = filterOptions.options;\n }\n\n var realOpen = this.getRealOpenState();\n var empty = this._empty;\n var options = this._options || [];\n var dataOrAriaAttributeProps = {};\n Object.keys(props).forEach(function (key) {\n if (Object.prototype.hasOwnProperty.call(props, key) && (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')) {\n dataOrAriaAttributeProps[key] = props[key];\n }\n }); // for (const key in props) {\n // if (\n // Object.prototype.hasOwnProperty.call(props, key) &&\n // (key.substr(0, 5) === 'data-' || key.substr(0, 5) === 'aria-' || key === 'role')\n // ) {\n // dataOrAriaAttributeProps[key] = props[key];\n // }\n // }\n\n var extraSelectionProps = _extends({}, dataOrAriaAttributeProps);\n\n if (!isMultipleOrTagsOrCombobox(props)) {\n extraSelectionProps = _extends({}, extraSelectionProps, {\n onKeyDown: this.onKeyDown,\n tabIndex: props.disabled ? -1 : props.tabIndex\n });\n }\n\n var rootCls = (_rootCls = {}, _defineProperty(_rootCls, className, !!className), _defineProperty(_rootCls, prefixCls, 1), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-open\"), open), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-focused\"), open || !!this._focused), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-combobox\"), isCombobox(props)), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-enabled\"), !disabled), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-allow-clear\"), !!props.allowClear), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-no-arrow\"), !showArrow), _defineProperty(_rootCls, \"\".concat(prefixCls, \"-loading\"), !!loading), _rootCls);\n return React.createElement(SelectTrigger, {\n onPopupFocus: this.onPopupFocus,\n onMouseEnter: this.props.onMouseEnter,\n onMouseLeave: this.props.onMouseLeave,\n dropdownAlign: props.dropdownAlign,\n dropdownClassName: props.dropdownClassName,\n dropdownMatchSelectWidth: props.dropdownMatchSelectWidth,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n transitionName: props.transitionName,\n animation: props.animation,\n prefixCls: props.prefixCls,\n dropdownStyle: props.dropdownStyle,\n combobox: props.combobox,\n showSearch: props.showSearch,\n options: options,\n empty: empty,\n multiple: multiple,\n disabled: disabled,\n visible: realOpen,\n inputValue: state.inputValue,\n value: state.value,\n backfillValue: state.backfillValue,\n firstActiveValue: props.firstActiveValue,\n onDropdownVisibleChange: this.onDropdownVisibleChange,\n getPopupContainer: props.getPopupContainer,\n onMenuSelect: this.onMenuSelect,\n onMenuDeselect: this.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n showAction: props.showAction,\n ref: this.saveSelectTriggerRef,\n menuItemSelectedIcon: props.menuItemSelectedIcon,\n dropdownRender: props.dropdownRender,\n ariaId: ariaId\n }, React.createElement(\"div\", {\n id: props.id,\n style: props.style,\n ref: this.saveRootRef,\n onBlur: this.onOuterBlur,\n onFocus: this.onOuterFocus,\n className: classnames(rootCls),\n onMouseDown: this.markMouseDown,\n onMouseUp: this.markMouseLeave,\n onMouseOut: this.markMouseLeave\n }, React.createElement(\"div\", _extends({\n ref: this.saveSelectionRef,\n key: \"selection\",\n className: \"\".concat(prefixCls, \"-selection\\n \").concat(prefixCls, \"-selection--\").concat(multiple ? 'multiple' : 'single'),\n role: \"combobox\",\n \"aria-autocomplete\": \"list\",\n \"aria-haspopup\": \"true\",\n \"aria-controls\": ariaId,\n \"aria-expanded\": realOpen\n }, extraSelectionProps), ctrlNode, this.renderClear(), this.renderArrow(!!multiple))));\n }\n }]);\n\n return Select;\n}(React.Component);\n\nSelect.propTypes = SelectPropTypes;\nSelect.defaultProps = {\n prefixCls: 'rc-select',\n defaultOpen: false,\n labelInValue: false,\n defaultActiveFirstOption: true,\n showSearch: true,\n allowClear: false,\n placeholder: '',\n onChange: noop,\n onFocus: noop,\n onBlur: noop,\n onSelect: noop,\n onSearch: noop,\n onDeselect: noop,\n onInputKeyDown: noop,\n dropdownMatchSelectWidth: true,\n dropdownStyle: {},\n dropdownMenuStyle: {},\n optionFilterProp: 'value',\n optionLabelProp: 'value',\n notFoundContent: 'Not Found',\n backfill: false,\n showAction: ['click'],\n tokenSeparators: [],\n autoClearSearchValue: true,\n tabIndex: 0,\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\n\nSelect.getDerivedStateFromProps = function (nextProps, prevState) {\n var optionsInfo = prevState.skipBuildOptionsInfo ? prevState.optionsInfo : Select.getOptionsInfoFromProps(nextProps, prevState);\n var newState = {\n optionsInfo: optionsInfo,\n skipBuildOptionsInfo: false\n };\n\n if ('open' in nextProps) {\n newState.open = nextProps.open;\n }\n\n if ('value' in nextProps) {\n var value = Select.getValueFromProps(nextProps);\n newState.value = value;\n\n if (nextProps.combobox) {\n newState.inputValue = Select.getInputValueForCombobox(nextProps, optionsInfo);\n }\n }\n\n return newState;\n};\n\nSelect.getOptionsFromChildren = function (children) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n React.Children.forEach(children, function (child) {\n if (!child) {\n return;\n }\n\n var type = child.type;\n\n if (type.isSelectOptGroup) {\n Select.getOptionsFromChildren(child.props.children, options);\n } else {\n options.push(child);\n }\n });\n return options;\n};\n\nSelect.getInputValueForCombobox = function (props, optionsInfo, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n\n if (value.length) {\n value = value[0];\n } else {\n return '';\n }\n\n var label = value;\n\n if (props.labelInValue) {\n label = value.label;\n } else if (optionsInfo[getMapKey(value)]) {\n label = optionsInfo[getMapKey(value)].label;\n }\n\n if (label === undefined) {\n label = '';\n }\n\n return label;\n};\n\nSelect.getLabelFromOption = function (props, option) {\n return getPropValue(option, props.optionLabelProp);\n};\n\nSelect.getOptionsInfoFromProps = function (props, preState) {\n var options = Select.getOptionsFromChildren(props.children);\n var optionsInfo = {};\n options.forEach(function (option) {\n var singleValue = getValuePropValue(option);\n optionsInfo[getMapKey(singleValue)] = {\n option: option,\n value: singleValue,\n label: Select.getLabelFromOption(props, option),\n title: option.props.title,\n disabled: option.props.disabled\n };\n });\n\n if (preState) {\n // keep option info in pre state value.\n var oldOptionsInfo = preState.optionsInfo;\n var value = preState.value;\n\n if (value) {\n value.forEach(function (v) {\n var key = getMapKey(v);\n\n if (!optionsInfo[key] && oldOptionsInfo[key] !== undefined) {\n optionsInfo[key] = oldOptionsInfo[key];\n }\n });\n }\n }\n\n return optionsInfo;\n};\n\nSelect.getValueFromProps = function (props, useDefaultValue) {\n var value = [];\n\n if ('value' in props && !useDefaultValue) {\n value = toArray(props.value);\n }\n\n if ('defaultValue' in props && useDefaultValue) {\n value = toArray(props.defaultValue);\n }\n\n if (props.labelInValue) {\n value = value.map(function (v) {\n return v.key;\n });\n }\n\n return value;\n};\n\nSelect.displayName = 'Select';\npolyfill(Select);\nexport default Select;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/Select.js\n// module id = 1002\n// module chunks = 33","import React from 'react';\n\nexport function toArrayChildren(children) {\n var ret = [];\n React.Children.forEach(children, function (child) {\n ret.push(child);\n });\n return ret;\n}\n\nexport function findChildInChildrenByKey(children, key) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (ret) {\n return;\n }\n if (child && child.key === key) {\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findShownChildInChildrenByKey(children, key, showProp) {\n var ret = null;\n if (children) {\n children.forEach(function (child) {\n if (child && child.key === key && child.props[showProp]) {\n if (ret) {\n throw new Error('two child with same key for children');\n }\n ret = child;\n }\n });\n }\n return ret;\n}\n\nexport function findHiddenChildInChildrenByKey(children, key, showProp) {\n var found = 0;\n if (children) {\n children.forEach(function (child) {\n if (found) {\n return;\n }\n found = child && child.key === key && !child.props[showProp];\n });\n }\n return found;\n}\n\nexport function isSameChildren(c1, c2, showProp) {\n var same = c1.length === c2.length;\n if (same) {\n c1.forEach(function (child, index) {\n var child2 = c2[index];\n if (child && child2) {\n if (child && !child2 || !child && child2) {\n same = false;\n } else if (child.key !== child2.key) {\n same = false;\n } else if (showProp && child.props[showProp] !== child2.props[showProp]) {\n same = false;\n }\n }\n });\n }\n return same;\n}\n\nexport function mergeChildren(prev, next) {\n var ret = [];\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextChildrenPending = {};\n var pendingChildren = [];\n prev.forEach(function (child) {\n if (child && findChildInChildrenByKey(next, child.key)) {\n if (pendingChildren.length) {\n nextChildrenPending[child.key] = pendingChildren;\n pendingChildren = [];\n }\n } else {\n pendingChildren.push(child);\n }\n });\n\n next.forEach(function (child) {\n if (child && Object.prototype.hasOwnProperty.call(nextChildrenPending, child.key)) {\n ret = ret.concat(nextChildrenPending[child.key]);\n }\n ret.push(child);\n });\n\n ret = ret.concat(pendingChildren);\n\n return ret;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-animate@2.6.0@rc-animate/es/ChildrenUtils.js\n// module id = 1003\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport cssAnimate, { isCssAnimationSupported } from 'css-animation';\nimport animUtil from './util/animate';\n\nvar transitionMap = {\n enter: 'transitionEnter',\n appear: 'transitionAppear',\n leave: 'transitionLeave'\n};\n\nvar AnimateChild = function (_React$Component) {\n _inherits(AnimateChild, _React$Component);\n\n function AnimateChild() {\n _classCallCheck(this, AnimateChild);\n\n return _possibleConstructorReturn(this, (AnimateChild.__proto__ || Object.getPrototypeOf(AnimateChild)).apply(this, arguments));\n }\n\n _createClass(AnimateChild, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stop();\n }\n }, {\n key: 'componentWillEnter',\n value: function componentWillEnter(done) {\n if (animUtil.isEnterSupported(this.props)) {\n this.transition('enter', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillAppear',\n value: function componentWillAppear(done) {\n if (animUtil.isAppearSupported(this.props)) {\n this.transition('appear', done);\n } else {\n done();\n }\n }\n }, {\n key: 'componentWillLeave',\n value: function componentWillLeave(done) {\n if (animUtil.isLeaveSupported(this.props)) {\n this.transition('leave', done);\n } else {\n // always sync, do not interupt with react component life cycle\n // update hidden -> animate hidden ->\n // didUpdate -> animate leave -> unmount (if animate is none)\n done();\n }\n }\n }, {\n key: 'transition',\n value: function transition(animationType, finishCallback) {\n var _this2 = this;\n\n var node = ReactDOM.findDOMNode(this);\n var props = this.props;\n var transitionName = props.transitionName;\n var nameIsObj = typeof transitionName === 'object';\n this.stop();\n var end = function end() {\n _this2.stopper = null;\n finishCallback();\n };\n if ((isCssAnimationSupported || !props.animation[animationType]) && transitionName && props[transitionMap[animationType]]) {\n var name = nameIsObj ? transitionName[animationType] : transitionName + '-' + animationType;\n var activeName = name + '-active';\n if (nameIsObj && transitionName[animationType + 'Active']) {\n activeName = transitionName[animationType + 'Active'];\n }\n this.stopper = cssAnimate(node, {\n name: name,\n active: activeName\n }, end);\n } else {\n this.stopper = props.animation[animationType](node, end);\n }\n }\n }, {\n key: 'stop',\n value: function stop() {\n var stopper = this.stopper;\n if (stopper) {\n this.stopper = null;\n stopper.stop();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return AnimateChild;\n}(React.Component);\n\nAnimateChild.propTypes = {\n children: PropTypes.any\n};\nexport default AnimateChild;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-animate@2.6.0@rc-animate/es/AnimateChild.js\n// module id = 1004\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Provider, create } from 'mini-store';\nimport { default as SubPopupMenu, getActiveKey } from './SubPopupMenu';\nimport { noop } from './util';\n\nvar Menu = function (_React$Component) {\n _inherits(Menu, _React$Component);\n\n function Menu(props) {\n _classCallCheck(this, Menu);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.isRootMenu = true;\n\n var selectedKeys = props.defaultSelectedKeys;\n var openKeys = props.defaultOpenKeys;\n if ('selectedKeys' in props) {\n selectedKeys = props.selectedKeys || [];\n }\n if ('openKeys' in props) {\n openKeys = props.openKeys || [];\n }\n\n _this.store = create({\n selectedKeys: selectedKeys,\n openKeys: openKeys,\n activeKey: { '0-menu-': getActiveKey(props, props.activeKey) }\n });\n return _this;\n }\n\n Menu.prototype.componentDidMount = function componentDidMount() {\n this.updateMiniStore();\n };\n\n Menu.prototype.componentDidUpdate = function componentDidUpdate() {\n this.updateMiniStore();\n };\n\n // onKeyDown needs to be exposed as a instance method\n // e.g., in rc-select, we need to navigate menu item while\n // current active item is rc-select input box rather than the menu itself\n\n\n Menu.prototype.updateMiniStore = function updateMiniStore() {\n if ('selectedKeys' in this.props) {\n this.store.setState({\n selectedKeys: this.props.selectedKeys || []\n });\n }\n if ('openKeys' in this.props) {\n this.store.setState({\n openKeys: this.props.openKeys || []\n });\n }\n };\n\n Menu.prototype.render = function render() {\n var _this2 = this;\n\n var props = _objectWithoutProperties(this.props, []);\n\n props.className += ' ' + props.prefixCls + '-root';\n props = _extends({}, props, {\n onClick: this.onClick,\n onOpenChange: this.onOpenChange,\n onDeselect: this.onDeselect,\n onSelect: this.onSelect,\n openTransitionName: this.getOpenTransitionName(),\n parentMenu: this\n });\n return React.createElement(\n Provider,\n { store: this.store },\n React.createElement(\n SubPopupMenu,\n _extends({}, props, { ref: function ref(c) {\n return _this2.innerMenu = c;\n } }),\n this.props.children\n )\n );\n };\n\n return Menu;\n}(React.Component);\n\nMenu.propTypes = {\n defaultSelectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultActiveFirst: PropTypes.bool,\n selectedKeys: PropTypes.arrayOf(PropTypes.string),\n defaultOpenKeys: PropTypes.arrayOf(PropTypes.string),\n openKeys: PropTypes.arrayOf(PropTypes.string),\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n getPopupContainer: PropTypes.func,\n onClick: PropTypes.func,\n onSelect: PropTypes.func,\n onDeselect: PropTypes.func,\n onDestroy: PropTypes.func,\n openTransitionName: PropTypes.string,\n openAnimation: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n subMenuOpenDelay: PropTypes.number,\n subMenuCloseDelay: PropTypes.number,\n forceSubMenuRender: PropTypes.bool,\n triggerSubMenuAction: PropTypes.string,\n level: PropTypes.number,\n selectable: PropTypes.bool,\n multiple: PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n style: PropTypes.object,\n activeKey: PropTypes.string,\n prefixCls: PropTypes.string,\n builtinPlacements: PropTypes.object,\n itemIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n expandIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n overflowedIndicator: PropTypes.node\n};\nMenu.defaultProps = {\n selectable: true,\n onClick: noop,\n onSelect: noop,\n onOpenChange: noop,\n onDeselect: noop,\n defaultSelectedKeys: [],\n defaultOpenKeys: [],\n subMenuOpenDelay: 0.1,\n subMenuCloseDelay: 0.1,\n triggerSubMenuAction: 'hover',\n prefixCls: 'rc-menu',\n className: '',\n mode: 'vertical',\n style: {},\n builtinPlacements: {},\n overflowedIndicator: React.createElement(\n 'span',\n null,\n '\\xB7\\xB7\\xB7'\n )\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onSelect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n // root menu\n var selectedKeys = _this3.store.getState().selectedKeys;\n var selectedKey = selectInfo.key;\n if (props.multiple) {\n selectedKeys = selectedKeys.concat([selectedKey]);\n } else {\n selectedKeys = [selectedKey];\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onSelect(_extends({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.onClick = function (e) {\n _this3.props.onClick(e);\n };\n\n this.onKeyDown = function (e, callback) {\n _this3.innerMenu.getWrappedInstance().onKeyDown(e, callback);\n };\n\n this.onOpenChange = function (event) {\n var props = _this3.props;\n var openKeys = _this3.store.getState().openKeys.concat();\n var changed = false;\n var processSingle = function processSingle(e) {\n var oneChanged = false;\n if (e.open) {\n oneChanged = openKeys.indexOf(e.key) === -1;\n if (oneChanged) {\n openKeys.push(e.key);\n }\n } else {\n var index = openKeys.indexOf(e.key);\n oneChanged = index !== -1;\n if (oneChanged) {\n openKeys.splice(index, 1);\n }\n }\n changed = changed || oneChanged;\n };\n if (Array.isArray(event)) {\n // batch change call\n event.forEach(processSingle);\n } else {\n processSingle(event);\n }\n if (changed) {\n if (!('openKeys' in _this3.props)) {\n _this3.store.setState({ openKeys: openKeys });\n }\n props.onOpenChange(openKeys);\n }\n };\n\n this.onDeselect = function (selectInfo) {\n var props = _this3.props;\n if (props.selectable) {\n var selectedKeys = _this3.store.getState().selectedKeys.concat();\n var selectedKey = selectInfo.key;\n var index = selectedKeys.indexOf(selectedKey);\n if (index !== -1) {\n selectedKeys.splice(index, 1);\n }\n if (!('selectedKeys' in props)) {\n _this3.store.setState({\n selectedKeys: selectedKeys\n });\n }\n props.onDeselect(_extends({}, selectInfo, {\n selectedKeys: selectedKeys\n }));\n }\n };\n\n this.getOpenTransitionName = function () {\n var props = _this3.props;\n var transitionName = props.openTransitionName;\n var animationName = props.openAnimation;\n if (!transitionName && typeof animationName === 'string') {\n transitionName = props.prefixCls + '-open-' + animationName;\n }\n return transitionName;\n };\n};\n\nexport default Menu;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/Menu.js\n// module id = 1005\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _PropTypes = require('./PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n _classCallCheck(this, Provider);\n\n return _possibleConstructorReturn(this, (Provider.__proto__ || Object.getPrototypeOf(Provider)).apply(this, arguments));\n }\n\n _createClass(Provider, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return {\n miniStore: this.props.store\n };\n }\n }, {\n key: 'render',\n value: function render() {\n return _react.Children.only(this.props.children);\n }\n }]);\n\n return Provider;\n}(_react.Component);\n\nProvider.propTypes = {\n store: _PropTypes.storeShape.isRequired\n};\nProvider.childContextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n};\nexports.default = Provider;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mini-store@2.0.0@mini-store/lib/Provider.js\n// module id = 1006\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = connect;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _shallowequal = require('shallowequal');\n\nvar _shallowequal2 = _interopRequireDefault(_shallowequal);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _reactLifecyclesCompat = require('react-lifecycles-compat');\n\nvar _PropTypes = require('./PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nfunction isStateless(Component) {\n return !Component.prototype.render;\n}\n\nvar defaultMapStateToProps = function defaultMapStateToProps() {\n return {};\n};\n\nfunction connect(mapStateToProps) {\n var shouldSubscribe = !!mapStateToProps;\n var finnalMapStateToProps = mapStateToProps || defaultMapStateToProps;\n\n return function wrapWithConnect(WrappedComponent) {\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n _createClass(Connect, null, [{\n key: 'getDerivedStateFromProps',\n value: function getDerivedStateFromProps(props, prevState) {\n // using ownProps\n if (mapStateToProps && mapStateToProps.length === 2 && props !== prevState.props) {\n return {\n subscribed: finnalMapStateToProps(prevState.store.getState(), props),\n props: props\n };\n }\n return { props: props };\n }\n }]);\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, (Connect.__proto__ || Object.getPrototypeOf(Connect)).call(this, props, context));\n\n _this.handleChange = function () {\n if (!_this.unsubscribe) {\n return;\n }\n var nextState = finnalMapStateToProps(_this.store.getState(), _this.props);\n _this.setState({ subscribed: nextState });\n };\n\n _this.store = context.miniStore;\n _this.state = {\n subscribed: finnalMapStateToProps(_this.store.getState(), props),\n store: _this.store,\n props: props\n };\n return _this;\n }\n\n _createClass(Connect, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.trySubscribe();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.tryUnsubscribe();\n }\n }, {\n key: 'shouldComponentUpdate',\n value: function shouldComponentUpdate(nextProps, nextState) {\n return !(0, _shallowequal2.default)(this.props, nextProps) || !(0, _shallowequal2.default)(this.state.subscribed, nextState.subscribed);\n }\n }, {\n key: 'trySubscribe',\n value: function trySubscribe() {\n if (shouldSubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange);\n this.handleChange();\n }\n }\n }, {\n key: 'tryUnsubscribe',\n value: function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n }\n }, {\n key: 'getWrappedInstance',\n value: function getWrappedInstance() {\n return this.wrappedInstance;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var props = _extends({}, this.props, this.state.subscribed, {\n store: this.store\n });\n\n if (!isStateless(WrappedComponent)) {\n props = _extends({}, props, {\n ref: function ref(c) {\n return _this2.wrappedInstance = c;\n }\n });\n }\n\n return _react2.default.createElement(WrappedComponent, props);\n }\n }]);\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n Connect.contextTypes = {\n miniStore: _PropTypes.storeShape.isRequired\n };\n\n\n (0, _reactLifecyclesCompat.polyfill)(Connect);\n\n return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent);\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mini-store@2.0.0@mini-store/lib/connect.js\n// module id = 1007\n// module chunks = 33","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = create;\nfunction create(initialState) {\n var state = initialState;\n var listeners = [];\n\n function setState(partial) {\n state = _extends({}, state, partial);\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n }\n\n function getState() {\n return state;\n }\n\n function subscribe(listener) {\n listeners.push(listener);\n\n return function unsubscribe() {\n var index = listeners.indexOf(listener);\n listeners.splice(index, 1);\n };\n }\n\n return {\n setState: setState,\n getState: getState,\n subscribe: subscribe\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_mini-store@2.0.0@mini-store/lib/create.js\n// module id = 1008\n// module chunks = 33","!function(e){var n=/iPhone/i,t=/iPod/i,r=/iPad/i,a=/\\bAndroid(?:.+)Mobile\\b/i,p=/Android/i,l=/\\bAndroid(?:.+)SD4930UR\\b/i,b=/\\bAndroid(?:.+)(?:KF[A-Z]{2,4})\\b/i,f=/Windows Phone/i,u=/\\bWindows(?:.+)ARM\\b/i,c=/BlackBerry/i,s=/BB10/i,v=/Opera Mini/i,h=/\\b(CriOS|Chrome)(?:.+)Mobile/i,w=/\\Mobile(?:.+)Firefox\\b/i;function m(e,i){return e.test(i)}function i(e){var i=e||(\"undefined\"!=typeof navigator?navigator.userAgent:\"\"),o=i.split(\"[FBAN\");void 0!==o[1]&&(i=o[0]),void 0!==(o=i.split(\"Twitter\"))[1]&&(i=o[0]);var d={apple:{phone:m(n,i)&&!m(f,i),ipod:m(t,i),tablet:!m(n,i)&&m(r,i)&&!m(f,i),device:(m(n,i)||m(t,i)||m(r,i))&&!m(f,i)},amazon:{phone:m(l,i),tablet:!m(l,i)&&m(b,i),device:m(l,i)||m(b,i)},android:{phone:!m(f,i)&&m(l,i)||!m(f,i)&&m(a,i),tablet:!m(f,i)&&!m(l,i)&&!m(a,i)&&(m(b,i)||m(p,i)),device:!m(f,i)&&(m(l,i)||m(b,i)||m(a,i)||m(p,i))},windows:{phone:m(f,i),tablet:m(u,i),device:m(f,i)||m(u,i)},other:{blackberry:m(c,i),blackberry10:m(s,i),opera:m(v,i),firefox:m(w,i),chrome:m(h,i),device:m(c,i)||m(s,i)||m(v,i)||m(w,i)||m(h,i)}};return d.any=d.apple.device||d.android.device||d.windows.device||d.other.device,d.phone=d.apple.phone||d.android.phone||d.windows.phone,d.tablet=d.apple.tablet||d.android.tablet||d.windows.tablet,d}\"undefined\"!=typeof module&&module.exports&&\"undefined\"==typeof window?module.exports=i:\"undefined\"!=typeof module&&module.exports&&\"undefined\"!=typeof window?module.exports=i():\"function\"==typeof define&&define.amd?define([],e.isMobile=i()):e.isMobile=i()}(this);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_ismobilejs@0.5.1@ismobilejs/dist/isMobile.min.js\n// module id = 1009\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport SubMenu from './SubMenu';\nimport { getWidth, setStyle, menuAllProps } from './util';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nvar MENUITEM_OVERFLOWED_CLASSNAME = 'menuitem-overflowed';\nvar FLOAT_PRECISION_ADJUST = 0.5;\n\n// Fix ssr\nif (canUseDOM) {\n require('mutationobserver-shim');\n}\n\nvar DOMWrap = function (_React$Component) {\n _inherits(DOMWrap, _React$Component);\n\n function DOMWrap() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, DOMWrap);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.state = {\n lastVisibleIndex: undefined\n }, _this.getMenuItemNodes = function () {\n var prefixCls = _this.props.prefixCls;\n\n var ul = ReactDOM.findDOMNode(_this);\n if (!ul) {\n return [];\n }\n\n // filter out all overflowed indicator placeholder\n return [].slice.call(ul.children).filter(function (node) {\n return node.className.split(' ').indexOf(prefixCls + '-overflowed-submenu') < 0;\n });\n }, _this.getOverflowedSubMenuItem = function (keyPrefix, overflowedItems, renderPlaceholder) {\n var _this$props = _this.props,\n overflowedIndicator = _this$props.overflowedIndicator,\n level = _this$props.level,\n mode = _this$props.mode,\n prefixCls = _this$props.prefixCls,\n theme = _this$props.theme,\n propStyle = _this$props.style;\n\n if (level !== 1 || mode !== 'horizontal') {\n return null;\n }\n // put all the overflowed item inside a submenu\n // with a title of overflow indicator ('...')\n var copy = _this.props.children[0];\n\n var _copy$props = copy.props,\n throwAway = _copy$props.children,\n title = _copy$props.title,\n eventKey = _copy$props.eventKey,\n rest = _objectWithoutProperties(_copy$props, ['children', 'title', 'eventKey']);\n\n var style = _extends({}, propStyle);\n var key = keyPrefix + '-overflowed-indicator';\n\n if (overflowedItems.length === 0 && renderPlaceholder !== true) {\n style = _extends({}, style, {\n display: 'none'\n });\n } else if (renderPlaceholder) {\n style = _extends({}, style, {\n visibility: 'hidden',\n // prevent from taking normal dom space\n position: 'absolute'\n });\n key = key + '-placeholder';\n }\n\n var popupClassName = theme ? prefixCls + '-' + theme : '';\n var props = {};\n menuAllProps.forEach(function (k) {\n if (rest[k] !== undefined) {\n props[k] = rest[k];\n }\n });\n\n return React.createElement(\n SubMenu,\n _extends({\n title: overflowedIndicator,\n className: prefixCls + '-overflowed-submenu',\n popupClassName: popupClassName\n }, props, {\n key: key,\n eventKey: keyPrefix + '-overflowed-indicator',\n disabled: false,\n style: style\n }),\n overflowedItems\n );\n }, _this.setChildrenWidthAndResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n var ul = ReactDOM.findDOMNode(_this);\n\n if (!ul) {\n return;\n }\n\n var ulChildrenNodes = ul.children;\n\n if (!ulChildrenNodes || ulChildrenNodes.length === 0) {\n return;\n }\n\n var lastOverflowedIndicatorPlaceholder = ul.children[ulChildrenNodes.length - 1];\n\n // need last overflowed indicator for calculating length;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'inline-block');\n\n var menuItemNodes = _this.getMenuItemNodes();\n\n // reset display attribute for all hidden elements caused by overflow to calculate updated width\n // and then reset to original state after width calculation\n\n var overflowedItems = menuItemNodes.filter(function (c) {\n return c.className.split(' ').indexOf(MENUITEM_OVERFLOWED_CLASSNAME) >= 0;\n });\n\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'inline-block');\n });\n\n _this.menuItemSizes = menuItemNodes.map(function (c) {\n return getWidth(c);\n });\n\n overflowedItems.forEach(function (c) {\n setStyle(c, 'display', 'none');\n });\n _this.overflowedIndicatorWidth = getWidth(ul.children[ul.children.length - 1]);\n _this.originalTotalWidth = _this.menuItemSizes.reduce(function (acc, cur) {\n return acc + cur;\n }, 0);\n _this.handleResize();\n // prevent the overflowed indicator from taking space;\n setStyle(lastOverflowedIndicatorPlaceholder, 'display', 'none');\n }, _this.resizeObserver = null, _this.mutationObserver = null, _this.originalTotalWidth = 0, _this.overflowedItems = [], _this.menuItemSizes = [], _this.handleResize = function () {\n if (_this.props.mode !== 'horizontal') {\n return;\n }\n\n var ul = ReactDOM.findDOMNode(_this);\n if (!ul) {\n return;\n }\n var width = getWidth(ul);\n\n _this.overflowedItems = [];\n var currentSumWidth = 0;\n\n // index for last visible child in horizontal mode\n var lastVisibleIndex = undefined;\n\n // float number comparison could be problematic\n // e.g. 0.1 + 0.2 > 0.3 =====> true\n // thus using FLOAT_PRECISION_ADJUST as buffer to help the situation\n if (_this.originalTotalWidth > width + FLOAT_PRECISION_ADJUST) {\n lastVisibleIndex = -1;\n\n _this.menuItemSizes.forEach(function (liWidth) {\n currentSumWidth += liWidth;\n if (currentSumWidth + _this.overflowedIndicatorWidth <= width) {\n lastVisibleIndex++;\n }\n });\n }\n\n _this.setState({ lastVisibleIndex: lastVisibleIndex });\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n DOMWrap.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this.setChildrenWidthAndResize();\n if (this.props.level === 1 && this.props.mode === 'horizontal') {\n var menuUl = ReactDOM.findDOMNode(this);\n if (!menuUl) {\n return;\n }\n this.resizeObserver = new ResizeObserver(function (entries) {\n entries.forEach(_this2.setChildrenWidthAndResize);\n });\n\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n\n if (typeof MutationObserver !== 'undefined') {\n this.mutationObserver = new MutationObserver(function () {\n _this2.resizeObserver.disconnect();\n [].slice.call(menuUl.children).concat(menuUl).forEach(function (el) {\n _this2.resizeObserver.observe(el);\n });\n _this2.setChildrenWidthAndResize();\n });\n this.mutationObserver.observe(menuUl, { attributes: false, childList: true, subTree: false });\n }\n }\n };\n\n DOMWrap.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.resizeObserver.disconnect();\n }\n };\n\n // get all valid menuItem nodes\n\n\n // memorize rendered menuSize\n\n\n // original scroll size of the list\n\n\n // copy of overflowed items\n\n\n // cache item of the original items (so we can track the size and order)\n\n\n DOMWrap.prototype.renderChildren = function renderChildren(children) {\n var _this3 = this;\n\n // need to take care of overflowed items in horizontal mode\n var lastVisibleIndex = this.state.lastVisibleIndex;\n\n return (children || []).reduce(function (acc, childNode, index) {\n var item = childNode;\n if (_this3.props.mode === 'horizontal') {\n var overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, []);\n if (lastVisibleIndex !== undefined && _this3.props.className.indexOf(_this3.props.prefixCls + '-root') !== -1) {\n if (index > lastVisibleIndex) {\n item = React.cloneElement(childNode,\n // 这里修改 eventKey 是为了防止隐藏状态下还会触发 openkeys 事件\n {\n style: { display: 'none' },\n eventKey: childNode.props.eventKey + '-hidden',\n className: childNode.className + ' ' + MENUITEM_OVERFLOWED_CLASSNAME\n });\n }\n if (index === lastVisibleIndex + 1) {\n _this3.overflowedItems = children.slice(lastVisibleIndex + 1).map(function (c) {\n return React.cloneElement(c,\n // children[index].key will become '.$key' in clone by default,\n // we have to overwrite with the correct key explicitly\n { key: c.props.eventKey, mode: 'vertical-left' });\n });\n\n overflowed = _this3.getOverflowedSubMenuItem(childNode.props.eventKey, _this3.overflowedItems);\n }\n }\n\n var ret = [].concat(acc, [overflowed, item]);\n\n if (index === children.length - 1) {\n // need a placeholder for calculating overflowed indicator width\n ret.push(_this3.getOverflowedSubMenuItem(childNode.props.eventKey, [], true));\n }\n return ret;\n }\n return [].concat(acc, [item]);\n }, []);\n };\n\n DOMWrap.prototype.render = function render() {\n var _props = this.props,\n hiddenClassName = _props.hiddenClassName,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n overflowedIndicator = _props.overflowedIndicator,\n mode = _props.mode,\n level = _props.level,\n Tag = _props.tag,\n children = _props.children,\n theme = _props.theme,\n rest = _objectWithoutProperties(_props, ['hiddenClassName', 'visible', 'prefixCls', 'overflowedIndicator', 'mode', 'level', 'tag', 'children', 'theme']);\n\n if (!visible) {\n rest.className += ' ' + hiddenClassName;\n }\n\n return React.createElement(\n Tag,\n rest,\n this.renderChildren(this.props.children)\n );\n };\n\n return DOMWrap;\n}(React.Component);\n\nDOMWrap.propTypes = {\n className: PropTypes.string,\n children: PropTypes.node,\n mode: PropTypes.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']),\n prefixCls: PropTypes.string,\n level: PropTypes.number,\n theme: PropTypes.string,\n overflowedIndicator: PropTypes.node,\n visible: PropTypes.bool,\n hiddenClassName: PropTypes.string,\n tag: PropTypes.string,\n style: PropTypes.object\n};\n\nDOMWrap.defaultProps = {\n tag: 'div',\n className: ''\n};\n\nexport default DOMWrap;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/DOMWrap.js\n// module id = 1010\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport Align from 'rc-align';\nimport Animate from 'rc-animate';\nimport PopupInner from './PopupInner';\nimport LazyRenderBox from './LazyRenderBox';\nimport { saveRef } from './utils';\n\nvar Popup = function (_Component) {\n _inherits(Popup, _Component);\n\n function Popup(props) {\n _classCallCheck(this, Popup);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props));\n\n _initialiseProps.call(_this);\n\n _this.state = {\n // Used for stretch\n stretchChecked: false,\n targetWidth: undefined,\n targetHeight: undefined\n };\n\n _this.savePopupRef = saveRef.bind(_this, 'popupInstance');\n _this.saveAlignRef = saveRef.bind(_this, 'alignInstance');\n return _this;\n }\n\n Popup.prototype.componentDidMount = function componentDidMount() {\n this.rootNode = this.getPopupDomNode();\n this.setStretchSize();\n };\n\n Popup.prototype.componentDidUpdate = function componentDidUpdate() {\n this.setStretchSize();\n };\n\n // Record size if stretch needed\n\n\n Popup.prototype.getPopupDomNode = function getPopupDomNode() {\n return ReactDOM.findDOMNode(this.popupInstance);\n };\n\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n\n Popup.prototype.getMaskTransitionName = function getMaskTransitionName() {\n var props = this.props;\n var transitionName = props.maskTransitionName;\n var animation = props.maskAnimation;\n if (!transitionName && animation) {\n transitionName = props.prefixCls + '-' + animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getTransitionName = function getTransitionName() {\n var props = this.props;\n var transitionName = props.transitionName;\n if (!transitionName && props.animation) {\n transitionName = props.prefixCls + '-' + props.animation;\n }\n return transitionName;\n };\n\n Popup.prototype.getClassName = function getClassName(currentAlignClassName) {\n return this.props.prefixCls + ' ' + this.props.className + ' ' + currentAlignClassName;\n };\n\n Popup.prototype.getPopupElement = function getPopupElement() {\n var _this2 = this;\n\n var savePopupRef = this.savePopupRef;\n var _state = this.state,\n stretchChecked = _state.stretchChecked,\n targetHeight = _state.targetHeight,\n targetWidth = _state.targetWidth;\n var _props = this.props,\n align = _props.align,\n visible = _props.visible,\n prefixCls = _props.prefixCls,\n style = _props.style,\n getClassNameFromAlign = _props.getClassNameFromAlign,\n destroyPopupOnHide = _props.destroyPopupOnHide,\n stretch = _props.stretch,\n children = _props.children,\n onMouseEnter = _props.onMouseEnter,\n onMouseLeave = _props.onMouseLeave,\n onMouseDown = _props.onMouseDown,\n onTouchStart = _props.onTouchStart;\n\n var className = this.getClassName(this.currentAlignClassName || getClassNameFromAlign(align));\n var hiddenClassName = prefixCls + '-hidden';\n\n if (!visible) {\n this.currentAlignClassName = null;\n }\n\n var sizeStyle = {};\n if (stretch) {\n // Stretch with target\n if (stretch.indexOf('height') !== -1) {\n sizeStyle.height = targetHeight;\n } else if (stretch.indexOf('minHeight') !== -1) {\n sizeStyle.minHeight = targetHeight;\n }\n if (stretch.indexOf('width') !== -1) {\n sizeStyle.width = targetWidth;\n } else if (stretch.indexOf('minWidth') !== -1) {\n sizeStyle.minWidth = targetWidth;\n }\n\n // Delay force align to makes ui smooth\n if (!stretchChecked) {\n sizeStyle.visibility = 'hidden';\n setTimeout(function () {\n if (_this2.alignInstance) {\n _this2.alignInstance.forceAlign();\n }\n }, 0);\n }\n }\n\n var newStyle = _extends({}, sizeStyle, style, this.getZIndexStyle());\n\n var popupInnerProps = {\n className: className,\n prefixCls: prefixCls,\n ref: savePopupRef,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDown: onMouseDown,\n onTouchStart: onTouchStart,\n style: newStyle\n };\n if (destroyPopupOnHide) {\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName()\n },\n visible ? React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n visible: true\n }, popupInnerProps),\n children\n )\n ) : null\n );\n }\n\n return React.createElement(\n Animate,\n {\n component: '',\n exclusive: true,\n transitionAppear: true,\n transitionName: this.getTransitionName(),\n showProp: 'xVisible'\n },\n React.createElement(\n Align,\n {\n target: this.getAlignTarget(),\n key: 'popup',\n ref: this.saveAlignRef,\n monitorWindowResize: true,\n xVisible: visible,\n childrenProps: { visible: 'xVisible' },\n disabled: !visible,\n align: align,\n onAlign: this.onAlign\n },\n React.createElement(\n PopupInner,\n _extends({\n hiddenClassName: hiddenClassName\n }, popupInnerProps),\n children\n )\n )\n );\n };\n\n Popup.prototype.getZIndexStyle = function getZIndexStyle() {\n var style = {};\n var props = this.props;\n if (props.zIndex !== undefined) {\n style.zIndex = props.zIndex;\n }\n return style;\n };\n\n Popup.prototype.getMaskElement = function getMaskElement() {\n var props = this.props;\n var maskElement = void 0;\n if (props.mask) {\n var maskTransition = this.getMaskTransitionName();\n maskElement = React.createElement(LazyRenderBox, {\n style: this.getZIndexStyle(),\n key: 'mask',\n className: props.prefixCls + '-mask',\n hiddenClassName: props.prefixCls + '-mask-hidden',\n visible: props.visible\n });\n if (maskTransition) {\n maskElement = React.createElement(\n Animate,\n {\n key: 'mask',\n showProp: 'visible',\n transitionAppear: true,\n component: '',\n transitionName: maskTransition\n },\n maskElement\n );\n }\n }\n return maskElement;\n };\n\n Popup.prototype.render = function render() {\n return React.createElement(\n 'div',\n null,\n this.getMaskElement(),\n this.getPopupElement()\n );\n };\n\n return Popup;\n}(Component);\n\nPopup.propTypes = {\n visible: PropTypes.bool,\n style: PropTypes.object,\n getClassNameFromAlign: PropTypes.func,\n onAlign: PropTypes.func,\n getRootDomNode: PropTypes.func,\n align: PropTypes.any,\n destroyPopupOnHide: PropTypes.bool,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n stretch: PropTypes.string,\n children: PropTypes.node,\n point: PropTypes.shape({\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this3 = this;\n\n this.onAlign = function (popupDomNode, align) {\n var props = _this3.props;\n var currentAlignClassName = props.getClassNameFromAlign(align);\n // FIX: https://github.com/react-component/trigger/issues/56\n // FIX: https://github.com/react-component/tooltip/issues/79\n if (_this3.currentAlignClassName !== currentAlignClassName) {\n _this3.currentAlignClassName = currentAlignClassName;\n popupDomNode.className = _this3.getClassName(currentAlignClassName);\n }\n props.onAlign(popupDomNode, align);\n };\n\n this.setStretchSize = function () {\n var _props2 = _this3.props,\n stretch = _props2.stretch,\n getRootDomNode = _props2.getRootDomNode,\n visible = _props2.visible;\n var _state2 = _this3.state,\n stretchChecked = _state2.stretchChecked,\n targetHeight = _state2.targetHeight,\n targetWidth = _state2.targetWidth;\n\n\n if (!stretch || !visible) {\n if (stretchChecked) {\n _this3.setState({ stretchChecked: false });\n }\n return;\n }\n\n var $ele = getRootDomNode();\n if (!$ele) return;\n\n var height = $ele.offsetHeight;\n var width = $ele.offsetWidth;\n\n if (targetHeight !== height || targetWidth !== width || !stretchChecked) {\n _this3.setState({\n stretchChecked: true,\n targetHeight: height,\n targetWidth: width\n });\n }\n };\n\n this.getTargetElement = function () {\n return _this3.props.getRootDomNode();\n };\n\n this.getAlignTarget = function () {\n var point = _this3.props.point;\n\n if (point) {\n return point;\n }\n return _this3.getTargetElement;\n };\n};\n\nexport default Popup;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-trigger@2.6.2@rc-trigger/es/Popup.js\n// module id = 1011\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from 'rc-util/es/Dom/addEventListener';\n\nimport { isWindow, buffer, isSamePoint, isSimilarValue, restoreFocus } from './util';\n\nfunction getElement(func) {\n if (typeof func !== 'function' || !func) return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function (_Component) {\n _inherits(Align, _Component);\n\n function Align() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Align);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Align.__proto__ || Object.getPrototypeOf(Align)).call.apply(_ref, [this].concat(args))), _this), _this.forceAlign = function () {\n var _this$props = _this.props,\n disabled = _this$props.disabled,\n target = _this$props.target,\n align = _this$props.align,\n onAlign = _this$props.onAlign;\n\n if (!disabled && target) {\n var source = ReactDOM.findDOMNode(_this);\n\n var result = void 0;\n var element = getElement(target);\n var point = getPoint(target);\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var activeElement = document.activeElement;\n\n if (element) {\n result = alignElement(source, element, align);\n } else if (point) {\n result = alignPoint(source, point, align);\n }\n\n restoreFocus(activeElement, source);\n\n if (onAlign) {\n onAlign(source, result);\n }\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Align, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var props = this.props;\n // if parent ref not attached .... use document.getElementById\n this.forceAlign();\n if (!props.disabled && props.monitorWindowResize) {\n this.startMonitorWindowResize();\n }\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n var reAlign = false;\n var props = this.props;\n\n if (!props.disabled) {\n var source = ReactDOM.findDOMNode(this);\n var sourceRect = source ? source.getBoundingClientRect() : null;\n\n if (prevProps.disabled) {\n reAlign = true;\n } else {\n var lastElement = getElement(prevProps.target);\n var currentElement = getElement(props.target);\n var lastPoint = getPoint(prevProps.target);\n var currentPoint = getPoint(props.target);\n\n if (isWindow(lastElement) && isWindow(currentElement)) {\n // Skip if is window\n reAlign = false;\n } else if (lastElement !== currentElement || // Element change\n lastElement && !currentElement && currentPoint || // Change from element to point\n lastPoint && currentPoint && currentElement || // Change from point to element\n currentPoint && !isSamePoint(lastPoint, currentPoint)) {\n reAlign = true;\n }\n\n // If source element size changed\n var preRect = this.sourceRect || {};\n if (!reAlign && source && (!isSimilarValue(preRect.width, sourceRect.width) || !isSimilarValue(preRect.height, sourceRect.height))) {\n reAlign = true;\n }\n }\n\n this.sourceRect = sourceRect;\n }\n\n if (reAlign) {\n this.forceAlign();\n }\n\n if (props.monitorWindowResize && !props.disabled) {\n this.startMonitorWindowResize();\n } else {\n this.stopMonitorWindowResize();\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.stopMonitorWindowResize();\n }\n }, {\n key: 'startMonitorWindowResize',\n value: function startMonitorWindowResize() {\n if (!this.resizeHandler) {\n this.bufferMonitor = buffer(this.forceAlign, this.props.monitorBufferTime);\n this.resizeHandler = addEventListener(window, 'resize', this.bufferMonitor);\n }\n }\n }, {\n key: 'stopMonitorWindowResize',\n value: function stopMonitorWindowResize() {\n if (this.resizeHandler) {\n this.bufferMonitor.clear();\n this.resizeHandler.remove();\n this.resizeHandler = null;\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n childrenProps = _props.childrenProps,\n children = _props.children;\n\n var child = React.Children.only(children);\n if (childrenProps) {\n var newProps = {};\n var propList = Object.keys(childrenProps);\n propList.forEach(function (prop) {\n newProps[prop] = _this2.props[childrenProps[prop]];\n });\n\n return React.cloneElement(child, newProps);\n }\n return child;\n }\n }]);\n\n return Align;\n}(Component);\n\nAlign.propTypes = {\n childrenProps: PropTypes.object,\n align: PropTypes.object.isRequired,\n target: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n clientX: PropTypes.number,\n clientY: PropTypes.number,\n pageX: PropTypes.number,\n pageY: PropTypes.number\n })]),\n onAlign: PropTypes.func,\n monitorBufferTime: PropTypes.number,\n monitorWindowResize: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.any\n};\nAlign.defaultProps = {\n target: function target() {\n return window;\n },\n monitorBufferTime: 50,\n monitorWindowResize: false,\n disabled: false\n};\n\n\nexport default Align;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-align@2.4.5@rc-align/es/Align.js\n// module id = 1012\n// module chunks = 33","import alignElement from './align/alignElement';\nimport alignPoint from './align/alignPoint';\n\nexport { alignElement, alignPoint };\n\nexport default alignElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/index.js\n// module id = 1013\n// module chunks = 33","import doAlign from './align';\nimport getOffsetParent from '../getOffsetParent';\nimport getVisibleRectForElement from '../getVisibleRectForElement';\nimport getRegion from '../getRegion';\n\nfunction isOutOfVisibleRect(target) {\n var visibleRect = getVisibleRectForElement(target);\n var targetRegion = getRegion(target);\n\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\n\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target);\n\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\n\nalignElement.__getOffsetParent = getOffsetParent;\n\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\nexport default alignElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/align/alignElement.js\n// module id = 1014\n// module chunks = 33","var vendorPrefix = void 0;\n\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\n\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\n\nfunction getTransitionName() {\n return getVendorPrefix() ? getVendorPrefix() + 'TransitionProperty' : 'transitionProperty';\n}\n\nexport function getTransformName() {\n return getVendorPrefix() ? getVendorPrefix() + 'Transform' : 'transform';\n}\n\nexport function setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\n\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\n\nexport function getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\n\nexport function getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return { x: parseFloat(matrix[12] || matrix[4], 0), y: parseFloat(matrix[13] || matrix[5], 0) };\n }\n return {\n x: 0,\n y: 0\n };\n}\n\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\n\nexport function setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr = void 0;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, 'matrix(' + arr.join(',') + ')');\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, 'matrix3d(' + arr.join(',') + ')');\n }\n } else {\n setTransform(node, 'translateX(' + xy.x + 'px) translateY(' + xy.y + 'px) translateZ(0)');\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/propertyUtils.js\n// module id = 1015\n// module chunks = 33","import utils from './utils';\n\nexport default function isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = element.parentNode; parent && parent !== body; parent = parent.parentNode) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/isAncestorFixed.js\n// module id = 1016\n// module chunks = 33","import utils from './utils';\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n\n return utils.mix(pos, size);\n}\n\nexport default adjustForViewport;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/adjustForViewport.js\n// module id = 1017\n// module chunks = 33","import getAlignOffset from './getAlignOffset';\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n\n return {\n left: elRegion.left - diff[0] + offset[0] - targetOffset[0],\n top: elRegion.top - diff[1] + offset[1] - targetOffset[1]\n };\n}\n\nexport default getElFuturePos;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/getElFuturePos.js\n// module id = 1018\n// module chunks = 33","/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n\n var x = region.left;\n var y = region.top;\n\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n\n return {\n left: x,\n top: y\n };\n}\n\nexport default getAlignOffset;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/getAlignOffset.js\n// module id = 1019\n// module chunks = 33","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport utils from '../utils';\nimport doAlign from './align';\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX = void 0;\n var pageY = void 0;\n\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n\n return doAlign(el, tgtRegion, _extends({}, align, { points: points }), pointInView);\n}\n\nexport default alignPoint;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-align@1.8.2@dom-align/es/align/alignPoint.js\n// module id = 1020\n// module chunks = 33","import contains from 'rc-util/es/Dom/contains';\n\nexport function buffer(fn, ms) {\n var timer = void 0;\n\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n\n function bufferFn() {\n clear();\n timer = setTimeout(fn, ms);\n }\n\n bufferFn.clear = clear;\n\n return bufferFn;\n}\n\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\n\nexport function isWindow(obj) {\n return obj && typeof obj === 'object' && obj.window === obj;\n}\n\nexport function isSimilarValue(val1, val2) {\n var int1 = Math.floor(val1);\n var int2 = Math.floor(val2);\n return Math.abs(int1 - int2) <= 1;\n}\n\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement)) {\n activeElement.focus();\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-align@2.4.5@rc-align/es/util.js\n// module id = 1021\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport LazyRenderBox from './LazyRenderBox';\n\nvar PopupInner = function (_Component) {\n _inherits(PopupInner, _Component);\n\n function PopupInner() {\n _classCallCheck(this, PopupInner);\n\n return _possibleConstructorReturn(this, _Component.apply(this, arguments));\n }\n\n PopupInner.prototype.render = function render() {\n var props = this.props;\n var className = props.className;\n if (!props.visible) {\n className += ' ' + props.hiddenClassName;\n }\n return React.createElement(\n 'div',\n {\n className: className,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseDown: props.onMouseDown,\n onTouchStart: props.onTouchStart,\n style: props.style\n },\n React.createElement(\n LazyRenderBox,\n { className: props.prefixCls + '-content', visible: props.visible },\n props.children\n )\n );\n };\n\n return PopupInner;\n}(Component);\n\nPopupInner.propTypes = {\n hiddenClassName: PropTypes.string,\n className: PropTypes.string,\n prefixCls: PropTypes.string,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseDown: PropTypes.func,\n onTouchStart: PropTypes.func,\n children: PropTypes.any\n};\n\n\nexport default PopupInner;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-trigger@2.6.2@rc-trigger/es/PopupInner.js\n// module id = 1022\n// module chunks = 33","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\n\nexport var placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\n\nexport default placements;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/placements.js\n// module id = 1023\n// module chunks = 33","// mutationobserver-shim v0.3.2 (github.com/megawac/MutationObserver.js)\n// Authors: Graeme Yeates (github.com/megawac) \nwindow.MutationObserver=window.MutationObserver||function(w){function v(a){this.i=[];this.m=a}function I(a){(function c(){var d=a.takeRecords();d.length&&a.m(d,a);a.h=setTimeout(c,v._period)})()}function p(a){var b={type:null,target:null,addedNodes:[],removedNodes:[],previousSibling:null,nextSibling:null,attributeName:null,attributeNamespace:null,oldValue:null},c;for(c in a)b[c]!==w&&a[c]!==w&&(b[c]=a[c]);return b}function J(a,b){var c=C(a,b);return function(d){var f=d.length,n;b.a&&3===a.nodeType&&\na.nodeValue!==c.a&&d.push(new p({type:\"characterData\",target:a,oldValue:c.a}));b.b&&c.b&&A(d,a,c.b,b.f);if(b.c||b.g)n=K(d,a,c,b);if(n||d.length!==f)c=C(a,b)}}function L(a,b){return b.value}function M(a,b){return\"style\"!==b.name?b.value:a.style.cssText}function A(a,b,c,d){for(var f={},n=b.attributes,k,g,x=n.length;x--;)k=n[x],g=k.name,d&&d[g]===w||(D(b,k)!==c[g]&&a.push(p({type:\"attributes\",target:b,attributeName:g,oldValue:c[g],attributeNamespace:k.namespaceURI})),f[g]=!0);for(g in c)f[g]||a.push(p({target:b,\ntype:\"attributes\",attributeName:g,oldValue:c[g]}))}function K(a,b,c,d){function f(b,c,f,k,y){var g=b.length-1;y=-~((g-y)/2);for(var h,l,e;e=b.pop();)h=f[e.j],l=k[e.l],d.c&&y&&Math.abs(e.j-e.l)>=g&&(a.push(p({type:\"childList\",target:c,addedNodes:[h],removedNodes:[h],nextSibling:h.nextSibling,previousSibling:h.previousSibling})),y--),d.b&&l.b&&A(a,h,l.b,d.f),d.a&&3===h.nodeType&&h.nodeValue!==l.a&&a.push(p({type:\"characterData\",target:h,oldValue:l.a})),d.g&&n(h,l)}function n(b,c){for(var g=b.childNodes,\nq=c.c,x=g.length,v=q?q.length:0,h,l,e,m,t,z=0,u=0,r=0;u element\n //
  • Link
  • would be a good example\n // in this case the role on
  • should be \"none\" to\n // remove the implied listitem role.\n // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n attrs.role = 'none';\n }\n // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n var mouseEvent = {\n onClick: props.disabled ? null : this.onClick,\n onMouseLeave: props.disabled ? null : this.onMouseLeave,\n onMouseEnter: props.disabled ? null : this.onMouseEnter\n };\n var style = _extends({}, props.style);\n if (props.mode === 'inline') {\n style.paddingLeft = props.inlineIndent * props.level;\n }\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n var icon = this.props.itemIcon;\n if (typeof this.props.itemIcon === 'function') {\n icon = React.createElement(this.props.itemIcon, this.props);\n }\n return React.createElement(\n 'li',\n _extends({}, props, attrs, mouseEvent, {\n style: style\n }),\n props.children,\n icon\n );\n };\n\n return MenuItem;\n}(React.Component);\n\nMenuItem.propTypes = {\n attribute: PropTypes.object,\n rootPrefixCls: PropTypes.string,\n eventKey: PropTypes.string,\n active: PropTypes.bool,\n children: PropTypes.any,\n selectedKeys: PropTypes.array,\n disabled: PropTypes.bool,\n title: PropTypes.string,\n onItemHover: PropTypes.func,\n onSelect: PropTypes.func,\n onClick: PropTypes.func,\n onDeselect: PropTypes.func,\n parentMenu: PropTypes.object,\n onDestroy: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n multiple: PropTypes.bool,\n isSelected: PropTypes.bool,\n manualRef: PropTypes.func,\n itemIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node])\n};\nMenuItem.defaultProps = {\n onSelect: noop,\n onMouseEnter: noop,\n onMouseLeave: noop,\n manualRef: noop\n};\nMenuItem.isMenuItem = true;\n\nvar connected = connect(function (_ref, _ref2) {\n var activeKey = _ref.activeKey,\n selectedKeys = _ref.selectedKeys;\n var eventKey = _ref2.eventKey,\n subMenuKey = _ref2.subMenuKey;\n return {\n active: activeKey[subMenuKey] === eventKey,\n isSelected: selectedKeys.indexOf(eventKey) !== -1\n };\n})(MenuItem);\n\nexport default connected;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/MenuItem.js\n// module id = 1025\n// module chunks = 33","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-scroll-into-view@1.2.1@dom-scroll-into-view/lib/dom-scroll-into-view.js\n// module id = 1026\n// module chunks = 33","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_dom-scroll-into-view@1.2.1@dom-scroll-into-view/lib/util.js\n// module id = 1027\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { menuAllProps } from './util';\n\nvar MenuItemGroup = function (_React$Component) {\n _inherits(MenuItemGroup, _React$Component);\n\n function MenuItemGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, MenuItemGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.renderInnerMenuItem = function (item) {\n var _this$props = _this.props,\n renderMenuItem = _this$props.renderMenuItem,\n index = _this$props.index;\n\n return renderMenuItem(item, index, _this.props.subMenuKey);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n MenuItemGroup.prototype.render = function render() {\n var props = _objectWithoutProperties(this.props, []);\n\n var _props$className = props.className,\n className = _props$className === undefined ? '' : _props$className,\n rootPrefixCls = props.rootPrefixCls;\n\n var titleClassName = rootPrefixCls + '-item-group-title';\n var listClassName = rootPrefixCls + '-item-group-list';\n var title = props.title,\n children = props.children;\n\n menuAllProps.forEach(function (key) {\n return delete props[key];\n });\n\n // Set onClick to null, to ignore propagated onClick event\n delete props.onClick;\n\n return React.createElement(\n 'li',\n _extends({}, props, { className: className + ' ' + rootPrefixCls + '-item-group' }),\n React.createElement(\n 'div',\n {\n className: titleClassName,\n title: typeof title === 'string' ? title : undefined\n },\n title\n ),\n React.createElement(\n 'ul',\n { className: listClassName },\n React.Children.map(children, this.renderInnerMenuItem)\n )\n );\n };\n\n return MenuItemGroup;\n}(React.Component);\n\nMenuItemGroup.propTypes = {\n renderMenuItem: PropTypes.func,\n index: PropTypes.number,\n className: PropTypes.string,\n subMenuKey: PropTypes.string,\n rootPrefixCls: PropTypes.string\n};\nMenuItemGroup.defaultProps = {\n disabled: true\n};\n\n\nMenuItemGroup.isMenuItemGroup = true;\n\nexport default MenuItemGroup;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/MenuItemGroup.js\n// module id = 1028\n// module chunks = 33","import _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Divider = function (_React$Component) {\n _inherits(Divider, _React$Component);\n\n function Divider() {\n _classCallCheck(this, Divider);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n Divider.prototype.render = function render() {\n var _props = this.props,\n className = _props.className,\n rootPrefixCls = _props.rootPrefixCls,\n style = _props.style;\n\n return React.createElement('li', {\n className: className + ' ' + rootPrefixCls + '-item-divider',\n style: style\n });\n };\n\n return Divider;\n}(React.Component);\n\nDivider.propTypes = {\n className: PropTypes.string,\n rootPrefixCls: PropTypes.string,\n style: PropTypes.object\n};\nDivider.defaultProps = {\n // To fix keyboard UX.\n disabled: true,\n className: '',\n style: {}\n};\nexport default Divider;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-menu@7.4.21@rc-menu/es/Divider.js\n// module id = 1029\n// module chunks = 33","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport classnames from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport Trigger from 'rc-trigger';\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport DropdownMenu from './DropdownMenu';\nimport { isSingleMode, saveRef } from './util';\nTrigger.displayName = 'Trigger';\nvar BUILT_IN_PLACEMENTS = {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: 0,\n adjustY: 1\n }\n }\n};\n\nvar SelectTrigger =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(SelectTrigger, _React$Component);\n\n function SelectTrigger(props) {\n var _this;\n\n _classCallCheck(this, SelectTrigger);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SelectTrigger).call(this, props));\n _this.dropdownMenuRef = null;\n\n _this.setDropdownWidth = function () {\n var dom = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n var width = dom.offsetWidth;\n\n if (width !== _this.state.dropdownWidth) {\n _this.setState({\n dropdownWidth: width\n });\n }\n };\n\n _this.getInnerMenu = function () {\n return _this.dropdownMenuRef && _this.dropdownMenuRef.menuRef;\n };\n\n _this.getPopupDOMNode = function () {\n return _this.triggerRef.getPopupDomNode();\n };\n\n _this.getDropdownElement = function (newProps) {\n var props = _this.props;\n var dropdownRender = props.dropdownRender,\n ariaId = props.ariaId;\n var menuNode = React.createElement(DropdownMenu, _extends({\n ref: _this.saveDropdownMenuRef\n }, newProps, {\n ariaId: ariaId,\n prefixCls: _this.getDropdownPrefixCls(),\n onMenuSelect: props.onMenuSelect,\n onMenuDeselect: props.onMenuDeselect,\n onPopupScroll: props.onPopupScroll,\n value: props.value,\n backfillValue: props.backfillValue,\n firstActiveValue: props.firstActiveValue,\n defaultActiveFirstOption: props.defaultActiveFirstOption,\n dropdownMenuStyle: props.dropdownMenuStyle,\n menuItemSelectedIcon: props.menuItemSelectedIcon\n }));\n\n if (dropdownRender) {\n return dropdownRender(menuNode, props);\n }\n\n return null;\n };\n\n _this.getDropdownTransitionName = function () {\n var props = _this.props;\n var transitionName = props.transitionName;\n\n if (!transitionName && props.animation) {\n transitionName = \"\".concat(_this.getDropdownPrefixCls(), \"-\").concat(props.animation);\n }\n\n return transitionName;\n };\n\n _this.getDropdownPrefixCls = function () {\n return \"\".concat(_this.props.prefixCls, \"-dropdown\");\n };\n\n _this.saveDropdownMenuRef = saveRef(_assertThisInitialized(_this), 'dropdownMenuRef');\n _this.saveTriggerRef = saveRef(_assertThisInitialized(_this), 'triggerRef');\n _this.state = {\n dropdownWidth: 0\n };\n return _this;\n }\n\n _createClass(SelectTrigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.setDropdownWidth();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.setDropdownWidth();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _popupClassName;\n\n var _a = this.props,\n onPopupFocus = _a.onPopupFocus,\n empty = _a.empty,\n props = __rest(_a, [\"onPopupFocus\", \"empty\"]);\n\n var multiple = props.multiple,\n visible = props.visible,\n inputValue = props.inputValue,\n dropdownAlign = props.dropdownAlign,\n disabled = props.disabled,\n showSearch = props.showSearch,\n dropdownClassName = props.dropdownClassName,\n dropdownStyle = props.dropdownStyle,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth;\n var dropdownPrefixCls = this.getDropdownPrefixCls();\n var popupClassName = (_popupClassName = {}, _defineProperty(_popupClassName, dropdownClassName, !!dropdownClassName), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--\").concat(multiple ? 'multiple' : 'single'), 1), _defineProperty(_popupClassName, \"\".concat(dropdownPrefixCls, \"--empty\"), empty), _popupClassName);\n var popupElement = this.getDropdownElement({\n menuItems: props.options,\n onPopupFocus: onPopupFocus,\n multiple: multiple,\n inputValue: inputValue,\n visible: visible\n });\n var hideAction;\n\n if (disabled) {\n hideAction = [];\n } else if (isSingleMode(props) && !showSearch) {\n hideAction = ['click'];\n } else {\n hideAction = ['blur'];\n }\n\n var popupStyle = _extends({}, dropdownStyle);\n\n var widthProp = dropdownMatchSelectWidth ? 'width' : 'minWidth';\n\n if (this.state.dropdownWidth) {\n popupStyle[widthProp] = \"\".concat(this.state.dropdownWidth, \"px\");\n }\n\n return React.createElement(Trigger, _extends({}, props, {\n showAction: disabled ? [] : this.props.showAction,\n hideAction: hideAction,\n ref: this.saveTriggerRef,\n popupPlacement: \"bottomLeft\",\n builtinPlacements: BUILT_IN_PLACEMENTS,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: this.getDropdownTransitionName(),\n onPopupVisibleChange: props.onDropdownVisibleChange,\n popup: popupElement,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: props.getPopupContainer,\n popupClassName: classnames(popupClassName),\n popupStyle: popupStyle\n }), props.children);\n }\n }]);\n\n return SelectTrigger;\n}(React.Component);\n\nexport { SelectTrigger as default };\nSelectTrigger.defaultProps = {\n dropdownRender: function dropdownRender(menu) {\n return menu;\n }\n};\nSelectTrigger.propTypes = {\n onPopupFocus: PropTypes.func,\n onPopupScroll: PropTypes.func,\n dropdownMatchSelectWidth: PropTypes.bool,\n dropdownAlign: PropTypes.object,\n visible: PropTypes.bool,\n disabled: PropTypes.bool,\n showSearch: PropTypes.bool,\n dropdownClassName: PropTypes.string,\n multiple: PropTypes.bool,\n inputValue: PropTypes.string,\n filterOption: PropTypes.any,\n options: PropTypes.any,\n prefixCls: PropTypes.string,\n popupClassName: PropTypes.string,\n children: PropTypes.any,\n showAction: PropTypes.arrayOf(PropTypes.string),\n menuItemSelectedIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n dropdownRender: PropTypes.func,\n ariaId: PropTypes.string\n};\nSelectTrigger.displayName = 'SelectTrigger';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/SelectTrigger.js\n// module id = 1030\n// module chunks = 33","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (typeof call === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport scrollIntoView from 'dom-scroll-into-view';\nimport * as PropTypes from 'prop-types';\nimport raf from 'raf';\nimport Menu from 'rc-menu';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { getSelectKeys, preventDefaultEvent, saveRef } from './util';\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _classCallCheck(this, DropdownMenu);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(DropdownMenu).call(this, props));\n _this.rafInstance = {\n cancel: function cancel() {\n return null;\n }\n };\n _this.lastVisible = false;\n\n _this.scrollActiveItemToView = function () {\n // scroll into view\n var itemComponent = findDOMNode(_this.firstActiveItem);\n var _this$props = _this.props,\n visible = _this$props.visible,\n firstActiveValue = _this$props.firstActiveValue;\n var value = _this.props.value;\n\n if (!itemComponent || !visible) {\n return;\n }\n\n var scrollIntoViewOpts = {\n onlyScrollIfNeeded: true\n };\n\n if ((!value || value.length === 0) && firstActiveValue) {\n scrollIntoViewOpts.alignWithTop = true;\n } // Delay to scroll since current frame item position is not ready when pre view is by filter\n // https://github.com/ant-design/ant-design/issues/11268#issuecomment-406634462\n\n\n _this.rafInstance = raf(function () {\n scrollIntoView(itemComponent, findDOMNode(_this.menuRef), scrollIntoViewOpts);\n });\n };\n\n _this.renderMenu = function () {\n var _this$props2 = _this.props,\n menuItems = _this$props2.menuItems,\n menuItemSelectedIcon = _this$props2.menuItemSelectedIcon,\n defaultActiveFirstOption = _this$props2.defaultActiveFirstOption,\n prefixCls = _this$props2.prefixCls,\n multiple = _this$props2.multiple,\n onMenuSelect = _this$props2.onMenuSelect,\n inputValue = _this$props2.inputValue,\n backfillValue = _this$props2.backfillValue,\n onMenuDeselect = _this$props2.onMenuDeselect,\n visible = _this$props2.visible;\n var firstActiveValue = _this.props.firstActiveValue;\n\n if (menuItems && menuItems.length) {\n var menuProps = {};\n\n if (multiple) {\n menuProps.onDeselect = onMenuDeselect;\n menuProps.onSelect = onMenuSelect;\n } else {\n menuProps.onClick = onMenuSelect;\n }\n\n var value = _this.props.value;\n var selectedKeys = getSelectKeys(menuItems, value);\n var activeKeyProps = {};\n var defaultActiveFirst = defaultActiveFirstOption;\n var clonedMenuItems = menuItems;\n\n if (selectedKeys.length || firstActiveValue) {\n if (visible && !_this.lastVisible) {\n activeKeyProps.activeKey = selectedKeys[0] || firstActiveValue;\n } else if (!visible) {\n // Do not trigger auto active since we already have selectedKeys\n if (selectedKeys[0]) {\n defaultActiveFirst = false;\n }\n\n activeKeyProps.activeKey = undefined;\n }\n\n var foundFirst = false; // set firstActiveItem via cloning menus\n // for scroll into view\n\n var clone = function clone(item) {\n var key = item.key;\n\n if (!foundFirst && selectedKeys.indexOf(key) !== -1 || !foundFirst && !selectedKeys.length && firstActiveValue.indexOf(item.key) !== -1) {\n foundFirst = true;\n return React.cloneElement(item, {\n ref: function ref(_ref) {\n _this.firstActiveItem = _ref;\n }\n });\n }\n\n return item;\n };\n\n clonedMenuItems = menuItems.map(function (item) {\n if (item.type.isMenuItemGroup) {\n var children = toArray(item.props.children).map(clone);\n return React.cloneElement(item, {}, children);\n }\n\n return clone(item);\n });\n } else {\n // Clear firstActiveItem when dropdown menu items was empty\n // Avoid `Unable to find node on an unmounted component`\n // https://github.com/ant-design/ant-design/issues/10774\n _this.firstActiveItem = null;\n } // clear activeKey when inputValue change\n\n\n var lastValue = value && value[value.length - 1];\n\n if (inputValue !== _this.lastInputValue && (!lastValue || lastValue !== backfillValue)) {\n activeKeyProps.activeKey = '';\n }\n\n return React.createElement(Menu, _extends({\n ref: _this.saveMenuRef,\n style: _this.props.dropdownMenuStyle,\n defaultActiveFirst: defaultActiveFirst,\n role: \"listbox\",\n itemIcon: multiple ? menuItemSelectedIcon : null\n }, activeKeyProps, {\n multiple: multiple\n }, menuProps, {\n selectedKeys: selectedKeys,\n prefixCls: \"\".concat(prefixCls, \"-menu\")\n }), clonedMenuItems);\n }\n\n return null;\n };\n\n _this.lastInputValue = props.inputValue;\n _this.saveMenuRef = saveRef(_assertThisInitialized(_this), 'menuRef');\n return _this;\n }\n\n _createClass(DropdownMenu, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollActiveItemToView();\n this.lastVisible = this.props.visible;\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n if (!nextProps.visible) {\n this.lastVisible = false;\n } // freeze when hide\n\n\n return this.props.visible && !nextProps.visible || nextProps.visible || nextProps.inputValue !== this.props.inputValue;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var props = this.props;\n\n if (!prevProps.visible && props.visible) {\n this.scrollActiveItemToView();\n }\n\n this.lastVisible = props.visible;\n this.lastInputValue = props.inputValue;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.rafInstance && this.rafInstance.cancel) {\n this.rafInstance.cancel();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderMenu = this.renderMenu();\n return renderMenu ? React.createElement(\"div\", {\n style: {\n overflow: 'auto',\n transform: 'translateZ(0)'\n },\n id: this.props.ariaId,\n onFocus: this.props.onPopupFocus,\n onMouseDown: preventDefaultEvent,\n onScroll: this.props.onPopupScroll\n }, renderMenu) : null;\n }\n }]);\n\n return DropdownMenu;\n}(React.Component);\n\nexport { DropdownMenu as default };\nDropdownMenu.displayName = 'DropdownMenu';\nDropdownMenu.propTypes = {\n ariaId: PropTypes.string,\n defaultActiveFirstOption: PropTypes.bool,\n value: PropTypes.any,\n dropdownMenuStyle: PropTypes.object,\n multiple: PropTypes.bool,\n onPopupFocus: PropTypes.func,\n onPopupScroll: PropTypes.func,\n onMenuDeSelect: PropTypes.func,\n onMenuSelect: PropTypes.func,\n prefixCls: PropTypes.string,\n menuItems: PropTypes.any,\n inputValue: PropTypes.string,\n visible: PropTypes.bool,\n firstActiveValue: PropTypes.string,\n menuItemSelectedIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.node])\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_rc-select@9.0.2@rc-select/es/DropdownMenu.js\n// module id = 1031\n// module chunks = 33","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar InputElement =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(InputElement, _React$Component);\n\n function InputElement() {\n var _this;\n\n _classCallCheck(this, InputElement);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InputElement).apply(this, arguments));\n\n _this.focus = function () {\n _this.ele.focus ? _this.ele.focus() : ReactDOM.findDOMNode(_this.ele).focus();\n };\n\n _this.blur = function () {\n _this.ele.blur ? _this.ele.blur() : ReactDOM.findDOMNode(_this.ele).blur();\n };\n\n _this.saveRef = function (ele) {\n _this.ele = ele;\n var childRef = _this.props.children.ref;\n\n if (typeof childRef === 'function') {\n childRef(ele);\n }\n };\n\n return _this;\n }\n\n _createClass(InputElement, [{\n key: \"render\",\n value: function render() {\n return React.cloneElement(this.props.children, _extends({}, this.props, {\n ref: this.saveRef\n }), null);\n }\n }]);\n\n return InputElement;\n}(React.Component);\n\nexport { InputElement as default };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_antd@3.15.0@antd/es/auto-complete/InputElement.js\n// module id = 1032\n// module chunks = 33","import _defineProperty from 'babel-runtime/helpers/defineProperty';\nimport _extends from 'babel-runtime/helpers/extends';\nimport _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';\nimport _inherits from 'babel-runtime/helpers/inherits';\nimport * as React from 'react';\nimport { generate, getSecondaryColor, isIconDefinition, log, MiniMap, withSuffix } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6'\n};\n\nvar Icon = function (_React$Component) {\n _inherits(Icon, _React$Component);\n\n function Icon() {\n _classCallCheck(this, Icon);\n\n return _possibleConstructorReturn(this, (Icon.__proto__ || Object.getPrototypeOf(Icon)).apply(this, arguments));\n }\n\n _createClass(Icon, [{\n key: 'render',\n value: function render() {\n var _extends2;\n\n var _props = this.props,\n type = _props.type,\n className = _props.className,\n onClick = _props.onClick,\n style = _props.style,\n primaryColor = _props.primaryColor,\n secondaryColor = _props.secondaryColor,\n rest = _objectWithoutProperties(_props, ['type', 'className', 'onClick', 'style', 'primaryColor', 'secondaryColor']);\n\n var target = void 0;\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n if (isIconDefinition(type)) {\n target = type;\n } else if (typeof type === 'string') {\n target = Icon.get(type, colors);\n if (!target) {\n // log(`Could not find icon: ${type}`);\n return null;\n }\n }\n if (!target) {\n log('type should be string or icon definiton, but got ' + type);\n return null;\n }\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, 'svg-' + target.name, _extends((_extends2 = {\n className: className,\n onClick: onClick,\n style: style\n }, _defineProperty(_extends2, 'data-icon', target.name), _defineProperty(_extends2, 'width', '1em'), _defineProperty(_extends2, 'height', '1em'), _defineProperty(_extends2, 'fill', 'currentColor'), _defineProperty(_extends2, 'aria-hidden', 'true'), _extends2), rest));\n }\n }], [{\n key: 'add',\n value: function add() {\n var _this2 = this;\n\n for (var _len = arguments.length, icons = Array(_len), _key = 0; _key < _len; _key++) {\n icons[_key] = arguments[_key];\n }\n\n icons.forEach(function (icon) {\n _this2.definitions.set(withSuffix(icon.name, icon.theme), icon);\n });\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.definitions.clear();\n }\n }, {\n key: 'get',\n value: function get(key) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : twoToneColorPalette;\n\n if (key) {\n var target = this.definitions.get(key);\n if (target && typeof target.icon === 'function') {\n target = _extends({}, target, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return target;\n }\n }\n }, {\n key: 'setTwoToneColors',\n value: function setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n }\n }, {\n key: 'getTwoToneColors',\n value: function getTwoToneColors() {\n return _extends({}, twoToneColorPalette);\n }\n }]);\n\n return Icon;\n}(React.Component);\n\nIcon.displayName = 'IconReact';\nIcon.definitions = new MiniMap();\nexport default Icon;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@ant-design_icons-react@1.1.2@@ant-design/icons-react/es/components/Icon.js\n// module id = 1033\n// module chunks = 33","import _extends from 'babel-runtime/helpers/extends';\nimport _classCallCheck from 'babel-runtime/helpers/classCallCheck';\nimport _createClass from 'babel-runtime/helpers/createClass';\nimport { generate as generateColor } from 'ant-design-palettes';\nimport * as React from 'react';\nexport function log(message) {\n if (!(process && process.env && process.env.NODE_ENV === 'production')) {\n console.error('[@ant-design/icons-react]: ' + message + '.');\n }\n}\nexport function isIconDefinition(target) {\n return typeof target === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (typeof target.icon === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc['class'];\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nexport var MiniMap = function () {\n function MiniMap() {\n _classCallCheck(this, MiniMap);\n\n this.collection = {};\n }\n\n _createClass(MiniMap, [{\n key: 'clear',\n value: function clear() {\n this.collection = {};\n }\n }, {\n key: 'delete',\n value: function _delete(key) {\n return delete this.collection[key];\n }\n }, {\n key: 'get',\n value: function get(key) {\n return this.collection[key];\n }\n }, {\n key: 'has',\n value: function has(key) {\n return Boolean(this.collection[key]);\n }\n }, {\n key: 'set',\n value: function set(key, value) {\n this.collection[key] = value;\n return this;\n }\n }, {\n key: 'size',\n get: function get() {\n return Object.keys(this.collection).length;\n }\n }]);\n\n return MiniMap;\n}();\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return React.createElement(node.tag, _extends({ key: key }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n }\n return React.createElement(node.tag, _extends({\n key: key\n }, normalizeAttrs(node.attrs), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, key + '-' + node.tag + '-' + index);\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function withSuffix(name, theme) {\n switch (theme) {\n case 'fill':\n return name + '-fill';\n case 'outline':\n return name + '-o';\n case 'twotone':\n return name + '-twotone';\n default:\n throw new TypeError('Unknown theme type: ' + theme + ', name: ' + name);\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@ant-design_icons-react@1.1.2@@ant-design/icons-react/es/utils.js\n// module id = 1034\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.presetPrimaryColors = exports.presetPalettes = exports.generate = undefined;\n\nvar _generate = require('./generate');\n\nvar _generate2 = _interopRequireDefault(_generate);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\n\nvar presetPalettes = {};\n\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = (0, _generate2.default)(presetPrimaryColors[key]);\n});\n\nexports.generate = _generate2.default;\nexports.presetPalettes = presetPalettes;\nexports.presetPrimaryColors = presetPrimaryColors;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_ant-design-palettes@1.1.3@ant-design-palettes/lib/index.js\n// module id = 1035\n// module chunks = 33","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = generate;\n\nvar _tinycolor = require('tinycolor2');\n\nvar _tinycolor2 = _interopRequireDefault(_tinycolor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar hueStep = 2; // 色相阶梯\nvar saturationStep = 16; // 饱和度阶梯,浅色部分\nvar saturationStep2 = 5; // 饱和度阶梯,深色部分\nvar brightnessStep1 = 5; // 亮度阶梯,浅色部分\nvar brightnessStep2 = 15; // 亮度阶梯,深色部分\nvar lightColorCount = 5; // 浅色数量,主色上\nvar darkColorCount = 4; // 深色数量,主色下\n\nfunction getHue(hsv, i, light) {\n var hue = void 0;\n // 根据色相不同,色相转向不同\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n var saturation = void 0;\n if (light) {\n saturation = Math.round(hsv.s * 100) - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = Math.round(hsv.s * 100) + saturationStep;\n } else {\n saturation = Math.round(hsv.s * 100) + saturationStep2 * i;\n }\n // 边界值修正\n if (saturation > 100) {\n saturation = 100;\n }\n // 第一格的 s 限制在 6-10 之间\n if (light && i === lightColorCount && saturation > 10) {\n saturation = 10;\n }\n if (saturation < 6) {\n saturation = 6;\n }\n return saturation;\n}\n\nfunction getValue(hsv, i, light) {\n if (light) {\n return Math.round(hsv.v * 100) + brightnessStep1 * i;\n }\n return Math.round(hsv.v * 100) - brightnessStep2 * i;\n}\n\nfunction generate(color) {\n var patterns = [];\n var pColor = (0, _tinycolor2.default)(color);\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = pColor.toHsv();\n var colorString = (0, _tinycolor2.default)({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }).toHexString();\n patterns.push(colorString);\n }\n patterns.push(pColor.toHexString());\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = pColor.toHsv();\n var _colorString = (0, _tinycolor2.default)({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }).toHexString();\n patterns.push(_colorString);\n }\n return patterns;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_ant-design-palettes@1.1.3@ant-design-palettes/lib/generate.js\n// module id = 1036\n// module chunks = 33","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// \n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// \n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// \n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// \nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// \nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_tinycolor2@1.4.1@tinycolor2/tinycolor.js\n// module id = 1037\n// module chunks = 33","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport Icon from './index';\nimport * as React from 'react';\nvar customCache = new Set();\nexport default function create() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var scriptUrl = options.scriptUrl,\n _options$extraCommonP = options.extraCommonProps,\n extraCommonProps = _options$extraCommonP === void 0 ? {} : _options$extraCommonP;\n /**\n * DOM API required.\n * Make sure in browser environment.\n * The Custom Icon will create a