diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..2fbab11 --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [ "react", "es2015" ] +} diff --git a/.gitignore b/.gitignore index b029d56..c458c6d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,7 @@ -node_modules/ +public/js/.bundle.js +public/css/.bundle.css +public/js/.bundle.min.js +public/css/.bundle.min.css +/node_modules *.log -.build_cache~ -.grunt/ -build/*.map -public/js/.app.bundle.js -public/js/app.js -public/css/.app.bundle.css -public/css/app.css -.DS_Store \ No newline at end of file +.DS_Store diff --git a/.nvmrc b/.nvmrc index ac454c6..272066c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -0.12.0 +v0.12.9 diff --git a/Gruntfile.coffee b/Gruntfile.coffee deleted file mode 100644 index 57a7bfe..0000000 --- a/Gruntfile.coffee +++ /dev/null @@ -1,69 +0,0 @@ -module.exports = (grunt) -> - grunt.initConfig - - pkg: grunt.file.readJSON("package.json") - - 'clean': - public: [ - 'public/js' - 'public/css' - ] - pages: [ - '.grunt' - ] - - 'mkdir': - all: - options: - create: [ - 'public/js' - 'public/css' - ] - - 'uglify': - bundle: - files: - 'public/js/app.bundle.min.js': 'public/js/app.bundle.js' - - 'cssmin': - bundle: - files: - 'public/css/app.bundle.min.css': 'public/css/app.bundle.css' - - 'gh-pages': - options: - base: 'public' - branch: 'gh-pages' - message: 'Publish to GitHub Pages' - push: yes - add: yes - src: [ - 'css/**/*' - 'fonts/**/*' - 'img/**/*' - 'js/**/*' - ] - - grunt.loadNpmTasks('grunt-mkdir') - grunt.loadNpmTasks('grunt-contrib-clean') - grunt.loadNpmTasks('grunt-contrib-uglify') - grunt.loadNpmTasks('grunt-contrib-cssmin') - grunt.loadNpmTasks('grunt-gh-pages') - - # Cleanup public directories. - grunt.registerTask('init', [ - 'clean:public' - 'mkdir' - ]) - - # Minify JS, CSS and concat JS. - grunt.registerTask('minify', [ - 'uglify' - 'cssmin' - ]) - - # Publish to GitHub Pages. - grunt.registerTask('pages', [ - 'gh-pages' - 'clean:pages' - ]) \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..12ad0f2 --- /dev/null +++ b/Makefile @@ -0,0 +1,44 @@ +WATCHIFY = ./node_modules/.bin/watchify +WATCH = ./node_modules/.bin/watch +LESS = ./node_modules/.bin/lessc +BROWSERIFY = ./node_modules/.bin/browserify +UGLIFY = ./node_modules/.bin/uglifyjs +CLEANCSS = ./node_modules/.bin/cleancss +MOCHA = ./node_modules/.bin/mocha +BIN = ./bin/burnchart.js + +MOCHA-OPTS = --compilers js:babel-register --ui exports --timeout 5000 --bail + +start: + ${BIN} + +start-dev: + ${BIN} --dev + +watch-js: build-js + ${WATCHIFY} -e -s burnchart ./src/js/index.jsx -t babelify -o public/js/bundle.js -d -v + +watch-css: build-css + ${WATCH} "${MAKE} build-css" src/less + +watch: + ${MAKE} watch-js & ${MAKE} watch-css + +build-js: + ${BROWSERIFY} -e -s burnchart ./src/js/index.jsx -t babelify > public/js/bundle.js + +build-css: + ${LESS} src/less/burnchart.less > public/css/bundle.css + +build: build-js build-css + +minify-js: + ${UGLIFY} public/js/bundle.js > public/js/bundle.min.js + +minify-css: + ${CLEANCSS} public/css/bundle.css > public/css/bundle.min.css + +test: + ${MOCHA} ${MOCHA-OPTS} --reporter spec + +.PHONY: test diff --git a/README.md b/README.md index f47eba6..d7608a3 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,10 @@ GitHub Burndown Chart as a Service. Answers the question "are my projects on track"? ![Build Status](http://img.shields.io/codeship/5645c5d0-4b7e-0132-641d-623ee7e48d08/master.svg?style=flat) -[![Coverage](http://img.shields.io/coveralls/radekstepan/burnchart/master.svg?style=flat)]() [![Dependencies](http://img.shields.io/david/radekstepan/burnchart.svg?style=flat)](https://david-dm.org/radekstepan/burnchart) [![License](http://img.shields.io/badge/license-AGPL--3.0-red.svg?style=flat)](LICENSE) -![image](https://raw.githubusercontent.com/radekstepan/burnchart/master/public/screenshots.jpg) +![image](https://raw.githubusercontent.com/radekstepan/burnchart/master/screenshots.jpg) ##Features @@ -18,64 +17,56 @@ GitHub Burndown Chart as a Service. Answers the question "are my projects on tra 1. **Trend line**; to see if you can make it to the deadline at this pace. 1. Different **point counting** strategies; select from 1 issues = 1 point or read size from issue label. -##Quick Start +##Quickstart ```bash $ npm install burnchart -g -$ burnchart 8080 -# burnchart/2.0.8 started on port 8080 +$ burnchart --port 8080 +# burnchart/3.0.0 started on port 8080 ``` ##Configuration -At the moment, there is no ui exposed to change the app settings. You have to edit the `src/models/config.coffee` file. +At the moment, there is no ui exposed to change the app settings. You have to edit the `src/config.js` file. An array of days when we are not working where Monday = 1. The ideal progression line won't *drop* on these days. -```coffeescript +```js "off_days": [ ] ``` Choose from `ONE_SIZE` which means each issue is worth 1 point or `LABELS` where issue labels determine its size. -```coffeescript +```js "points": "ONE_SIZE" ``` If you specify `LABELS` above, this is the place to set a regex used to parse a label and extract points size from it. When multiple matching size labels exist, their sum is taken. -```coffeescript +```js "size_label": /^size (\d+)$/ ``` ##Development -[Rake](https://www.ruby-lang.org/en/documentation/installation/) is used as a tool to execute tasks, the steps would be roughly as follows: +To run your local version of the app, install all the NPM dependencies, watch the source files in one window, and start the static file server in the other in `--dev` mode. ```bash -apt-get install ruby-full -gem install rake -rake build -rake serve +$ nvm use +$ npm install +$ make watch +$ make start-dev +# burnchart/3.0.0 (dev) started on port 8080 ``` -You can run the following tasks: +###GitHub Pages + +To serve the app from GitHub Pages that are in sync with master branch, add these two lines to `.git/config`, in the `[remote "origin"]` section: -```bash -rake build # Build everything & minify -rake build:css # Build the styles with LESS -rake build:js # Build the app with Browserify -rake build:minify # Minify build for production -rake commit[message] # Build app and make a commit with latest changes -rake install # Install dependencies with NPM -rake publish # Publish to GitHub Pages -rake serve # Start a web server on port 8080 -rake test # Run tests with mocha -rake test:coverage # Run code coverage, mocha with Blanket.js -rake test:coveralls[token] # Run code coverage and publish to Coveralls -rake watch # Watch everything -rake watch:css # Watch the styles -rake watch:js # Watch the app ``` - -Please read the [Architecture](docs/ARCHITECTURE.md) document when contributing code. +[remote "origin"] + fetch = +refs/heads/*:refs/remotes/origin/* + url = git@github.com:user/repo.git + push = +refs/heads/master:refs/heads/gh-pages + push = +refs/heads/master:refs/heads/master +``` diff --git a/Rakefile b/Rakefile deleted file mode 100644 index d24b403..0000000 --- a/Rakefile +++ /dev/null @@ -1,96 +0,0 @@ -GRUNT = "./node_modules/.bin/grunt" - -task :default => "build" - -desc "Install dependencies with NPM" -task :install do - sh "npm install" -end - -desc "Build everything & minify" -task :build => [ "build:js", "build:css", "build:minify" ] do end - -desc "Watch everything." -multitask :watch => [ "watch:js", "watch:css" ] - -desc "Run tests with mocha" -task :test do - sh "#{MOCHA} #{OPTS} --reporter spec" -end - -desc "Start a web server on port 8080" -task :serve do - SERVER = "./node_modules/.bin/static" - - sh "#{SERVER} public -H '{\"Cache-Control\": \"no-cache, must-revalidate\"}'" -end - -desc "Publish to GitHub Pages" -task :publish do - sh "#{GRUNT} pages" -end - -desc "Build app and make a commit with latest changes" -task :commit, [ :message ] => [ "build" ] do |t, args| - args.with_defaults(:message => ":speech_balloon") - - sh "git add -A" - sh "git commit -am \"#{args.message}\"" - sh "git push -u origin master" -end - -namespace :watch do - WATCHIFY = "./node_modules/.bin/watchify" - WATCH = "./node_modules/.bin/watch" - - desc "Watch the app" - task :js do - sh "#{WATCHIFY} -e ./src/app.coffee -o public/js/app.bundle.js -d -v" - end - - desc "Watch the styles" - task :css => [ "build:css" ] do - sh "#{WATCH} \"rake build:css\" src/styles" - end -end - -namespace :build do - BROWSERIFY = "./node_modules/.bin/browserify" - LESS = "./node_modules/.bin/lessc" - - desc "Build the app with Browserify" - task :js do - sh "#{BROWSERIFY} -e ./src/app.coffee -o public/js/app.bundle.js" - end - - desc "Build the styles with LESS" - task :css do - sh "#{LESS} src/styles/burnchart.less > public/css/app.bundle.css" - end - - desc "Minify build for production" - task :minify do - sh "#{GRUNT} minify" - end -end - -namespace :test do - MOCHA = "./node_modules/.bin/mocha" - COVERALLS = "./node_modules/.bin/coveralls" - - OPTS = "--compilers coffee:coffee-script/register --ui exports --timeout 5000 --bail" - - desc "Run code coverage, mocha with Blanket.js" - task :coverage do - sh "#{MOCHA} #{OPTS} --reporter html-cov --require blanket > docs/COVERAGE.html" - end - - desc "Run code coverage and publish to Coveralls" - task :coveralls, :token do |t, args| - args.with_defaults(:token => "ABC") - - a = "#{MOCHA} #{OPTS} --reporter mocha-lcov-reporter --require blanket" - b = "COVERALLS_REPO_TOKEN=#{args.token} COVERALLS_SERVICE_NAME=MOCHA #{COVERALLS}" - sh "#{a} | #{b}" - end -end \ No newline at end of file diff --git a/bin/burnchart.js b/bin/burnchart.js new file mode 100755 index 0000000..de8eeef --- /dev/null +++ b/bin/burnchart.js @@ -0,0 +1,64 @@ +#!/usr/bin/env node +var Args = require('argparse').ArgumentParser, + clrs = require('colors/safe'), + stat = require('node-static'), + path = require('path'), + http = require('http'), + exec = require('child_process').exec, + pakg = require('../package.json'), + fs = require('fs'); + +var parser = new Args({ + version: pakg.version +}); + +parser.addArgument( + [ '-p', '--port' ], + { + 'help': 'Specify port number to start app on', + 'defaultValue': 8080, + 'type': 'int' + } +); +parser.addArgument( + [ '-d', '--dev' ], + { + 'help': 'Development mode, unminified builds are served', + 'nargs': 0 + } +); + +var args = parser.parseArgs(); + +var opts = { + 'serverInfo': 'burnchart/' + pakg.version +}; + +var dir = path.resolve(__dirname, '../'); + +var pub = new stat.Server(dir, opts); + +// Be ready to serve unminified builds. +var index = fs.readFileSync(dir + '/index.html', 'utf8'); +index = index.replace(/bundle\.min/gm, 'bundle'); + +var server = http.createServer(function(req, res) { + req.addListener('end', function() { + // Serve a custom index file in dev mode. + if (args.dev && req.url == '/') { + res.writeHead(200, { + 'Content-Length': index.length, + 'Content-Type': 'text/html' + }); + res.end(index); + } else { + pub.serve(req, res); + } + }).resume(); +}).listen(args.port); + +server.on('listening', function() { + var addr = server.address(); + var dev = args.dev ? ' (' + clrs.yellow.bold('dev') + ')' : ''; + console.log('burnchart/' + pakg.version + dev + ' started on port ' + addr.port); +}); diff --git a/bin/run.js b/bin/run.js deleted file mode 100755 index cd6786a..0000000 --- a/bin/run.js +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env node -var stat = require('node-static'), - path = require('path'), - http = require('http'), - exec = require('child_process').exec, - pakg = require('../package.json'); - -var opts = { - 'serverInfo': 'burnchart/' + pakg.version -}; - -var dir = path.resolve(__dirname, '../public'); - -var file = new stat.Server(dir, opts); - -var server = http.createServer(function(req, res) { - req.addListener('end', function() { - file.serve(req, res); - }).resume(); -}).listen(process.argv[2]); - -server.on('listening', function() { - var addr = server.address(); - console.log('burnchart/' + pakg.version + ' started on port ' + addr.port); -}); diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md deleted file mode 100644 index a6d7323..0000000 --- a/docs/ARCHITECTURE.md +++ /dev/null @@ -1,49 +0,0 @@ -#Architecture - -Captures how the app is build and what happens where. - -##Build - -Vendor libraries are fetched through npm. For CSS libs we `@import` them in LESS, for JS libs we `require` them using [Browserify](https://github.com/substack/node-browserify). All app dependencies are in `package.dependencies` rather than `package.devDependencies`, so that [David](https://david-dm.org/radekstepan/burnchart) can see them and we get a nice icon if things go out of date. - -##Code - -###JavaScript - -####Ractive - -The app is written as a series of [Ractive](http://www.ractivejs.org/) components. We use the library for both views and models. The important bit is that we can observe changes on them. So that these changes propagate, we use the [ractive-ractive](https://github.com/rstacruz/ractive-ractive) plugin. This means that one ractive can be passed another ractive as a data attribute. All ractive components have a `name` attribute which makes it easier to debug them when things go wrong. - -####Projects - -The projects collection is a simple stack. When rendering it, we are actually working off an index. Index is a list of tuples where first value is an index of a project and the second is an index of a milestone. When sort order changes, we only change the index. `models/projects` has a map of functions which handle the different sort orders. - -####Mediator Pattern - -Whenever something happens that other components on the page should know about, we use the mediator component. It is accessible by extending the `utils/ractive/eventfull` *class*. You can then call `@subscribe(message, fn)` or `@publish(message, data...)`. Subscriptions are automatically cancelled on teardown. - -####Config - -All configuration lives in `models/config`. - -####Router - -All routes are handled via `modules/router`. There you can see that each route is prefixed with a context - name of the view which will handle it and a bunch of functions to execute. As an example, the project and milestone routes both add a project, behind the scenes, if it does not exist already. - -####Icons - -Icons are loaded on the page through `views/icons`. This view has a list of entity codes which correspond to codes provided by [Fontello](http://fontello.com) custom icon packs. - -####Async - -Whenever there is an asynchronous block of code, wrap it in `models/system.async()` which returns a callback function which you call when done. That gives us a consistent loading spinner when things are happening. - -###CSS - -When developing in LESS, be aware that [LESS Hat](http://lesshat.madebysource.com/) is imported into the app. - -##Tests - -Tests run via Mocha and [Blanket](http://blanketjs.org/) for coverage. You can use [proxyquire](https://github.com/thlorenz/proxyquire) to override requires, but results in incorrect test coverage when used with Blanket. - -The `test/fixtures` folder contains example responses from GitHub. \ No newline at end of file diff --git a/docs/COVERAGE.html b/docs/COVERAGE.html deleted file mode 100644 index feed7d7..0000000 --- a/docs/COVERAGE.html +++ /dev/null @@ -1,355 +0,0 @@ -Coverage - -

Coverage

86%
483
420
63

/Users/radek/Dev/burnchart/src/models/config.coffee

100%
4
4
0
LineHitsSource
11(function() {
21 var Model;
3
41 Model = require('../utils/ractive/model.coffee');
5
61 module.exports = new Model({
7 'name': 'models/config',
8 "data": {
9 "firebase": "burnchart",
10 "provider": "github",
11 "fields": {
12 "milestone": ["closed_issues", "created_at", "description", "due_on", "number", "open_issues", "title", "updated_at"]
13 },
14 "chart": {
15 "off_days": [],
16 "size_label": /^size (\d+)$/,
17 "points": 'ONE_SIZE'
18 },
19 "request": {
20 "timeout": 5e3
21 }
22 }
23 });
24
25}).call(this);
26

/Users/radek/Dev/burnchart/src/models/projects.coffee

80%
122
98
24
LineHitsSource
11(function() {
21 var Model, config, lscache, semver, sortedIndex, stats, user, _,
3 __slice = [].slice;
4
51 _ = require('lodash');
6
71 lscache = require('lscache');
8
91 sortedIndex = require('sortedindex-compare');
10
111 semver = require('semver');
12
131 Model = require('../utils/ractive/model.coffee');
14
151 config = require('../models/config.coffee');
16
171 stats = require('../modules/stats.coffee');
18
191 user = require('./user.coffee');
20
211 module.exports = new Model({
22 'name': 'models/projects',
23 'data': {
24 'sortBy': 'priority',
25 'sortFns': ['progress', 'priority', 'name']
26 },
27 comparator: function() {
2814 var deIdx, defaults, list, sortBy, _ref;
2914 _ref = this.data, list = _ref.list, sortBy = _ref.sortBy;
3014 deIdx = (function(_this) {
3114 return function(fn) {
3214 return function() {
3311 var i, j, rest, _arg;
3411 _arg = arguments[0], rest = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
3511 i = _arg[0], j = _arg[1];
3611 return fn.apply(_this, [[list[i], list[i].milestones[j]]].concat(rest));
37 };
38 };
39 })(this);
4014 defaults = function(arr, hash) {
417 var i, item, k, keys, p, ref, v, _i, _len, _results;
427 _results = [];
437 for (_i = 0, _len = arr.length; _i < _len; _i++) {
4414 item = arr[_i];
4514 _results.push((function() {
4614 var _results1;
4714 _results1 = [];
4814 for (k in hash) {
4926 v = hash[k];
5026 ref = item;
5126 _results1.push((function() {
5226 var _j, _len1, _ref1, _results2;
5326 _ref1 = keys = k.split('.');
5426 _results2 = [];
5526 for (i = _j = 0, _len1 = _ref1.length; _j < _len1; i = ++_j) {
5666 p = _ref1[i];
5766 if (i === keys.length - 1) {
5826 _results2.push(ref[p] != null ? ref[p] : ref[p] = v);
59 } else {
6040 _results2.push(ref = ref[p] != null ? ref[p] : ref[p] = {});
61 }
62 }
6326 return _results2;
64 })());
65 }
6614 return _results1;
67 })());
68 }
697 return _results;
70 };
7114 switch (sortBy) {
72 case 'progress':
732 return deIdx(function(_arg, _arg1) {
741 var aM, aP, bM, bP;
751 aP = _arg[0], aM = _arg[1];
761 bP = _arg1[0], bM = _arg1[1];
771 defaults([aM, bM], {
78 'stats.progress.points': 0
79 });
801 return aM.stats.progress.points - bM.stats.progress.points;
81 });
82 case 'priority':
837 return deIdx(function(_arg, _arg1) {
846 var $a, $b, aM, aP, bM, bP, _ref1;
856 aP = _arg[0], aM = _arg[1];
866 bP = _arg1[0], bM = _arg1[1];
876 defaults([aM, bM], {
88 'stats.progress.time': 0,
89 'stats.days': 1e3
90 });
916 _ref1 = _.map([aM, bM], function(_arg2) {
9212 var stats;
9312 stats = _arg2.stats;
9412 return (stats.progress.points - stats.progress.time) * stats.days;
95 }), $a = _ref1[0], $b = _ref1[1];
966 return $b - $a;
97 });
98 case 'name':
995 return deIdx(function(_arg, _arg1) {
1004 var aM, aP, bM, bP, name, owner;
1014 aP = _arg[0], aM = _arg[1];
1024 bP = _arg1[0], bM = _arg1[1];
1034 if (owner = bP.owner.localeCompare(aP.owner)) {
1040 return owner;
105 }
1064 if (name = bP.name.localeCompare(aP.name)) {
1070 return name;
108 }
1094 if (semver.valid(bM.title) && semver.valid(aM.title)) {
1101 return semver.gt(bM.title, aM.title);
111 } else {
1123 return bM.title.localeCompare(aM.title);
113 }
114 });
115 default:
1160 return function() {
1170 return 0;
118 };
119 }
120 },
121 find: function(project) {
1220 return _.find(this.data.list, project);
123 },
124 exists: function() {
1250 return !!this.find.apply(this, arguments);
126 },
127 add: function(project) {
1280 if (!this.exists(project)) {
1290 return this.push('list', project);
130 }
131 },
132 findIndex: function(_arg) {
13314 var name, owner;
13414 owner = _arg.owner, name = _arg.name;
13514 return _.findIndex(this.data.list, {
136 owner: owner,
137 name: name
138 });
139 },
140 addMilestone: function(project, milestone) {
14114 var i, j;
14214 _.extend(milestone, {
143 'stats': stats(milestone)
144 });
14514 if ((i = this.findIndex(project)) < 0) {
1460 throw 500;
147 }
14814 if (project.milestones != null) {
1498 this.push("list." + i + ".milestones", milestone);
1508 j = this.data.list[i].milestones.length - 1;
151 } else {
1526 this.set("list." + i + ".milestones", [milestone]);
1536 j = 0;
154 }
15514 return this.sort([i, j], [project, milestone]);
156 },
157 saveError: function(project, err) {
1580 var idx;
1590 if ((idx = this.findIndex(project)) > -1) {
1600 if (project.errors != null) {
1610 return this.push("list." + idx + ".errors", err);
162 } else {
1630 return this.set("list." + idx + ".errors", [err]);
164 }
165 } else {
1660 throw 500;
167 }
168 },
169 demo: function() {
1700 return this.set({
171 'list': [
172 {
173 'owner': 'mbostock',
174 'name': 'd3'
175 }, {
176 'owner': 'medic',
177 'name': 'medic-webapp'
178 }, {
179 'owner': 'ractivejs',
180 'name': 'ractive'
181 }, {
182 'owner': 'radekstepan',
183 'name': 'disposable'
184 }, {
185 'owner': 'rails',
186 'name': 'rails'
187 }, {
188 'owner': 'rails',
189 'name': 'spring'
190 }
191 ],
192 'index': []
193 });
194 },
195 clear: function() {
1966 return this.set({
197 'list': [],
198 'index': []
199 });
200 },
201 sort: function(ref, data) {
20217 var i, idx, index, j, m, p, _i, _j, _len, _len1, _ref, _ref1;
20317 index = this.data.index || [];
20417 if (ref) {
20514 idx = sortedIndex(index, data, this.comparator());
20614 index.splice(idx, 0, ref);
207 } else {
2083 _ref = this.data.list;
2093 for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {
2100 p = _ref[i];
2110 if (p.milestones == null) {
2120 continue;
213 }
2140 _ref1 = p.milestones;
2150 for (j = _j = 0, _len1 = _ref1.length; _j < _len1; j = ++_j) {
2160 m = _ref1[j];
2170 idx = sortedIndex(index, [p, m], this.comparator());
2180 index.splice(idx, 0, [i, j]);
219 }
220 }
221 }
22217 return this.set('index', index);
223 },
224 onconstruct: function() {
2251 this.subscribe('!projects/add', this.add, this);
2261 return this.subscribe('!projects/demo', this.demo, this);
227 },
228 onrender: function() {
2291 this.set('list', lscache.get('projects') || []);
2301 this.observe('list', function(projects) {
23126 return lscache.set('projects', _.pluckMany(projects, ['owner', 'name']));
232 }, {
233 'init': false
234 });
2351 return this.observe('sortBy', function() {
2363 this.set('index', null);
2373 return this.sort();
238 }, {
239 'init': false
240 });
241 }
242 });
243
244}).call(this);
245

/Users/radek/Dev/burnchart/src/models/user.coffee

100%
4
4
0
LineHitsSource
11(function() {
21 var Model;
3
41 Model = require('../utils/ractive/model.coffee');
5
61 module.exports = new Model({
7 'name': 'models/user',
8 'data': {
9 'uid': null
10 }
11 });
12
13}).call(this);
14

/Users/radek/Dev/burnchart/src/modules/chart/lines.coffee

94%
88
83
5
LineHitsSource
11(function() {
21 var config, d3, moment, _,
30 __indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; };
4
51 _ = require('lodash');
6
71 d3 = require('d3');
8
91 moment = require('moment');
10
111 config = require('../../models/config.coffee');
12
131 module.exports = {
14 actual: function(issues, created_at, total) {
151 var head, max, min, range, rest;
161 head = [
17 {
18 'date': moment(created_at, moment.ISO_8601).toJSON(),
19 'points': total
20 }
21 ];
221 min = +Infinity;
231 max = -Infinity;
241 rest = _.map(issues, function(issue) {
253 var closed_at, size;
263 size = issue.size, closed_at = issue.closed_at;
273 if (size < min) {
283 min = size;
29 }
303 if (size > max) {
311 max = size;
32 }
333 issue.date = moment(closed_at, moment.ISO_8601).toJSON();
343 issue.points = total -= size;
353 return issue;
36 });
371 range = d3.scale.linear().domain([min, max]).range([5, 8]);
381 rest = _.map(rest, function(issue) {
393 issue.radius = range(issue.size);
403 return issue;
41 });
421 return [].concat(head, rest);
43 },
44 ideal: function(a, b, total) {
451 var days, length, now, once, velocity, _ref;
461 if (b < a) {
470 _ref = [a, b], b = _ref[0], a = _ref[1];
48 }
491 a = moment(a, moment.ISO_8601);
501 b = b != null ? moment(b, moment.ISO_8601) : moment.utc();
511 days = [];
521 length = 0;
531 (once = function(inc) {
543 var day, day_of;
553 day = a.add(1, 'days');
563 if (!(day_of = day.weekday())) {
571 day_of = 7;
58 }
593 if (__indexOf.call(config.data.chart.off_days, day_of) >= 0) {
600 days.push({
61 'date': day.toJSON(),
62 'off_day': true
63 });
64 } else {
653 length += 1;
663 days.push({
67 'date': day.toJSON()
68 });
69 }
703 if (!(day > b)) {
712 return once(inc + 1);
72 }
73 })(0);
741 velocity = total / (length - 1);
751 days = _.map(days, function(day, i) {
763 day.points = total;
773 if (days[i] && !days[i].off_day) {
783 total -= velocity;
79 }
803 return day;
81 });
821 if ((now = moment.utc()) > b) {
831 days.push({
84 'date': now.toJSON(),
85 'points': 0
86 });
87 }
881 return days;
89 },
90 trend: function(actual, created_at, due_on) {
911 var a, b, b1, c1, e, first, fn, intercept, l, last, now, slope, start, values;
921 if (!actual.length) {
930 return [];
94 }
951 first = actual[0], last = actual[actual.length - 1];
961 start = moment(first.date, moment.ISO_8601);
971 values = _.map(actual, function(_arg) {
983 var date, points;
993 date = _arg.date, points = _arg.points;
1003 return [moment(date, moment.ISO_8601).diff(start), points];
101 });
1021 now = moment.utc();
1031 values.push([now.diff(start), last.points]);
1041 b1 = 0;
1051 e = 0;
1061 c1 = 0;
1071 a = (l = values.length) * _.reduce(values, function(sum, _arg) {
1084 var a, b;
1094 a = _arg[0], b = _arg[1];
1104 b1 += a;
1114 e += b;
1124 c1 += Math.pow(a, 2);
1134 return sum + (a * b);
114 }, 0);
1151 slope = (a - (b1 * e)) / ((l * c1) - (Math.pow(b1, 2)));
1161 intercept = (e - (slope * b1)) / l;
1171 fn = function(x) {
1182 return slope * x + intercept;
119 };
1201 created_at = moment(created_at, moment.ISO_8601);
1211 if (due_on) {
1221 due_on = moment(due_on, moment.ISO_8601);
1231 if (now > due_on) {
1241 due_on = now;
125 }
126 } else {
1270 due_on = now;
128 }
1291 a = created_at.diff(start);
1301 b = due_on.diff(start);
1311 return [
132 {
133 'date': created_at.toJSON(),
134 'points': fn(a)
135 }, {
136 'date': due_on.toJSON(),
137 'points': fn(b)
138 }
139 ];
140 }
141 };
142
143}).call(this);
144

/Users/radek/Dev/burnchart/src/modules/github/issues.coffee

98%
53
52
1
LineHitsSource
11(function() {
21 var async, calcSize, config, oneStatus, request, _;
3
41 _ = require('lodash');
5
61 async = require('async');
7
81 config = require('../../models/config.coffee');
9
101 request = require('./request.coffee');
11
121 module.exports = {
13 fetchAll: function(repo, cb) {
1414 return async.parallel([_.partial(oneStatus, repo, 'open'), _.partial(oneStatus, repo, 'closed')], function(err, _arg) {
1514 var closed, open;
1614 open = _arg[0], closed = _arg[1];
1714 if (err == null) {
1813 err = null;
19 }
2014 return cb(err, {
21 open: open,
22 closed: closed
23 });
24 });
25 }
26 };
27
281 calcSize = function(list) {
2926 var issue, size, _i, _len;
3026 switch (config.data.chart.points) {
31 case 'ONE_SIZE':
3216 size = list.length;
3316 for (_i = 0, _len = list.length; _i < _len; _i++) {
341006 issue = list[_i];
351006 issue.size = 1;
36 }
3716 break;
38 case 'LABELS':
3910 size = 0;
4010 list = _.filter(list, function(issue) {
4116 var labels;
4216 if (!(labels = issue.labels)) {
432 return false;
44 }
4514 issue.size = _.reduce(labels, function(sum, label) {
4616 var matches;
4716 if (!(matches = label.name.match(config.data.chart.size_label))) {
486 return sum;
49 }
5010 return sum += parseInt(matches[1]);
51 }, 0);
5214 size += issue.size;
5314 return !!issue.size;
54 });
5510 break;
56 default:
570 throw 500;
58 }
5926 return {
60 list: list,
61 size: size
62 };
63 };
64
651 oneStatus = function(repo, state, cb) {
6628 var done, fetchPage, results;
6728 results = [];
6828 done = function(err) {
6928 if (err) {
702 return cb(err);
71 }
7226 return cb(null, calcSize(_.sortBy(results, 'closed_at')));
73 };
7428 return (fetchPage = function(page) {
7536 return request.allIssues(repo, {
76 state: state,
77 page: page
78 }, function(err, data) {
7936 if (err) {
802 return done(err);
81 }
8234 if (!data.length) {
836 return done(null, results);
84 }
8528 results = results.concat(data);
8628 if (data.length < 100) {
8720 return done(null, results);
88 }
898 return fetchPage(page + 1);
90 });
91 })(1);
92 };
93
94}).call(this);
95

/Users/radek/Dev/burnchart/src/modules/github/request.coffee

85%
125
107
18
LineHitsSource
12(function() {
22 var config, defaults, error, headers, isReady, isValid, mediator, ready, request, response, stack, superagent, user, _;
3
42 _ = require('lodash');
5
62 superagent = require('superagent');
7
82 require('../../utils/mixins.coffee');
9
102 config = require('../../models/config.coffee');
11
122 user = require('../../models/user.coffee');
13
142 mediator = require('../mediator.coffee');
15
162 superagent.parse = {
17 'application/json': function(res) {
180 var e;
190 try {
200 return JSON.parse(res);
21 } catch (_error) {
220 e = _error;
230 return {};
24 }
25 }
26 };
27
282 defaults = {
29 'github': {
30 'host': 'api.github.com',
31 'protocol': 'https'
32 }
33 };
34
352 module.exports = {
36 repo: function(_arg, cb) {
371 var name, owner;
381 owner = _arg.owner, name = _arg.name;
391 if (!isValid({
40 owner: owner,
41 name: name
42 })) {
430 return cb('Request is malformed');
44 }
451 return ready(function() {
461 var data, _ref;
471 data = _.defaults({
48 'path': "/repos/" + owner + "/" + name,
49 'headers': headers((_ref = user.data.github) != null ? _ref.accessToken : void 0)
50 }, defaults.github);
511 return request(data, cb);
52 });
53 },
54 allMilestones: function(_arg, cb) {
551 var name, owner;
561 owner = _arg.owner, name = _arg.name;
571 if (!isValid({
58 owner: owner,
59 name: name
60 })) {
610 return cb('Request is malformed');
62 }
631 return ready(function() {
641 var data, _ref;
651 data = _.defaults({
66 'path': "/repos/" + owner + "/" + name + "/milestones",
67 'query': {
68 'state': 'open',
69 'sort': 'due_date',
70 'direction': 'asc'
71 },
72 'headers': headers((_ref = user.data.github) != null ? _ref.accessToken : void 0)
73 }, defaults.github);
741 return request(data, cb);
75 });
76 },
77 oneMilestone: function(_arg, cb) {
784 var milestone, name, owner;
794 owner = _arg.owner, name = _arg.name, milestone = _arg.milestone;
804 if (!isValid({
81 owner: owner,
82 name: name,
83 milestone: milestone
84 })) {
850 return cb('Request is malformed');
86 }
874 return ready(function() {
884 var data, _ref;
894 data = _.defaults({
90 'path': "/repos/" + owner + "/" + name + "/milestones/" + milestone,
91 'query': {
92 'state': 'open',
93 'sort': 'due_date',
94 'direction': 'asc'
95 },
96 'headers': headers((_ref = user.data.github) != null ? _ref.accessToken : void 0)
97 }, defaults.github);
984 return request(data, cb);
99 });
100 },
101 allIssues: function(_arg, query, cb) {
1022 var milestone, name, owner;
1032 owner = _arg.owner, name = _arg.name, milestone = _arg.milestone;
1042 if (!isValid({
105 owner: owner,
106 name: name,
107 milestone: milestone
108 })) {
1090 return cb('Request is malformed');
110 }
1112 return ready(function() {
1122 var data, _ref;
1132 data = _.defaults({
114 'path': "/repos/" + owner + "/" + name + "/issues",
115 'query': _.extend(query, {
116 milestone: milestone,
117 'per_page': '100'
118 }),
119 'headers': headers((_ref = user.data.github) != null ? _ref.accessToken : void 0)
120 }, defaults.github);
1212 return request(data, cb);
122 });
123 }
124 };
125
1262 request = function(_arg, cb) {
1278 var exited, headers, host, k, path, protocol, q, query, req, timeout, v;
1288 protocol = _arg.protocol, host = _arg.host, path = _arg.path, query = _arg.query, headers = _arg.headers;
1298 exited = false;
1308 q = query ? '?' + ((function() {
1317 var _results;
1327 _results = [];
1337 for (k in query) {
13419 v = query[k];
13519 _results.push("" + k + "=" + v);
136 }
1377 return _results;
138 })()).join('&') : '';
1398 req = superagent.get("" + protocol + "://" + host + path + q);
1408 for (k in headers) {
14117 v = headers[k];
14217 req.set(k, v);
143 }
1448 timeout = setTimeout(function() {
1452 exited = true;
1462 return cb('Request has timed out');
147 }, config.data.request.timeout);
1488 return req.end(function(err, data) {
1497 if (exited) {
1501 return;
151 }
1526 exited = true;
1536 clearTimeout(timeout);
1546 return response(err, data, cb);
155 });
156 };
157
1582 response = function(err, data, cb) {
1596 if (err) {
1600 return cb(error(err));
161 }
1626 if (data.statusType !== 2) {
1633 return cb(error(data.body));
164 }
1653 return cb(null, data.body);
166 };
167
1682 headers = function(token) {
1698 var h;
1708 h = {
171 'Content-Type': 'application/json',
172 'Accept': 'application/vnd.github.v3'
173 };
1748 if (token != null) {
1751 h.Authorization = "token " + token;
176 }
1778 return h;
178 };
179
1802 isValid = function(obj) {
1818 var key, rules, val;
1828 rules = {
183 'owner': function(val) {
1848 return val != null;
185 },
186 'name': function(val) {
1878 return val != null;
188 },
189 'milestone': function(val) {
1906 return _.isInt(val);
191 }
192 };
1938 for (key in obj) {
19422 val = obj[key];
19522 if (key in rules && !rules[key](val)) {
1960 return false;
197 }
198 }
1998 return true;
200 };
201
2022 isReady = user.data.ready;
203
2042 stack = [];
205
2062 ready = function(cb) {
2078 if (isReady) {
2088 return cb();
209 } else {
2100 return stack.push(cb);
211 }
212 };
213
2142 user.observe('ready', function(val) {
2154 var _results;
2164 isReady = val;
2174 if (val) {
2182 _results = [];
2192 while (stack.length) {
2200 _results.push(stack.shift()());
221 }
2222 return _results;
223 }
224 });
225
2262 error = function(err) {
2273 var text, type;
2283 switch (false) {
229 case !_.isString(err):
2300 text = err;
2310 break;
232 case !_.isArray(err):
2330 text = err[1];
2340 break;
235 case !(_.isObject(err) && _.isString(err.message)):
2362 text = err.message;
237 }
2383 if (!text) {
2391 try {
2401 text = JSON.stringify(err);
241 } catch (_error) {
2420 text = err.toString();
243 }
244 }
2453 if (/API rate limit exceeded/.test(text)) {
2461 type = 'warn';
2471 mediator.fire('!app/notify', {
248 type: type,
249 text: text
250 });
251 }
2523 return text;
253 };
254
255}).call(this);
256

/Users/radek/Dev/burnchart/src/modules/mediator.coffee

100%
5
5
0
LineHitsSource
11(function() {
21 var Mediator, Ractive;
3
41 Ractive = require('ractive');
5
61 Mediator = Ractive.extend({});
7
81 module.exports = new Mediator();
9
10}).call(this);
11

/Users/radek/Dev/burnchart/src/modules/stats.coffee

97%
36
35
1
LineHitsSource
11(function() {
21 var moment, progress;
3
41 moment = require('moment');
5
61 progress = function(a, b) {
78 if (a + b === 0) {
80 return 0;
9 } else {
108 return 100 * (a / (b + a));
11 }
12 };
13
141 module.exports = function(milestone) {
1520 var a, b, c, days, isDone, isEmpty, isOnTime, isOverdue, points, time;
1620 if (milestone.stats != null) {
1714 return milestone.stats;
18 }
196 isDone = false;
206 isOnTime = true;
216 isOverdue = false;
226 isEmpty = true;
236 points = 0;
246 a = milestone.issues.closed.size;
256 b = milestone.issues.open.size;
266 if (a + b > 0) {
274 isEmpty = false;
284 points = progress(a, b);
294 if (points === 100) {
302 isDone = true;
31 }
32 }
336 if (milestone.due_on == null) {
342 return {
35 isOverdue: isOverdue,
36 isOnTime: isOnTime,
37 isDone: isDone,
38 isEmpty: isEmpty,
39 'progress': {
40 points: points
41 }
42 };
43 }
444 a = moment(milestone.created_at, moment.ISO_8601);
454 b = moment.utc();
464 c = moment(milestone.due_on, moment.ISO_8601);
474 if (b.isAfter(c) && !isDone) {
482 isOverdue = true;
49 }
504 time = progress(b.diff(a), c.diff(b));
514 days = (b.diff(a, 'days')) / 100;
524 isOnTime = points > time;
534 if (isDone) {
541 isOnTime = true;
55 }
564 return {
57 isDone: isDone,
58 days: days,
59 isOnTime: isOnTime,
60 isOverdue: isOverdue,
61 'progress': {
62 points: points,
63 time: time
64 }
65 };
66 };
67
68}).call(this);
69

/Users/radek/Dev/burnchart/src/utils/mixins.coffee

92%
13
12
1
LineHitsSource
11(function() {
21 var _;
3
41 _ = require('lodash');
5
61 _.mixin({
7 'pluckMany': function(source, keys) {
826 if (!_.isArray(keys)) {
90 throw '`keys` needs to be an Array';
10 }
1126 return _.map(source, function(item) {
1220 var obj;
1320 obj = {};
1420 _.each(keys, function(key) {
1540 return obj[key] = item[key];
16 });
1720 return obj;
18 });
19 },
20 'isInt': function(val) {
216 return !isNaN(val) && parseInt(Number(val)) === val && !isNaN(parseInt(val, 10));
22 }
23 });
24
25}).call(this);
26

/Users/radek/Dev/burnchart/src/utils/ractive/eventful.coffee

45%
24
11
13
LineHitsSource
11(function() {
21 var Ractive, mediator, _;
3
41 _ = require('lodash');
5
61 Ractive = require('ractive');
7
81 mediator = require('../../modules/mediator.coffee');
9
101 module.exports = Ractive.extend({
11 subscribe: function(name, cb, ctx) {
122 if (ctx == null) {
130 ctx = this;
14 }
152 if (!_.isArray(this._subs)) {
161 this._subs = [];
17 }
182 if (_.isFunction(cb)) {
192 return this._subs.push(mediator.on(name, _.bind(cb, ctx)));
20 } else {
210 return console.log("Warning: `cb` is not a function");
22 }
23 },
24 publish: function() {
250 return mediator.fire.apply(mediator, arguments);
26 },
27 onteardown: function() {
280 var sub, _i, _len, _ref, _results;
290 if (_.isArray(this._subs)) {
300 _ref = this._subs;
310 _results = [];
320 for (_i = 0, _len = _ref.length; _i < _len; _i++) {
330 sub = _ref[_i];
340 if (_.isFunction(sub.cancel)) {
350 _results.push(sub.cancel());
36 } else {
370 _results.push(console.log("Warning: `sub.cancel` is not a function"));
38 }
39 }
400 return _results;
41 }
42 }
43 });
44
45}).call(this);
46

/Users/radek/Dev/burnchart/src/utils/ractive/model.coffee

100%
9
9
0
LineHitsSource
11(function() {
21 var Eventful;
3
41 Eventful = require('./eventful.coffee');
5
61 module.exports = function(opts) {
73 var Model, model;
83 Model = Eventful.extend(opts);
93 model = new Model();
103 model.render();
113 return model;
12 };
13
14}).call(this);
15
\ No newline at end of file diff --git a/docs/IDEA.md b/docs/IDEA.md deleted file mode 100644 index 800e29c..0000000 --- a/docs/IDEA.md +++ /dev/null @@ -1,45 +0,0 @@ -#Idea - -##Summary - -An app showing a burndown chart for issues in a GitHub milestone. A choice of strategies for calculating the size of each issue to determine the progress. Running completely client-side apart from GitHub authentication via a Firebase service. In use by the community since 2012. - -##Community - -Anyone can contibute their time by working on issues. Read the [Architecture](ARCHITECTURE.md) document to get oriented. Ours are tracked in Assembly as [bounties](https://assembly.com/burnchart/bounties). You can use the contact form widget inside the app or [burnchart@helpful.io](mailto:burnchart@helpful.io) to contact the lead developer, Radek. You can also use [Tally](http://tally.tl/) to vote on upcoming features. - -##Background - -The project started in 2012 at the University of Cambridge in a bioinformatics team. The aim was to get better at estimating the workload for each release we were marking. The original app was running on Node.js. Then a major rewrite in 2013 moved it completely client side. Another rewrite is happening now, 2014, on the Assembly platform. - -##Goals - -Make developers better at managing their workload. - -##Key Features - -1. Running from the **browser**, apart from GitHub account sign in which uses Firebase backend. -1. **Private repos**; sign in with your GitHub account. -1. **Store** projects in browser's `localStorage`. -1. **Off days**; specify which days of the week to leave out from ideal burndown progression line. -1. **Trend line**; to see if you can make it to the deadline at this pace. -1. Different **point counting** strategies; select from 1 issues = 1 point or read size from issue label. - -##Target Audience - -Developers who use simple issue trackers like GitHub issues and want to graduate from the basic progress bar that GitHub provides. - -##Competing Products - -The burndown or burndown chart concept is pretty widespread in more enterprisey ([Jira](https://www.atlassian.com/software/jira), [PivotalTracker](http://www.pivotaltracker.com/), [ThoughtWorks](http://www.thoughtworks.com/products/mingle-agile-project-management)) software. These are too heavy. - -There are also products that nicely integrate with GitHub ([AgileZen](http://www.agilezen.com/), [Scrumwise](https://www.scrumwise.com/features.html)). But these are not GitHub-first. - - -And finally products built on top of the GitHub API ([Burndown](http://burndown.io/), [SweepBoard](http://sweepboard.com/)). One is not pretty and one does not do charts yet. - -This product puts the chart front and centre, as a place from which insights can be gained. Some people use Kanban boards, we use Burncharts. - -##Monetization Strategy - -I think that this product is useful but, like with [gitter.im](https://gitter.im/) or [david-dm.org](http://david-dm.org) hasn't reached a threshold where people would pay for it. \ No newline at end of file diff --git a/docs/NOTES.md b/docs/NOTES.md deleted file mode 100644 index 6fa041e..0000000 --- a/docs/NOTES.md +++ /dev/null @@ -1,33 +0,0 @@ -##Notes - -- *payment gateways* in Canada: [Shopify](http://www.shopify.com/payment-gateways/canada), [Chargify](http://chargify.com/payment-gateways/) list; I get free processing on first $1000 with [Stripe](https://education.github.com/pack/offers) -- [credit card form](http://designmodo.com/ux-credit-card-payment-form/) ux from Designmodo or [here](https://d13yacurqjgara.cloudfront.net/users/79914/screenshots/1048397/attachments/127794/payments_page.jpg). -- workers: using a free instance of IronWorker and assuming 5s runtime each time gives us a poll every 6 minutes. Zapier would poll every 15 minutes but already integrates Stripe and FB. -- $2.5 Node.js PaaS via Gandi with promo code `PAASLAUNCH-C50E-B077-A317`. - -##Plans - -###Community Plan - -- your repos are saved locally -- no auto-updates to milestones, everything fetched on page load -- no private repos - -###Business Plan - -- you need to pay for a license to use the app for business purposes -- repos, milestones saved remotely -- auto-update with new information -- private repos - -###Free Forever Business Plan (= Community Shareholder/Partners Plan) - -I can't sell people on free membership, that is only a small incentive. But I can sell them on an app that does what they want. Have early access to features etc. If someone sees that my app can help them, why not tell me about it so I can make it happen? (their time is valuable) - -I could also provide people with Assembly coins for each feedback session I've had with them, thus making them share in the profits. They are basically startup members with equity by being Product Developers. - -To qualify, these people need to be businesses actively using the software. Thus being stand-in users for other such $ paying businesses. - -Let me call you every 3 months to ask how you are doing, how you are using the software, what can I improve, and you will get 3 months usage for free. The idea is to keep in touch with the most loyal customers, to hear them say how great/shabby the app is. If they don't want to talk they can always pay for the Business Plan (most would pay or quit). - -If someone stops using the app, send them an email asking them for a good time to call so I can make things right. They would get 3 months usage as well (that's like giving me a book for free that I dislike). It would be better to ask them what they were expecting and why we failed. \ No newline at end of file diff --git a/docs/STARGAZERS.md b/docs/STARGAZERS.md deleted file mode 100644 index c555c53..0000000 --- a/docs/STARGAZERS.md +++ /dev/null @@ -1,87 +0,0 @@ -#Stargazers - -*Original list of stargazers for `radekstepan/github-burndown-chart`.* - -1. radekstepan -1. anissen -1. HudsonAfonso -1. jcberthon -1. vad710 -1. Tomohiro -1. terite -1. MachineTi -1. ttsuruoka -1. ph -1. xiechao06 -1. sbusso -1. icesoar -1. toland -1. cymantic -1. yuriykulikov -1. icecreammatt -1. mps -1. jhnns -1. PyroMani -1. nathankleyn -1. ecarreras -1. dmihalcik -1. xavierchou -1. xavierchow -1. chaselee -1. jamespjh -1. egi -1. HasAMcNett -1. mkuprionis -1. morgan -1. davidtingsu -1. steevee -1. menzer -1. rauhryan -1. gilday -1. nside -1. rukku -1. tnira -1. savage69kr -1. uzulla -1. yoiang -1. andyberry88 -1. polidog -1. acouch -1. y-uuki -1. Sixeight -1. mzyy94 -1. Vorzard -1. kasperisager -1. sychedelix -1. rochacbruno -1. ellisonleao -1. avelino -1. rturk -1. checkcheckzz -1. tkmoteki -1. lerrua -1. opn -1. tea-mac -1. u01jmg3 -1. dwcaraway -1. emanuelvianna -1. dwightwatson -1. donkirkby -1. you21979 -1. taka011239 -1. monzou -1. h-ikio -1. jinky32 -1. alantrrs -1. concertman -1. AntoinePlu -1. motemen -1. mackagy1 -1. zoncoen -1. lukebrooker -1. katryo -1. l0gicpath -1. bshyong -1. nightlyworker -1. Meroje -1. marcioukita \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..d4f16af --- /dev/null +++ b/index.html @@ -0,0 +1,11 @@ + + + + + + + +
+ + + diff --git a/package.json b/package.json index 529b773..3a3a93c 100644 --- a/package.json +++ b/package.json @@ -1,84 +1,61 @@ { "name": "burnchart", - "version": "2.0.10", + "version": "3.0.0", "description": "GitHub Burndown Chart as a Service", "author": "Radek Stepan (http://radekstepan.com)", "license": "AGPL-3.0", - "keywords": [ - "github", - "issues", - "burndown", - "chart", - "scrum" - ], + "bin": { + "burnchart": "./bin/burnchart.js" + }, + "scripts": { + "start": "make start", + "test": "make test" + }, + "dependencies": { + "argparse": "^1.0.4", + "colors": "^1.1.2", + "node-static": "^0.7.7" + }, + "devDependencies": { + "async": "^1.5.2", + "babel": "^6.3.26", + "babel-preset-es2015": "^6.3.13", + "babel-preset-react": "^6.3.13", + "babel-register": "^6.4.3", + "babelify": "^7.2.0", + "browserify": "^13.0.0", + "chai": "^3.4.1", + "classnames": "^2.2.3", + "clean-css": "^3.4.9", + "coffeeify": "^2.0.1", + "d3": "^3.5.12", + "d3-tip": "^0.6.7", + "deep-diff": "^0.3.3", + "firebase": "^2.3.2", + "less": "^2.5.3", + "lesshat": "^3.0.2", + "lodash": "^3.10.1", + "lscache": "^1.0.5", + "marked": "^0.3.5", + "mocha": "^2.3.4", + "moment": "^2.11.1", + "normalize.less": "^1.0.0", + "object-assign": "^4.0.1", + "object-path": "^0.9.2", + "proxyquire": "^1.7.3", + "react": "^0.14.6", + "react-addons-css-transition-group": "^0.14.6", + "react-mini-router": "^2.0.0", + "semver": "^5.1.0", + "sortedindex-compare": "0.0.1", + "superagent": "^1.6.1", + "uglify-js": "^2.6.1", + "watch": "^0.17.1", + "watch-less": "0.0.4", + "watchify": "^3.7.0" + }, "repository": { "type": "git", "url": "git://github.com/radekstepan/burnchart.git" - }, - "scripts": { - "start": "rake serve", - "test": "rake test" - }, - "bin": { - "burnchart": "./bin/run.js" - }, - "dependencies": { - "async": "1.5.2", - "brain": "0.7.0", - "chance": "0.8.0", - "d3": "3.5.12", - "d3-tip": "git://github.com/Caged/d3-tip", - "director": "1.2.8", - "firebase": "2.3.2", - "lodash": "3.10.1", - "lscache": "1.0.5", - "marked": "0.3.5", - "moment": "2.11.1", - "node-static": "0.7.7", - "normalize.less": "1.0.0", - "ractive": "0.6.1", - "ractive-ractive": "0.4.4", - "semver": "5.1.0", - "sortedindex-compare": "0.0.1", - "superagent": "1.6.1" - }, - "devDependencies": { - "blanket": "1.2.1", - "browserify": "13.0.0", - "chai": "3.4.1", - "coffee-script": "1.10.0", - "coffeeify": "2.0.1", - "coveralls": "2.11.6", - "grunt": "0.4.5", - "grunt-cli": "0.1.13", - "grunt-contrib-clean": "0.7.0", - "grunt-contrib-cssmin": "0.14.0", - "grunt-contrib-uglify": "0.11.0", - "grunt-gh-pages": "1.0.0", - "grunt-mkdir": "0.1.2", - "less": "2.5.3", - "lesshat": "3.0.2", - "mocha": "2.3.4", - "mocha-lcov-reporter": "1.0.0", - "proxyquire": "1.7.3", - "ractivate": "0.2.0", - "watch": "0.17.1", - "watchify": "3.7.0" - }, - "browserify": { - "transform": [ - "coffeeify", - "ractivate" - ] - }, - "config": { - "blanket": { - "loader": "./node-loaders/coffee-script", - "pattern": "src", - "data-cover-never": "node_modules", - "data-cover-flags": { - "engineOnly": true - } - } } -} \ No newline at end of file +} diff --git a/public/css/app.bundle.min.css b/public/css/app.bundle.min.css deleted file mode 100644 index 77979da..0000000 --- a/public/css/app.bundle.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}.icon,button,select{text-transform:none}#chart,sub,sup{position:relative}#chart svg .axis,#chart svg .axis line,#chart svg line.today{shape-rendering:crispEdges}#head #icon,.d3-tip,.icon{text-align:center}#page #content #add .form input,#page #content #hero .content{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}@font-face{font-family:MuseoSlab500Regular;src:url(../fonts/museo-slab-500.eot);src:url(../fonts/museo-slab-500.eot?#iefix) format('embedded-opentype'),url(../fonts/museo-slab-500.woff) format('woff'),url(../fonts/museo-slab-500.ttf) format('truetype'),url(../fonts/museo-slab-500.svg#MuseoSlab500Regular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:MuseoSans500Regular;src:url(../fonts/museo-sans-500.eot);src:url(../fonts/museo-sans-500.eot?#iefix) format('embedded-opentype'),url(../fonts/museo-sans-500.woff) format('woff'),url(../fonts/museo-sans-500.ttf) format('truetype'),url(../fonts/museo-sans-500.svg#MuseoSans500Regular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:Fontello;src:url(../fonts/fontello.eot?74672344);src:url(../fonts/fontello.eot?74672344#iefix) format('embedded-opentype'),url(../fonts/fontello.woff?74672344) format('woff'),url(../fonts/fontello.ttf?74672344) format('truetype'),url(../fonts/fontello.svg?74672344#fontello) format('svg');font-weight:400;font-style:normal}.icon{vertical-align:middle;font-family:Fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;font-variant:normal}.icon[class*=' spin'],.icon[class^=spin]{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}lesshat-selector{-lh-property:0}@-webkit-keyframes spin{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@-o-keyframes spin{from{-o-transform:rotate(0)}to{-o-transform:rotate(360deg)}}@keyframes spin{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}#chart{height:300px}#chart #tooltip{position:absolute;top:0;left:0}#chart svg path.line{fill:none;stroke-width:1px;clip-path:url(#clip)}#chart svg path.line.actual{stroke:#64584c;stroke-width:3px}#chart svg path.line.ideal{stroke:#cacaca;stroke-width:3px}#chart svg path.line.trendline{stroke:#64584c;stroke-width:1.5px;stroke-dasharray:5,5}#chart svg line.today{stroke:#cacaca;stroke-width:1px;stroke-dasharray:5,5}#chart svg circle{fill:#64584c;stroke:transparent;stroke-width:15px;cursor:pointer}#chart svg .axis line{stroke:rgba(202,202,202,.25)}#chart svg .axis text{font-weight:700;fill:#cacaca}#chart svg .axis path{display:none}.d3-tip{margin-top:-10px;font-size:11px;padding:8px 10px 7px;background:rgba(0,0,0,.75);color:#fff;-webkit-border-radius:3px;-webkit-background-clip:padding-box;-moz-border-radius:3px;-moz-background-clip:padding;border-radius:3px;background-clip:padding-box}.d3-tip:after{width:100%;color:rgba(0,0,0,.8);content:"\25BC";position:absolute}#notify,a{color:#aaafbf}.d3-tip.n:after{margin:-3px 0 0;top:100%;left:0}h1,h2,h3,p,ul{margin:0}body,html{margin:0;padding:0;height:100%}body{color:#3e4457;font-family:MuseoSans500Regular,sans-serif}#footer,#page #content #add .form a,#page #content #add p,#page #content #hero .content .cta a,#page #content #hero .content p,#page #content #projects .footer,#page #content #projects .header a,#title .description{font-family:MuseoSlab500Regular,serif}#app{position:relative;height:auto!important;min-height:100%}a{text-decoration:none;cursor:pointer}ul{list-style-type:none;padding:0}ul li{display:inline-block}.wrap{width:800px;margin:0 auto}#notify{position:fixed;top:-68px;z-index:1;width:100%;background:#fcfcfc;border-top:3px solid #aaafbf;border-bottom:1px solid #f3f4f8}#notify .close{float:right;font-size:16px;padding:22px;cursor:pointer}#notify .close:before{content:"\d7";display:block}#notify.system{top:0;left:50%;width:500px;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}#notify.system p{padding-top:20px}#notify.good,#notify.ok,#notify.success{border-top-color:#00b361;color:#00b361}#notify.trouble,#notify.warn{border-top-color:#ea9712;color:#ea9712}#notify.alert,#notify.bad,#notify.fucked{border-top-color:#C1041C;color:#C1041C}#notify .icon,#notify p{display:block}#head #icon,#head .q,#head ul,#page #content #add .form a,#page #content #projects h2,#title .description,#title .title{display:inline-block}#notify .icon{font-size:26px;padding:18px;width:38px;float:left}#notify p{padding:22px 20px 20px 74px;text-align:justify}#head{background:#C1041C;height:64px}#head #icon{font-size:26px;padding:10px 0;line-height:44px;height:44px;width:74px;background:#77000e;color:#C1041C;margin:0}#head .q{position:relative;margin:13px 20px 0;vertical-align:top}#head .q .icon{position:absolute;color:#C1041C}#head .q .icon.search{top:8px;left:12px}#head .q .icon.down-open{top:8px;right:12px}#head .q input{background:#77000e;border:0;padding:10px 12px 10px 36px;font-size:14px;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;color:#fff;width:220px}#head .right .button,#page #content #hero .content{-webkit-background-clip:padding-box;-moz-background-clip:padding}#page #content #add .form table,#page #content #add .form table tr td:first-child,#page #content #projects table{width:100%}#head ul li{margin-left:30px}#head a{color:#e0808d;font-weight:700}#head a.active,#head a:hover{color:#fff}#head .right{float:right;margin-right:20px;line-height:64px;color:#e0808d}#head .right .button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#FFBB2A;color:#C1041C;padding:11px 20px}#title{border-bottom:3px solid #f3f4f8;white-space:nowrap;line-height:30px;margin-top:20px}#title .wrap{white-space:normal;border-bottom:3px solid #aaafbf;margin-bottom:-3px;padding-bottom:10px}#title .title{line-height:30px;margin-right:20px}#title .sub{font-size:16px;font-weight:700;margin-right:20px}#title .description{color:#b1b6c4}#title:after{display:block;clear:both;content:""}#page{padding-bottom:80px}#page #content{padding:20px 0;margin-top:20px;margin-bottom:40px}#page #content #hero{background:url(../img/highway.jpg) center;background-size:cover;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;margin-bottom:30px}#page #content #hero .content{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-clip:padding-box;color:#fff;padding:30px;background:rgba(0,0,0,.5);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}#page #content #hero .content h2{margin-bottom:20px;margin-left:140px}#page #content #hero .content p{font-size:18px;line-height:24px;margin-left:140px;text-align:justify;text-justify:inter-word}#page #content #hero .content .icon.direction{font-size:120px;float:left}#page #content #hero .content .cta{text-align:center;margin-top:10px}#page #content #hero .content .cta a{padding:11px 20px;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;display:inline-block;margin:0 4px}#page #content #hero .content .cta a.primary{font-weight:700;background:#C1041C;color:#fff}#page #content #hero .content .cta a.secondary{background:#fff;color:#C1041C}#page #content #add .form a,#page #content #add .form input{-webkit-background-clip:padding-box;-moz-background-clip:padding}#page #content #add h2,#page #content #add p a{color:#3e4457}#page #content #add p{color:#b1b6c4;margin-top:10px;line-height:20px;text-align:justify;text-justify:inter-word}#page #content #add .form{margin-top:20px}#page #content #add .form input{box-sizing:border-box;padding:10px;width:100%;-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;background-clip:padding-box;border:1px solid #dde1ed;border-right:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}#page #content #add .form a{margin-left:-2px;padding:11px 20px;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;font-weight:700;background:#C1041C;color:#fff}#page #content #projects{border:1px solid #cdcecf;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box}#page #content #projects h2{color:#3e4457}#page #content #projects .sort:not(.icon){float:right;line-height:30px}#page #content #projects table tr td{background:#fcfcfc;padding:20px 30px;border-bottom:1px solid #eaecf2}#page #content #projects table tr td .project{color:inherit}#page #content #projects table tr td .project .error{cursor:help;color:#C1041C}#page #content #projects table tr td a.project{font-weight:700}#page #content #projects table tr td .milestone .icon{font-size:10px;margin:0}#page #content #projects table tr td .progress{width:200px}#page #content #projects table tr td .progress .due,#page #content #projects table tr td .progress .percent{color:#9399ad;font-size:13px}#page #content #projects table tr td .progress .percent{float:right}#page #content #projects table tr td .progress .bar{-webkit-border-radius:4px;-webkit-background-clip:padding-box;-moz-border-radius:4px;-moz-background-clip:padding;border-radius:4px;background:#eaecf2;height:10px;width:100%}#page #content #projects table tr td .progress .bar.inner{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}#page #content #projects table tr td .progress .bar.red{background:#C1041C}#page #content #projects table tr td .progress .bar.green{background:#00b361}#page #content #projects table tr td .progress .due.red{color:#C1041C;font-weight:700}#page #content #projects table tr td:first-child{color:#3e4457}#page #content #projects table tr:nth-child(even) td{background:#fefefe}#page #content #projects table tr:last-child td{border:0}#page #content #projects table tr.done td{background:#ebf6f1}#page #content #projects table tr.done td .due,#page #content #projects table tr.done td .milestone,#page #content #projects table tr.done td .percent{color:#00b361}#page #content #projects .footer,#page #content #projects .header{padding:20px 30px}#page #content #projects .header{-webkit-box-shadow:0 1px 2px rgba(221,225,237,.5);-moz-box-shadow:0 1px 2px rgba(221,225,237,.5);box-shadow:0 1px 2px rgba(221,225,237,.5);margin-bottom:2px;border-bottom:1px solid #dde1ed}#page #content #projects .footer{background:#f9fafb;color:#aaafbf;-webkit-box-shadow:inset 0 1px 2px rgba(221,225,237,.2);-moz-box-shadow:inset 0 1px 2px rgba(221,225,237,.2);box-shadow:inset 0 1px 2px rgba(221,225,237,.2);border-top:1px solid #dde1ed;text-align:right}#page #content #projects .footer .icon{color:#aaafbf}#page #content .protip{border:1px solid #EFEFEF;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;padding:20px;margin:30px 0;color:#B1B6C4}#footer{position:absolute;width:100%;bottom:0;box-sizing:border-box;border-top:1px solid #f3f4f8;text-align:center;padding:30px} \ No newline at end of file diff --git a/public/css/app.bundle.css b/public/css/bundle.css similarity index 93% rename from public/css/app.bundle.css rename to public/css/bundle.css index 3aa0c18..c8fcafc 100644 --- a/public/css/app.bundle.css +++ b/public/css/bundle.css @@ -478,6 +478,46 @@ lesshat-selector { top: 100%; left: 0; } +.animTop-enter { + top: -68px; +} +.animTop-enter-active { + top: 0px; + -webkit-transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); +} +.animTop-leave { + top: 0px; +} +.animTop-leave-active { + top: -68px; + -webkit-transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); +} +.animCenter-enter { + top: 0%; +} +.animCenter-enter-active { + top: 50%; + -webkit-transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: top 2000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); +} +.animCenter-leave { + top: 50%; +} +.animCenter-leave-active { + top: 0%; + -webkit-transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -moz-transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + -o-transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); + transition: top 1000ms cubic-bezier(0.68, -0.55, 0.265, 1.55); +} html, body { margin: 0; @@ -497,6 +537,10 @@ a { text-decoration: none; color: #aaafbf; cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } h1, h2, @@ -518,13 +562,17 @@ ul li { } #notify { position: fixed; - top: -68px; z-index: 1; width: 100%; background: #fcfcfc; color: #aaafbf; border-top: 3px solid #aaafbf; border-bottom: 1px solid #f3f4f8; + cursor: default; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } #notify .close { float: right; @@ -537,7 +585,7 @@ ul li { display: block; } #notify.system { - top: 0%; + top: 50%; left: 50%; width: 500px; -webkit-transform: translateX(-50%) translateY(-50%); diff --git a/public/css/bundle.min.css b/public/css/bundle.min.css new file mode 100644 index 0000000..73d5b60 --- /dev/null +++ b/public/css/bundle.min.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}.icon,button,select{text-transform:none}#chart,sub,sup{position:relative}#chart svg .axis,#chart svg .axis line,#chart svg line.today{shape-rendering:crispEdges}#notify,button[disabled],html input[disabled]{cursor:default}#head #icon,.d3-tip,.icon{text-align:center}#page #content #add .form input,#page #content #hero .content{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}@font-face{font-family:MuseoSlab500Regular;src:url(../fonts/museo-slab-500.eot);src:url(../fonts/museo-slab-500.eot?#iefix) format('embedded-opentype'),url(../fonts/museo-slab-500.woff) format('woff'),url(../fonts/museo-slab-500.ttf) format('truetype'),url(../fonts/museo-slab-500.svg#MuseoSlab500Regular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:MuseoSans500Regular;src:url(../fonts/museo-sans-500.eot);src:url(../fonts/museo-sans-500.eot?#iefix) format('embedded-opentype'),url(../fonts/museo-sans-500.woff) format('woff'),url(../fonts/museo-sans-500.ttf) format('truetype'),url(../fonts/museo-sans-500.svg#MuseoSans500Regular) format('svg');font-weight:400;font-style:normal}@font-face{font-family:Fontello;src:url(../fonts/fontello.eot?74672344);src:url(../fonts/fontello.eot?74672344#iefix) format('embedded-opentype'),url(../fonts/fontello.woff?74672344) format('woff'),url(../fonts/fontello.ttf?74672344) format('truetype'),url(../fonts/fontello.svg?74672344#fontello) format('svg');font-weight:400;font-style:normal}.icon{vertical-align:middle;font-family:Fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;font-variant:normal}.icon[class*=' spin'],.icon[class^=spin]{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}lesshat-selector{-lh-property:0}@-webkit-keyframes spin{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{from{-moz-transform:rotate(0)}to{-moz-transform:rotate(360deg)}}@-o-keyframes spin{from{-o-transform:rotate(0)}to{-o-transform:rotate(360deg)}}@keyframes spin{from{-webkit-transform:rotate(0);-moz-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}#chart{height:300px}#chart #tooltip{position:absolute;top:0;left:0}#chart svg path.line{fill:none;stroke-width:1px;clip-path:url(#clip)}#chart svg path.line.actual{stroke:#64584c;stroke-width:3px}#chart svg path.line.ideal{stroke:#cacaca;stroke-width:3px}#chart svg path.line.trendline{stroke:#64584c;stroke-width:1.5px;stroke-dasharray:5,5}#chart svg line.today{stroke:#cacaca;stroke-width:1px;stroke-dasharray:5,5}#chart svg circle{fill:#64584c;stroke:transparent;stroke-width:15px;cursor:pointer}#chart svg .axis line{stroke:rgba(202,202,202,.25)}#chart svg .axis text{font-weight:700;fill:#cacaca}#chart svg .axis path{display:none}.d3-tip{margin-top:-10px;font-size:11px;padding:8px 10px 7px;background:rgba(0,0,0,.75);color:#fff;-webkit-border-radius:3px;-webkit-background-clip:padding-box;-moz-border-radius:3px;-moz-background-clip:padding;border-radius:3px;background-clip:padding-box}.d3-tip:after{width:100%;color:rgba(0,0,0,.8);content:"\25BC";position:absolute}#notify,a{color:#aaafbf}.d3-tip.n:after{margin:-3px 0 0;top:100%;left:0}h1,h2,h3,p,ul{margin:0}.animTop-enter{top:-68px}.animTop-enter-active{top:0;-webkit-transition:top 2s cubic-bezier(.68,-.55,.265,1.55);-moz-transition:top 2s cubic-bezier(.68,-.55,.265,1.55);-o-transition:top 2s cubic-bezier(.68,-.55,.265,1.55);transition:top 2s cubic-bezier(.68,-.55,.265,1.55)}.animTop-leave{top:0}.animTop-leave-active{top:-68px;-webkit-transition:top 1s cubic-bezier(.68,-.55,.265,1.55);-moz-transition:top 1s cubic-bezier(.68,-.55,.265,1.55);-o-transition:top 1s cubic-bezier(.68,-.55,.265,1.55);transition:top 1s cubic-bezier(.68,-.55,.265,1.55)}.animCenter-enter{top:0}.animCenter-enter-active{top:50%;-webkit-transition:top 2s cubic-bezier(.68,-.55,.265,1.55);-moz-transition:top 2s cubic-bezier(.68,-.55,.265,1.55);-o-transition:top 2s cubic-bezier(.68,-.55,.265,1.55);transition:top 2s cubic-bezier(.68,-.55,.265,1.55)}.animCenter-leave{top:50%}.animCenter-leave-active{top:0;-webkit-transition:top 1s cubic-bezier(.68,-.55,.265,1.55);-moz-transition:top 1s cubic-bezier(.68,-.55,.265,1.55);-o-transition:top 1s cubic-bezier(.68,-.55,.265,1.55);transition:top 1s cubic-bezier(.68,-.55,.265,1.55)}body,html{margin:0;padding:0;height:100%}body{color:#3e4457;font-family:MuseoSans500Regular,sans-serif}#footer,#page #content #add .form a,#page #content #add p,#page #content #hero .content .cta a,#page #content #hero .content p,#page #content #projects .footer,#page #content #projects .header a,#title .description{font-family:MuseoSlab500Regular,serif}#app{position:relative;height:auto!important;min-height:100%}a{text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ul{list-style-type:none;padding:0}ul li{display:inline-block}.wrap{width:800px;margin:0 auto}#notify{position:fixed;z-index:1;width:100%;background:#fcfcfc;border-top:3px solid #aaafbf;border-bottom:1px solid #f3f4f8;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#notify .close{float:right;font-size:16px;padding:22px;cursor:pointer}#notify .close:before{content:"\d7";display:block}#notify.system{top:50%;left:50%;width:500px;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}#notify.system p{padding-top:20px}#notify.good,#notify.ok,#notify.success{border-top-color:#00b361;color:#00b361}#notify.trouble,#notify.warn{border-top-color:#ea9712;color:#ea9712}#notify.alert,#notify.bad,#notify.fucked{border-top-color:#C1041C;color:#C1041C}#notify .icon,#notify p{display:block}#head #icon,#head .q,#head ul,#page #content #add .form a,#page #content #projects h2,#title .description,#title .title{display:inline-block}#notify .icon{font-size:26px;padding:18px;width:38px;float:left}#notify p{padding:22px 20px 20px 74px;text-align:justify}#head{background:#C1041C;height:64px}#head #icon{font-size:26px;padding:10px 0;line-height:44px;height:44px;width:74px;background:#77000e;color:#C1041C;margin:0}#head .q{position:relative;margin:13px 20px 0;vertical-align:top}#head .q .icon{position:absolute;color:#C1041C}#head .q .icon.search{top:8px;left:12px}#head .q .icon.down-open{top:8px;right:12px}#head .q input{background:#77000e;border:0;padding:10px 12px 10px 36px;font-size:14px;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;color:#fff;width:220px}#head .right .button,#page #content #hero .content{-webkit-background-clip:padding-box;-moz-background-clip:padding}#page #content #add .form table,#page #content #add .form table tr td:first-child,#page #content #projects table{width:100%}#head ul li{margin-left:30px}#head a{color:#e0808d;font-weight:700}#head a.active,#head a:hover{color:#fff}#head .right{float:right;margin-right:20px;line-height:64px;color:#e0808d}#head .right .button{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#FFBB2A;color:#C1041C;padding:11px 20px}#title{border-bottom:3px solid #f3f4f8;white-space:nowrap;line-height:30px;margin-top:20px}#title .wrap{white-space:normal;border-bottom:3px solid #aaafbf;margin-bottom:-3px;padding-bottom:10px}#title .title{line-height:30px;margin-right:20px}#title .sub{font-size:16px;font-weight:700;margin-right:20px}#title .description{color:#b1b6c4}#title:after{display:block;clear:both;content:""}#page{padding-bottom:80px}#page #content{padding:20px 0;margin-top:20px;margin-bottom:40px}#page #content #hero{background:url(../img/highway.jpg) center;background-size:cover;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;margin-bottom:30px}#page #content #hero .content{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background-clip:padding-box;color:#fff;padding:30px;background:rgba(0,0,0,.5);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}#page #content #hero .content h2{margin-bottom:20px;margin-left:140px}#page #content #hero .content p{font-size:18px;line-height:24px;margin-left:140px;text-align:justify;text-justify:inter-word}#page #content #hero .content .icon.direction{font-size:120px;float:left}#page #content #hero .content .cta{text-align:center;margin-top:10px}#page #content #hero .content .cta a{padding:11px 20px;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;display:inline-block;margin:0 4px}#page #content #hero .content .cta a.primary{font-weight:700;background:#C1041C;color:#fff}#page #content #hero .content .cta a.secondary{background:#fff;color:#C1041C}#page #content #add .form a,#page #content #add .form input{-webkit-background-clip:padding-box;-moz-background-clip:padding}#page #content #add h2,#page #content #add p a{color:#3e4457}#page #content #add p{color:#b1b6c4;margin-top:10px;line-height:20px;text-align:justify;text-justify:inter-word}#page #content #add .form{margin-top:20px}#page #content #add .form input{box-sizing:border-box;padding:10px;width:100%;-webkit-border-radius:2px 0 0 2px;-moz-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;background-clip:padding-box;border:1px solid #dde1ed;border-right:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}#page #content #add .form a{margin-left:-2px;padding:11px 20px;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;font-weight:700;background:#C1041C;color:#fff}#page #content #projects{border:1px solid #cdcecf;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box}#page #content #projects h2{color:#3e4457}#page #content #projects .sort:not(.icon){float:right;line-height:30px}#page #content #projects table tr td{background:#fcfcfc;padding:20px 30px;border-bottom:1px solid #eaecf2}#page #content #projects table tr td .project{color:inherit}#page #content #projects table tr td .project .error{cursor:help;color:#C1041C}#page #content #projects table tr td a.project{font-weight:700}#page #content #projects table tr td .milestone .icon{font-size:10px;margin:0}#page #content #projects table tr td .progress{width:200px}#page #content #projects table tr td .progress .due,#page #content #projects table tr td .progress .percent{color:#9399ad;font-size:13px}#page #content #projects table tr td .progress .percent{float:right}#page #content #projects table tr td .progress .bar{-webkit-border-radius:4px;-webkit-background-clip:padding-box;-moz-border-radius:4px;-moz-background-clip:padding;border-radius:4px;background:#eaecf2;height:10px;width:100%}#page #content #projects table tr td .progress .bar.inner{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.2);box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}#page #content #projects table tr td .progress .bar.red{background:#C1041C}#page #content #projects table tr td .progress .bar.green{background:#00b361}#page #content #projects table tr td .progress .due.red{color:#C1041C;font-weight:700}#page #content #projects table tr td:first-child{color:#3e4457}#page #content #projects table tr:nth-child(even) td{background:#fefefe}#page #content #projects table tr:last-child td{border:0}#page #content #projects table tr.done td{background:#ebf6f1}#page #content #projects table tr.done td .due,#page #content #projects table tr.done td .milestone,#page #content #projects table tr.done td .percent{color:#00b361}#page #content #projects .footer,#page #content #projects .header{padding:20px 30px}#page #content #projects .header{-webkit-box-shadow:0 1px 2px rgba(221,225,237,.5);-moz-box-shadow:0 1px 2px rgba(221,225,237,.5);box-shadow:0 1px 2px rgba(221,225,237,.5);margin-bottom:2px;border-bottom:1px solid #dde1ed}#page #content #projects .footer{background:#f9fafb;color:#aaafbf;-webkit-box-shadow:inset 0 1px 2px rgba(221,225,237,.2);-moz-box-shadow:inset 0 1px 2px rgba(221,225,237,.2);box-shadow:inset 0 1px 2px rgba(221,225,237,.2);border-top:1px solid #dde1ed;text-align:right}#page #content #projects .footer .icon{color:#aaafbf}#page #content .protip{border:1px solid #EFEFEF;-webkit-border-radius:2px;-webkit-background-clip:padding-box;-moz-border-radius:2px;-moz-background-clip:padding;border-radius:2px;background-clip:padding-box;padding:20px;margin:30px 0;color:#B1B6C4}#footer{position:absolute;width:100%;bottom:0;box-sizing:border-box;border-top:1px solid #f3f4f8;text-align:center;padding:30px} \ No newline at end of file diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 6fc399e..0000000 --- a/public/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/public/js/app.bundle.min.js b/public/js/app.bundle.min.js deleted file mode 100644 index 8e59dd9..0000000 --- a/public/js/app.bundle.min.js +++ /dev/null @@ -1,21 +0,0 @@ -!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g=0&&a.length%1===0}function k(a,b){for(var c=-1,d=a.length;++cd?d:null}):(c=P(a),b=c.length,function(){return d++,b>d?c[d]:null})}function r(a,b){return b=null==b?a.length-1:+b,function(){for(var c=Math.max(arguments.length-b,0),d=Array(c),e=0;c>e;e++)d[e]=arguments[e+b];switch(b){case 0:return a.call(this,d);case 1:return a.call(this,arguments[0],d)}}}function s(a){return function(b,c,d){return a(b,d)}}function t(a){return function(b,c,e){e=i(e||d),b=b||[];var f=q(b);if(0>=a)return e(null);var g=!1,j=0,k=!1;!function l(){if(g&&0>=j)return e(null);for(;a>j&&!k;){var d=f();if(null===d)return g=!0,void(0>=j&&e(null));j+=1,c(b[d],d,h(function(a){j-=1,a?(e(a),k=!0):l()}))}}()}}function u(a){return function(b,c,d){return a(K.eachOf,b,c,d)}}function v(a){return function(b,c,d,e){return a(t(c),b,d,e)}}function w(a){return function(b,c,d){return a(K.eachOfSeries,b,c,d)}}function x(a,b,c,e){e=i(e||d),b=b||[];var f=j(b)?[]:{};a(b,function(a,b,d){c(a,function(a,c){f[b]=c,d(a)})},function(a){e(a,f)})}function y(a,b,c,d){var e=[];a(b,function(a,b,d){c(a,function(c){c&&e.push({index:b,value:a}),d()})},function(){d(l(e.sort(function(a,b){return a.index-b.index}),function(a){return a.value}))})}function z(a,b,c,d){y(a,b,function(a,b){c(a,function(a){b(!a)})},d)}function A(a,b,c){return function(d,e,f,g){function h(){g&&g(c(!1,void 0))}function i(a,d,e){return g?void f(a,function(d){g&&b(d)&&(g(c(!0,a)),g=f=!1),e()}):e()}arguments.length>3?a(d,e,i,h):(g=f,f=e,a(d,i,h))}}function B(a,b){return b}function C(a,b,c){c=c||d;var e=j(b)?[]:{};a(b,function(a,b,c){a(r(function(a,d){d.length<=1&&(d=d[0]),e[b]=d,c(a)}))},function(a){c(a,e)})}function D(a,b,c,d){var e=[];a(b,function(a,b,d){c(a,function(a,b){e=e.concat(b||[]),d(a)})},function(a){d(a,e)})}function E(a,b,c){function e(a,b,c,e){if(null!=e&&"function"!=typeof e)throw new Error("task callback must be a function");return a.started=!0,N(b)||(b=[b]),0===b.length&&a.idle()?K.setImmediate(function(){a.drain()}):(k(b,function(b){var f={data:b,callback:e||d};c?a.tasks.unshift(f):a.tasks.push(f),a.tasks.length===a.concurrency&&a.saturated()}),void K.setImmediate(a.process))}function f(a,b){return function(){g-=1;var c=!1,d=arguments;k(b,function(a){k(i,function(b,d){b!==a||c||(i.splice(d,1),c=!0)}),a.callback.apply(a,d)}),a.tasks.length+g===0&&a.drain(),a.process()}}if(null==b)b=1;else if(0===b)throw new Error("Concurrency must not be zero");var g=0,i=[],j={tasks:[],concurrency:b,payload:c,saturated:d,empty:d,drain:d,started:!1,paused:!1,push:function(a,b){e(j,a,!1,b)},kill:function(){j.drain=d,j.tasks=[]},unshift:function(a,b){e(j,a,!0,b)},process:function(){for(;!j.paused&&g=b;b++)K.setImmediate(j.process)}}};return j}function F(a){return r(function(b,c){b.apply(null,c.concat([r(function(b,c){"object"==typeof console&&(b?console.error&&console.error(b):console[a]&&k(c,function(b){console[a](b)}))})]))})}function G(a){return function(b,c,d){a(m(b),c,d)}}function H(a){return r(function(b,c){var d=r(function(c){var d=this,e=c.pop();return a(b,function(a,b,e){a.apply(d,c.concat([e]))},e)});return c.length?d.apply(this,c):d})}function I(a){return r(function(b){var c=b.pop();b.push(function(){var a=arguments;d?K.setImmediate(function(){c.apply(null,a)}):c.apply(null,a)});var d=!0;a.apply(this,b),d=!1})}var J,K={},L="object"==typeof self&&self.self===self&&self||"object"==typeof c&&c.global===c&&c||this;null!=L&&(J=L.async),K.noConflict=function(){return L.async=J,K};var M=Object.prototype.toString,N=Array.isArray||function(a){return"[object Array]"===M.call(a)},O=function(a){var b=typeof a;return"function"===b||"object"===b&&!!a},P=Object.keys||function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},Q="function"==typeof setImmediate&&setImmediate,R=Q?function(a){Q(a)}:function(a){setTimeout(a,0)};"object"==typeof a&&"function"==typeof a.nextTick?K.nextTick=a.nextTick:K.nextTick=R,K.setImmediate=Q?R:K.nextTick,K.forEach=K.each=function(a,b,c){return K.eachOf(a,s(b),c)},K.forEachSeries=K.eachSeries=function(a,b,c){return K.eachOfSeries(a,s(b),c)},K.forEachLimit=K.eachLimit=function(a,b,c,d){return t(b)(a,s(c),d)},K.forEachOf=K.eachOf=function(a,b,c){function e(a){j--,a?c(a):null===f&&0>=j&&c(null)}c=i(c||d),a=a||[];for(var f,g=q(a),j=0;null!=(f=g());)j+=1,b(a[f],f,h(e));0===j&&c(null)},K.forEachOfSeries=K.eachOfSeries=function(a,b,c){function e(){var d=!0;return null===g?c(null):(b(a[g],g,h(function(a){if(a)c(a);else{if(g=f(),null===g)return c(null);d?K.setImmediate(e):e()}})),void(d=!1))}c=i(c||d),a=a||[];var f=q(a),g=f();e()},K.forEachOfLimit=K.eachOfLimit=function(a,b,c,d){t(b)(a,c,d)},K.map=u(x),K.mapSeries=w(x),K.mapLimit=v(x),K.inject=K.foldl=K.reduce=function(a,b,c,d){K.eachOfSeries(a,function(a,d,e){c(b,a,function(a,c){b=c,e(a)})},function(a){d(a,b)})},K.foldr=K.reduceRight=function(a,b,c,d){var f=l(a,e).reverse();K.reduce(f,b,c,d)},K.transform=function(a,b,c,d){3===arguments.length&&(d=c,c=b,b=N(a)?[]:{}),K.eachOf(a,function(a,d,e){c(b,a,d,e)},function(a){d(a,b)})},K.select=K.filter=u(y),K.selectLimit=K.filterLimit=v(y),K.selectSeries=K.filterSeries=w(y),K.reject=u(z),K.rejectLimit=v(z),K.rejectSeries=w(z),K.any=K.some=A(K.eachOf,f,e),K.someLimit=A(K.eachOfLimit,f,e),K.all=K.every=A(K.eachOf,g,g),K.everyLimit=A(K.eachOfLimit,g,g),K.detect=A(K.eachOf,e,B),K.detectSeries=A(K.eachOfSeries,e,B),K.detectLimit=A(K.eachOfLimit,e,B),K.sortBy=function(a,b,c){function d(a,b){var c=a.criteria,d=b.criteria;return d>c?-1:c>d?1:0}K.map(a,function(a,c){b(a,function(b,d){b?c(b):c(null,{value:a,criteria:d})})},function(a,b){return a?c(a):void c(null,l(b.sort(d),function(a){return a.value}))})},K.auto=function(a,b,c){function e(a){s.unshift(a)}function f(a){var b=p(s,a);b>=0&&s.splice(b,1)}function g(){j--,k(s.slice(0),function(a){a()})}"function"==typeof arguments[1]&&(c=b,b=null),c=i(c||d);var h=P(a),j=h.length;if(!j)return c(null);b||(b=j);var l={},m=0,q=!1,s=[];e(function(){j||c(null,l)}),k(h,function(d){function h(){return b>m&&n(t,function(a,b){return a&&l.hasOwnProperty(b)},!0)&&!l.hasOwnProperty(d)}function i(){h()&&(m++,f(i),k[k.length-1](s,l))}if(!q){for(var j,k=N(a[d])?a[d]:[a[d]],s=r(function(a,b){if(m--,b.length<=1&&(b=b[0]),a){var e={};o(l,function(a,b){e[b]=a}),e[d]=b,q=!0,c(a,e)}else l[d]=b,K.setImmediate(g)}),t=k.slice(0,k.length-1),u=t.length;u--;){if(!(j=a[t[u]]))throw new Error("Has nonexistent dependency in "+t.join(", "));if(N(j)&&p(j,d)>=0)throw new Error("Has cyclic dependencies")}h()?(m++,k[k.length-1](s,l)):e(i)}})},K.retry=function(a,b,c){function d(a,b){if("number"==typeof b)a.times=parseInt(b,10)||f;else{if("object"!=typeof b)throw new Error("Unsupported argument type for 'times': "+typeof b);a.times=parseInt(b.times,10)||f,a.interval=parseInt(b.interval,10)||g}}function e(a,b){function c(a,c){return function(d){a(function(a,b){d(!a||c,{err:a,result:b})},b)}}function d(a){return function(b){setTimeout(function(){b(null)},a)}}for(;i.times;){var e=!(i.times-=1);h.push(c(i.task,e)),!e&&i.interval>0&&h.push(d(i.interval))}K.series(h,function(b,c){c=c[c.length-1],(a||i.callback)(c.err,c.result)})}var f=5,g=0,h=[],i={times:f,interval:g},j=arguments.length;if(1>j||j>3)throw new Error("Invalid arguments - must be either (task), (task, callback), (times, task) or (times, task, callback)");return 2>=j&&"function"==typeof a&&(c=b,b=a),"function"!=typeof a&&d(i,a),i.callback=c,i.task=b,i.callback?e():e},K.waterfall=function(a,b){function c(a){return r(function(d,e){if(d)b.apply(null,[d].concat(e));else{var f=a.next();f?e.push(c(f)):e.push(b),I(a).apply(null,e)}})}if(b=i(b||d),!N(a)){var e=new Error("First argument to waterfall must be an array of functions");return b(e)}return a.length?void c(K.iterator(a))():b()},K.parallel=function(a,b){C(K.eachOf,a,b)},K.parallelLimit=function(a,b,c){C(t(b),a,c)},K.series=function(a,b){C(K.eachOfSeries,a,b)},K.iterator=function(a){function b(c){function d(){return a.length&&a[c].apply(null,arguments),d.next()}return d.next=function(){return cd;){var f=d+(e-d+1>>>1);c(b,a[f])>=0?d=f:e=f-1}return d}function f(a,b,f,g){if(null!=g&&"function"!=typeof g)throw new Error("task callback must be a function");return a.started=!0,N(b)||(b=[b]),0===b.length?K.setImmediate(function(){a.drain()}):void k(b,function(b){var h={data:b,priority:f,callback:"function"==typeof g?g:d};a.tasks.splice(e(a.tasks,h,c)+1,0,h),a.tasks.length===a.concurrency&&a.saturated(),K.setImmediate(a.process)})}var g=K.queue(a,b);return g.push=function(a,b,c){f(g,a,b,c)},delete g.unshift,g},K.cargo=function(a,b){return E(a,1,b)},K.log=F("log"),K.dir=F("dir"),K.memoize=function(a,b){var c={},d={},f=Object.prototype.hasOwnProperty;b=b||e;var g=r(function(e){var g=e.pop(),h=b.apply(null,e);f.call(c,h)?K.setImmediate(function(){g.apply(null,c[h])}):f.call(d,h)?d[h].push(g):(d[h]=[g],a.apply(null,e.concat([r(function(a){c[h]=a;var b=d[h];delete d[h];for(var e=0,f=b.length;f>e;e++)b[e].apply(null,a)})])))});return g.memo=c,g.unmemoized=a,g},K.unmemoize=function(a){return function(){return(a.unmemoized||a).apply(null,arguments)}},K.times=G(K.map),K.timesSeries=G(K.mapSeries),K.timesLimit=function(a,b,c,d){return K.mapLimit(m(a),b,c,d)},K.seq=function(){var a=arguments;return r(function(b){var c=this,e=b[b.length-1];"function"==typeof e?b.pop():e=d,K.reduce(a,b,function(a,b,d){b.apply(c,a.concat([r(function(a,b){d(a,b)})]))},function(a,b){e.apply(c,[a].concat(b))})})},K.compose=function(){return K.seq.apply(null,Array.prototype.reverse.call(arguments))},K.applyEach=H(K.eachOf),K.applyEachSeries=H(K.eachOfSeries),K.forever=function(a,b){function c(a){return a?e(a):void f(c)}var e=h(b||d),f=I(a);c()},K.ensureAsync=I,K.constant=r(function(a){var b=[null].concat(a);return function(a){return a.apply(this,b)}}),K.wrapSync=K.asyncify=function(a){return r(function(b){var c,d=b.pop();try{c=a.apply(this,b)}catch(e){return d(e)}O(c)&&"function"==typeof c.then?c.then(function(a){d(null,a)})["catch"](function(a){d(a.message?a:new Error(a))}):d(null,c)})},"object"==typeof b&&b.exports?b.exports=K:"function"==typeof define&&define.amd?define([],function(){return K}):L.async=K}()}).call(this,a("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:2}],2:[function(a,b,c){function d(){k=!1,h.length?j=h.concat(j):l=-1,j.length&&e()}function e(){if(!k){var a=setTimeout(d);k=!0;for(var b=j.length;b;){for(h=j,j=[];++l1)for(var c=1;ca?-1:a>b?1:a>=b?0:NaN}function e(a){return null===a?NaN:+a}function f(a){return!isNaN(a)}function g(a){return{left:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)<0?d=f+1:e=f}return d},right:function(b,c,d,e){for(arguments.length<3&&(d=0),arguments.length<4&&(e=b.length);e>d;){var f=d+e>>>1;a(b[f],c)>0?e=f:d=f+1}return d}}}function h(a){return a.length}function i(a){for(var b=1;a*b%1;)b*=10;return b}function j(a,b){for(var c in b)Object.defineProperty(a.prototype,c,{value:b[c],enumerable:!1})}function k(){this._=Object.create(null)}function l(a){return(a+="")===vg||a[0]===wg?wg+a:a}function m(a){return(a+="")[0]===wg?a.slice(1):a}function n(a){return l(a)in this._}function o(a){return(a=l(a))in this._&&delete this._[a]}function p(){var a=[];for(var b in this._)a.push(m(b));return a}function q(){var a=0;for(var b in this._)++a;return a}function r(){for(var a in this._)return!1;return!0}function s(){this._=Object.create(null)}function t(a){return a}function u(a,b,c){return function(){var d=c.apply(b,arguments);return d===b?a:d}}function v(a,b){if(b in a)return b;b=b.charAt(0).toUpperCase()+b.slice(1);for(var c=0,d=xg.length;d>c;++c){var e=xg[c]+b;if(e in a)return e}}function w(){}function x(){}function y(a){function b(){for(var b,d=c,e=-1,f=d.length;++ec;c++)for(var e,f=a[c],g=0,h=f.length;h>g;g++)(e=f[g])&&b(e,g,c);return a}function T(a){return zg(a,Fg),a}function U(a){var b,c;return function(d,e,f){var g,h=a[f].update,i=h.length;for(f!=c&&(c=f,b=0),e>=b&&(b=e+1);!(g=h[b])&&++b0&&(a=a.slice(0,h));var j=Gg.get(a);return j&&(a=j,i=X),h?b?e:d:b?w:f}function W(a,b){return function(c){var d=ig.event;ig.event=c,b[0]=this.__data__;try{a.apply(this,b)}finally{ig.event=d}}}function X(a,b){var c=W(a,b);return function(a){var b=this,d=a.relatedTarget;d&&(d===b||8&d.compareDocumentPosition(b))||c.call(b,a)}}function Y(b){var d=".dragsuppress-"+ ++Ig,e="click"+d,f=ig.select(c(b)).on("touchmove"+d,z).on("dragstart"+d,z).on("selectstart"+d,z);if(null==Hg&&(Hg="onselectstart"in b?!1:v(b.style,"userSelect")),Hg){var g=a(b).style,h=g[Hg];g[Hg]="none"}return function(a){if(f.on(d,null),Hg&&(g[Hg]=h),a){var b=function(){f.on(e,null)};f.on(e,function(){z(),b()},!0),setTimeout(b,0)}}}function Z(a,b){b.changedTouches&&(b=b.changedTouches[0]);var d=a.ownerSVGElement||a;if(d.createSVGPoint){var e=d.createSVGPoint();if(0>Jg){var f=c(a);if(f.scrollX||f.scrollY){d=ig.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var g=d[0][0].getScreenCTM();Jg=!(g.f||g.e),d.remove()}}return Jg?(e.x=b.pageX,e.y=b.pageY):(e.x=b.clientX,e.y=b.clientY),e=e.matrixTransform(a.getScreenCTM().inverse()),[e.x,e.y]}var h=a.getBoundingClientRect();return[b.clientX-h.left-a.clientLeft,b.clientY-h.top-a.clientTop]}function $(){return ig.event.changedTouches[0].identifier}function _(a){return a>0?1:0>a?-1:0}function aa(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function ba(a){return a>1?0:-1>a?Mg:Math.acos(a)}function ca(a){return a>1?Pg:-1>a?-Pg:Math.asin(a)}function da(a){return((a=Math.exp(a))-1/a)/2}function ea(a){return((a=Math.exp(a))+1/a)/2}function fa(a){return((a=Math.exp(2*a))-1)/(a+1)}function ga(a){return(a=Math.sin(a/2))*a}function ha(){}function ia(a,b,c){return this instanceof ia?(this.h=+a,this.s=+b,void(this.l=+c)):arguments.length<2?a instanceof ia?new ia(a.h,a.s,a.l):wa(""+a,xa,ia):new ia(a,b,c)}function ja(a,b,c){function d(a){return a>360?a-=360:0>a&&(a+=360),60>a?f+(g-f)*a/60:180>a?g:240>a?f+(g-f)*(240-a)/60:f}function e(a){return Math.round(255*d(a))}var f,g;return a=isNaN(a)?0:(a%=360)<0?a+360:a,b=isNaN(b)?0:0>b?0:b>1?1:b,c=0>c?0:c>1?1:c,g=.5>=c?c*(1+b):c+b-c*b,f=2*c-g,new sa(e(a+120),e(a),e(a-120))}function ka(a,b,c){return this instanceof ka?(this.h=+a,this.c=+b,void(this.l=+c)):arguments.length<2?a instanceof ka?new ka(a.h,a.c,a.l):a instanceof ma?oa(a.l,a.a,a.b):oa((a=ya((a=ig.rgb(a)).r,a.g,a.b)).l,a.a,a.b):new ka(a,b,c)}function la(a,b,c){return isNaN(a)&&(a=0),isNaN(b)&&(b=0),new ma(c,Math.cos(a*=Qg)*b,Math.sin(a)*b)}function ma(a,b,c){return this instanceof ma?(this.l=+a,this.a=+b,void(this.b=+c)):arguments.length<2?a instanceof ma?new ma(a.l,a.a,a.b):a instanceof ka?la(a.h,a.c,a.l):ya((a=sa(a)).r,a.g,a.b):new ma(a,b,c)}function na(a,b,c){var d=(a+16)/116,e=d+b/500,f=d-c/200;return e=pa(e)*_g,d=pa(d)*ah,f=pa(f)*bh,new sa(ra(3.2404542*e-1.5371385*d-.4985314*f),ra(-.969266*e+1.8760108*d+.041556*f),ra(.0556434*e-.2040259*d+1.0572252*f))}function oa(a,b,c){return a>0?new ka(Math.atan2(c,b)*Rg,Math.sqrt(b*b+c*c),a):new ka(NaN,NaN,a)}function pa(a){return a>.206893034?a*a*a:(a-4/29)/7.787037}function qa(a){return a>.008856?Math.pow(a,1/3):7.787037*a+4/29}function ra(a){return Math.round(255*(.00304>=a?12.92*a:1.055*Math.pow(a,1/2.4)-.055))}function sa(a,b,c){return this instanceof sa?(this.r=~~a,this.g=~~b,void(this.b=~~c)):arguments.length<2?a instanceof sa?new sa(a.r,a.g,a.b):wa(""+a,sa,ja):new sa(a,b,c)}function ta(a){return new sa(a>>16,a>>8&255,255&a)}function ua(a){return ta(a)+""}function va(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function wa(a,b,c){var d,e,f,g=0,h=0,i=0;if(d=/([a-z]+)\((.*)\)/.exec(a=a.toLowerCase()))switch(e=d[2].split(","),d[1]){case"hsl":return c(parseFloat(e[0]),parseFloat(e[1])/100,parseFloat(e[2])/100);case"rgb":return b(Aa(e[0]),Aa(e[1]),Aa(e[2]))}return(f=eh.get(a))?b(f.r,f.g,f.b):(null==a||"#"!==a.charAt(0)||isNaN(f=parseInt(a.slice(1),16))||(4===a.length?(g=(3840&f)>>4,g=g>>4|g,h=240&f,h=h>>4|h,i=15&f,i=i<<4|i):7===a.length&&(g=(16711680&f)>>16,h=(65280&f)>>8,i=255&f)),b(g,h,i))}function xa(a,b,c){var d,e,f=Math.min(a/=255,b/=255,c/=255),g=Math.max(a,b,c),h=g-f,i=(g+f)/2;return h?(e=.5>i?h/(g+f):h/(2-g-f),d=a==g?(b-c)/h+(c>b?6:0):b==g?(c-a)/h+2:(a-b)/h+4,d*=60):(d=NaN,e=i>0&&1>i?0:d),new ia(d,e,i)}function ya(a,b,c){a=za(a),b=za(b),c=za(c);var d=qa((.4124564*a+.3575761*b+.1804375*c)/_g),e=qa((.2126729*a+.7151522*b+.072175*c)/ah),f=qa((.0193339*a+.119192*b+.9503041*c)/bh);return ma(116*e-16,500*(d-e),200*(e-f))}function za(a){return(a/=255)<=.04045?a/12.92:Math.pow((a+.055)/1.055,2.4)}function Aa(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?Math.round(2.55*b):b}function Ba(a){return"function"==typeof a?a:function(){return a}}function Ca(a){return function(b,c,d){return 2===arguments.length&&"function"==typeof c&&(d=c,c=null),Da(b,c,a,d)}}function Da(a,b,c,d){function e(){var a,b=i.status;if(!b&&Fa(i)||b>=200&&300>b||304===b){try{a=c.call(f,i)}catch(d){return void g.error.call(f,d)}g.load.call(f,a)}else g.error.call(f,i)}var f={},g=ig.dispatch("beforesend","progress","load","error"),h={},i=new XMLHttpRequest,j=null;return!this.XDomainRequest||"withCredentials"in i||!/^(http(s)?:)?\/\//.test(a)||(i=new XDomainRequest),"onload"in i?i.onload=i.onerror=e:i.onreadystatechange=function(){i.readyState>3&&e()},i.onprogress=function(a){var b=ig.event;ig.event=a;try{g.progress.call(f,i)}finally{ig.event=b}},f.header=function(a,b){return a=(a+"").toLowerCase(),arguments.length<2?h[a]:(null==b?delete h[a]:h[a]=b+"",f)},f.mimeType=function(a){return arguments.length?(b=null==a?null:a+"",f):b},f.responseType=function(a){return arguments.length?(j=a,f):j},f.response=function(a){return c=a,f},["get","post"].forEach(function(a){f[a]=function(){return f.send.apply(f,[a].concat(kg(arguments)))}}),f.send=function(c,d,e){if(2===arguments.length&&"function"==typeof d&&(e=d,d=null),i.open(c,a,!0),null==b||"accept"in h||(h.accept=b+",*/*"),i.setRequestHeader)for(var k in h)i.setRequestHeader(k,h[k]);return null!=b&&i.overrideMimeType&&i.overrideMimeType(b),null!=j&&(i.responseType=j),null!=e&&f.on("error",e).on("load",function(a){e(null,a)}),g.beforesend.call(f,i),i.send(null==d?null:d),f},f.abort=function(){return i.abort(),f},ig.rebind(f,g,"on"),null==d?f:f.get(Ea(d))}function Ea(a){return 1===a.length?function(b,c){a(null==b?c:null)}:a}function Fa(a){var b=a.responseType;return b&&"text"!==b?a.response:a.responseText}function Ga(a,b,c){var d=arguments.length;2>d&&(b=0),3>d&&(c=Date.now());var e=c+b,f={c:a,t:e,n:null};return gh?gh.n=f:fh=f,gh=f,hh||(ih=clearTimeout(ih),hh=1,jh(Ha)),f}function Ha(){var a=Ia(),b=Ja()-a;b>24?(isFinite(b)&&(clearTimeout(ih),ih=setTimeout(Ha,b)),hh=0):(hh=1,jh(Ha))}function Ia(){for(var a=Date.now(),b=fh;b;)a>=b.t&&b.c(a-b.t)&&(b.c=null),b=b.n;return a}function Ja(){for(var a,b=fh,c=1/0;b;)b.c?(b.t8?function(a){return a/c}:function(a){return a*c},symbol:a}}function Ma(a){var b=a.decimal,c=a.thousands,d=a.grouping,e=a.currency,f=d&&c?function(a,b){for(var e=a.length,f=[],g=0,h=d[0],i=0;e>0&&h>0&&(i+h+1>b&&(h=Math.max(1,b-i)),f.push(a.substring(e-=h,e+h)),!((i+=h+1)>b));)h=d[g=(g+1)%d.length];return f.reverse().join(c)}:t;return function(a){var c=lh.exec(a),d=c[1]||" ",g=c[2]||">",h=c[3]||"-",i=c[4]||"",j=c[5],k=+c[6],l=c[7],m=c[8],n=c[9],o=1,p="",q="",r=!1,s=!0;switch(m&&(m=+m.substring(1)),(j||"0"===d&&"="===g)&&(j=d="0",g="="),n){case"n":l=!0,n="g";break;case"%":o=100,q="%",n="f";break;case"p":o=100,q="%",n="r";break;case"b":case"o":case"x":case"X":"#"===i&&(p="0"+n.toLowerCase());case"c":s=!1;case"d":r=!0,m=0;break;case"s":o=-1,n="r"}"$"===i&&(p=e[0],q=e[1]),"r"!=n||m||(n="g"),null!=m&&("g"==n?m=Math.max(1,Math.min(21,m)):("e"==n||"f"==n)&&(m=Math.max(0,Math.min(20,m)))),n=mh.get(n)||Na;var t=j&&l;return function(a){var c=q;if(r&&a%1)return"";var e=0>a||0===a&&0>1/a?(a=-a,"-"):"-"===h?"":h;if(0>o){var i=ig.formatPrefix(a,m);a=i.scale(a),c=i.symbol+q}else a*=o;a=n(a,m);var u,v,w=a.lastIndexOf(".");if(0>w){var x=s?a.lastIndexOf("e"):-1;0>x?(u=a,v=""):(u=a.substring(0,x),v=a.substring(x))}else u=a.substring(0,w),v=b+a.substring(w+1);!j&&l&&(u=f(u,1/0));var y=p.length+u.length+v.length+(t?0:e.length),z=k>y?new Array(y=k-y+1).join(d):"";return t&&(u=f(z+u,z.length?k-v.length:1/0)),e+=p,a=u+v,("<"===g?e+a+z:">"===g?z+e+a:"^"===g?z.substring(0,y>>=1)+e+a+z.substring(y):e+(t?a:z+a))+c}}}function Na(a){return a+""}function Oa(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Pa(a,b,c){function d(b){var c=a(b),d=f(c,1);return d-b>b-c?c:d}function e(c){return b(c=a(new oh(c-1)),1),c}function f(a,c){return b(a=new oh(+a),c),a}function g(a,d,f){var g=e(a),h=[];if(f>1)for(;d>g;)c(g)%f||h.push(new Date(+g)),b(g,1);else for(;d>g;)h.push(new Date(+g)),b(g,1);return h}function h(a,b,c){try{oh=Oa;var d=new Oa;return d._=a,g(d,b,c)}finally{oh=Date}}a.floor=a,a.round=d,a.ceil=e,a.offset=f,a.range=g;var i=a.utc=Qa(a);return i.floor=i,i.round=Qa(d),i.ceil=Qa(e),i.offset=Qa(f),i.range=h,a}function Qa(a){return function(b,c){try{oh=Oa;var d=new Oa;return d._=b,a(d,c)._}finally{oh=Date}}}function Ra(a){function b(a){function b(b){for(var c,e,f,g=[],h=-1,i=0;++hh;){if(d>=j)return-1;if(e=b.charCodeAt(h++),37===e){if(g=b.charAt(h++),f=D[g in qh?b.charAt(h++):g],!f||(d=f(a,c,d))<0)return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function d(a,b,c){w.lastIndex=0;var d=w.exec(b.slice(c));return d?(a.w=x.get(d[0].toLowerCase()),c+d[0].length):-1}function e(a,b,c){u.lastIndex=0;var d=u.exec(b.slice(c));return d?(a.w=v.get(d[0].toLowerCase()),c+d[0].length):-1}function f(a,b,c){A.lastIndex=0;var d=A.exec(b.slice(c));return d?(a.m=B.get(d[0].toLowerCase()),c+d[0].length):-1}function g(a,b,c){y.lastIndex=0;var d=y.exec(b.slice(c));return d?(a.m=z.get(d[0].toLowerCase()),c+d[0].length):-1}function h(a,b,d){return c(a,C.c.toString(),b,d)}function i(a,b,d){return c(a,C.x.toString(),b,d)}function j(a,b,d){return c(a,C.X.toString(),b,d)}function k(a,b,c){var d=t.get(b.slice(c,c+=2).toLowerCase());return null==d?-1:(a.p=d,c)}var l=a.dateTime,m=a.date,n=a.time,o=a.periods,p=a.days,q=a.shortDays,r=a.months,s=a.shortMonths;b.utc=function(a){function c(a){try{oh=Oa;var b=new oh;return b._=a,d(b)}finally{oh=Date}}var d=b(a);return c.parse=function(a){try{oh=Oa;var b=d.parse(a);return b&&b._}finally{oh=Date}},c.toString=d.toString,c},b.multi=b.utc.multi=jb;var t=ig.map(),u=Ta(p),v=Ua(p),w=Ta(q),x=Ua(q),y=Ta(r),z=Ua(r),A=Ta(s),B=Ua(s);o.forEach(function(a,b){t.set(a.toLowerCase(),b)});var C={a:function(a){return q[a.getDay()]},A:function(a){return p[a.getDay()]},b:function(a){return s[a.getMonth()]},B:function(a){return r[a.getMonth()]},c:b(l),d:function(a,b){return Sa(a.getDate(),b,2)},e:function(a,b){return Sa(a.getDate(),b,2)},H:function(a,b){return Sa(a.getHours(),b,2)},I:function(a,b){return Sa(a.getHours()%12||12,b,2)},j:function(a,b){return Sa(1+nh.dayOfYear(a),b,3)},L:function(a,b){return Sa(a.getMilliseconds(),b,3)},m:function(a,b){return Sa(a.getMonth()+1,b,2)},M:function(a,b){return Sa(a.getMinutes(),b,2)},p:function(a){return o[+(a.getHours()>=12)]},S:function(a,b){return Sa(a.getSeconds(),b,2)},U:function(a,b){return Sa(nh.sundayOfYear(a),b,2)},w:function(a){return a.getDay()},W:function(a,b){return Sa(nh.mondayOfYear(a),b,2)},x:b(m),X:b(n),y:function(a,b){return Sa(a.getFullYear()%100,b,2)},Y:function(a,b){return Sa(a.getFullYear()%1e4,b,4)},Z:hb,"%":function(){return"%"}},D={a:d,A:e,b:f,B:g,c:h,d:bb,e:bb,H:db,I:db,j:cb,L:gb,m:ab,M:eb,p:k,S:fb,U:Wa,w:Va,W:Xa,x:i,X:j,y:Za,Y:Ya,Z:$a,"%":ib};return b}function Sa(a,b,c){var d=0>a?"-":"",e=(d?-a:a)+"",f=e.length;return d+(c>f?new Array(c-f+1).join(b)+e:e)}function Ta(a){return new RegExp("^(?:"+a.map(ig.requote).join("|")+")","i")}function Ua(a){for(var b=new k,c=-1,d=a.length;++c68?1900:2e3)}function ab(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.m=d[0]-1,c+d[0].length):-1}function bb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.d=+d[0],c+d[0].length):-1}function cb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+3));return d?(a.j=+d[0],c+d[0].length):-1}function db(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.H=+d[0],c+d[0].length):-1}function eb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.M=+d[0],c+d[0].length):-1}function fb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+2));return d?(a.S=+d[0],c+d[0].length):-1}function gb(a,b,c){rh.lastIndex=0;var d=rh.exec(b.slice(c,c+3));return d?(a.L=+d[0],c+d[0].length):-1}function hb(a){var b=a.getTimezoneOffset(),c=b>0?"-":"+",d=ug(b)/60|0,e=ug(b)%60;return c+Sa(d,"0",2)+Sa(e,"0",2)}function ib(a,b,c){sh.lastIndex=0;var d=sh.exec(b.slice(c,c+1));return d?c+d[0].length:-1}function jb(a){for(var b=a.length,c=-1;++c=0?1:-1,h=g*c,i=Math.cos(b),j=Math.sin(b),k=f*j,l=e*i+k*Math.cos(h),m=k*g*Math.sin(h);yh.add(Math.atan2(m,l)),d=a,e=i,f=j}var b,c,d,e,f;zh.point=function(g,h){zh.point=a,d=(b=g)*Qg,e=Math.cos(h=(c=h)*Qg/2+Mg/4),f=Math.sin(h)},zh.lineEnd=function(){a(b,c)}}function qb(a){var b=a[0],c=a[1],d=Math.cos(c);return[d*Math.cos(b),d*Math.sin(b),Math.sin(c)]}function rb(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function sb(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function tb(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function ub(a,b){return[a[0]*b,a[1]*b,a[2]*b]}function vb(a){var b=Math.sqrt(a[0]*a[0]+a[1]*a[1]+a[2]*a[2]);a[0]/=b,a[1]/=b,a[2]/=b}function wb(a){return[Math.atan2(a[1],a[0]),ca(a[2])]}function xb(a,b){return ug(a[0]-b[0])h;++h)e.point((c=a[h])[0],c[1]);return void e.lineEnd()}var i=new Hb(c,a,null,!0),j=new Hb(c,null,i,!1);i.o=j,f.push(i),g.push(j),i=new Hb(d,a,null,!1),j=new Hb(d,null,i,!0),i.o=j,f.push(i),g.push(j)}}),g.sort(b),Gb(f),Gb(g),f.length){for(var h=0,i=c,j=g.length;j>h;++h)g[h].e=i=!i;for(var k,l,m=f[0];;){for(var n=m,o=!0;n.v;)if((n=n.n)===m)return;k=n.z,e.lineStart();do{if(n.v=n.o.v=!0,n.e){if(o)for(var h=0,j=k.length;j>h;++h)e.point((l=k[h])[0],l[1]);else d(n.x,n.n.x,1,e);n=n.n}else{if(o){k=n.p.z;for(var h=k.length-1;h>=0;--h)e.point((l=k[h])[0],l[1])}else d(n.x,n.p.x,-1,e);n=n.p}n=n.o,k=n.z,o=!o}while(!n.v);e.lineEnd()}}}function Gb(a){if(b=a.length){for(var b,c,d=0,e=a[0];++d0){for(v||(f.polygonStart(),v=!0),f.lineStart();++g1&&2&b&&c.push(c.pop().concat(c.shift())),n.push(c.filter(Jb))}var n,o,p,q=b(f),r=e.invert(d[0],d[1]),s={point:g,lineStart:i,lineEnd:j,polygonStart:function(){s.point=k,s.lineStart=l,s.lineEnd=m,n=[],o=[]},polygonEnd:function(){s.point=g,s.lineStart=i,s.lineEnd=j,n=ig.merge(n);var a=Pb(r,o);n.length?(v||(f.polygonStart(),v=!0),Fb(n,Lb,a,c,f)):a&&(v||(f.polygonStart(),v=!0),f.lineStart(),c(null,null,1,f),f.lineEnd()),v&&(f.polygonEnd(),v=!1),n=o=null},sphere:function(){f.polygonStart(),f.lineStart(),c(null,null,1,f),f.lineEnd(),f.polygonEnd()}},t=Kb(),u=b(t),v=!1;return s}}function Jb(a){return a.length>1}function Kb(){var a,b=[];return{lineStart:function(){b.push(a=[])},point:function(b,c){a.push([b,c])},lineEnd:w,buffer:function(){var c=b;return b=[],a=null,c},rejoin:function(){b.length>1&&b.push(b.pop().concat(b.shift()))}}}function Lb(a,b){return((a=a.x)[0]<0?a[1]-Pg-Kg:Pg-a[1])-((b=b.x)[0]<0?b[1]-Pg-Kg:Pg-b[1])}function Mb(a){var b,c=NaN,d=NaN,e=NaN;return{lineStart:function(){a.lineStart(),b=1},point:function(f,g){var h=f>0?Mg:-Mg,i=ug(f-c);ug(i-Mg)0?Pg:-Pg),a.point(e,d),a.lineEnd(),a.lineStart(),a.point(h,d),a.point(f,d),b=0):e!==h&&i>=Mg&&(ug(c-e)Kg?Math.atan((Math.sin(b)*(f=Math.cos(d))*Math.sin(c)-Math.sin(d)*(e=Math.cos(b))*Math.sin(a))/(e*f*g)):(b+d)/2}function Ob(a,b,c,d){var e;if(null==a)e=c*Pg,d.point(-Mg,e),d.point(0,e),d.point(Mg,e),d.point(Mg,0),d.point(Mg,-e),d.point(0,-e),d.point(-Mg,-e),d.point(-Mg,0),d.point(-Mg,e);else if(ug(a[0]-b[0])>Kg){var f=a[0]h;++h){var j=b[h],k=j.length;if(k)for(var l=j[0],m=l[0],n=l[1]/2+Mg/4,o=Math.sin(n),p=Math.cos(n),q=1;;){q===k&&(q=0),a=j[q];var r=a[0],s=a[1]/2+Mg/4,t=Math.sin(s),u=Math.cos(s),v=r-m,w=v>=0?1:-1,x=w*v,y=x>Mg,z=o*t;if(yh.add(Math.atan2(z*w*Math.sin(x),p*u+z*Math.cos(x))),f+=y?v+w*Ng:v,y^m>=c^r>=c){var A=sb(qb(l),qb(a));vb(A);var B=sb(e,A);vb(B);var C=(y^v>=0?-1:1)*ca(B[2]);(d>C||d===C&&(A[0]||A[1]))&&(g+=y^v>=0?1:-1)}if(!q++)break;m=r,o=t,p=u,l=a}}return(-Kg>f||Kg>f&&0>yh)^1&g}function Qb(a){function b(a,b){return Math.cos(a)*Math.cos(b)>f}function c(a){var c,f,i,j,k;return{lineStart:function(){j=i=!1,k=1},point:function(l,m){var n,o=[l,m],p=b(l,m),q=g?p?0:e(l,m):p?e(l+(0>l?Mg:-Mg),m):0;if(!c&&(j=i=p)&&a.lineStart(),p!==i&&(n=d(c,o),(xb(c,n)||xb(o,n))&&(o[0]+=Kg,o[1]+=Kg,p=b(o[0],o[1]))),p!==i)k=0,p?(a.lineStart(),n=d(o,c),a.point(n[0],n[1])):(n=d(c,o),a.point(n[0],n[1]),a.lineEnd()),c=n;else if(h&&c&&g^p){var r;q&f||!(r=d(o,c,!0))||(k=0,g?(a.lineStart(),a.point(r[0][0],r[0][1]),a.point(r[1][0],r[1][1]),a.lineEnd()):(a.point(r[1][0],r[1][1]),a.lineEnd(),a.lineStart(),a.point(r[0][0],r[0][1])))}!p||c&&xb(c,o)||a.point(o[0],o[1]),c=o,i=p,f=q},lineEnd:function(){i&&a.lineEnd(),c=null},clean:function(){return k|(j&&i)<<1}}}function d(a,b,c){var d=qb(a),e=qb(b),g=[1,0,0],h=sb(d,e),i=rb(h,h),j=h[0],k=i-j*j;if(!k)return!c&&a;var l=f*i/k,m=-f*j/k,n=sb(g,h),o=ub(g,l),p=ub(h,m);tb(o,p);var q=n,r=rb(o,q),s=rb(q,q),t=r*r-s*(rb(o,o)-1);if(!(0>t)){var u=Math.sqrt(t),v=ub(q,(-r-u)/s);if(tb(v,o),v=wb(v),!c)return v;var w,x=a[0],y=b[0],z=a[1],A=b[1];x>y&&(w=x,x=y,y=w);var B=y-x,C=ug(B-Mg)B;if(!C&&z>A&&(w=z,z=A,A=w),D?C?z+A>0^v[1]<(ug(v[0]-x)Mg^(x<=v[0]&&v[0]<=y)){var E=ub(q,(-r+u)/s);return tb(E,o),[v,wb(E)]}}}function e(b,c){var d=g?a:Mg-a,e=0;return-d>b?e|=1:b>d&&(e|=2),-d>c?e|=4:c>d&&(e|=8),e}var f=Math.cos(a),g=f>0,h=ug(f)>Kg,i=pc(a,6*Qg);return Ib(b,c,i,g?[0,-a]:[-Mg,a-Mg])}function Rb(a,b,c,d){return function(e){var f,g=e.a,h=e.b,i=g.x,j=g.y,k=h.x,l=h.y,m=0,n=1,o=k-i,p=l-j;if(f=a-i,o||!(f>0)){if(f/=o,0>o){if(m>f)return;n>f&&(n=f)}else if(o>0){if(f>n)return;f>m&&(m=f)}if(f=c-i,o||!(0>f)){if(f/=o,0>o){if(f>n)return;f>m&&(m=f)}else if(o>0){if(m>f)return;n>f&&(n=f)}if(f=b-j,p||!(f>0)){if(f/=p,0>p){if(m>f)return;n>f&&(n=f)}else if(p>0){if(f>n)return;f>m&&(m=f)}if(f=d-j,p||!(0>f)){if(f/=p,0>p){if(f>n)return;f>m&&(m=f)}else if(p>0){if(m>f)return;n>f&&(n=f)}return m>0&&(e.a={x:i+m*o,y:j+m*p}),1>n&&(e.b={x:i+n*o,y:j+n*p}),e}}}}}}function Sb(a,b,c,d){function e(d,e){return ug(d[0]-a)0?0:3:ug(d[0]-c)0?2:1:ug(d[1]-b)0?1:0:e>0?3:2}function f(a,b){return g(a.x,b.x)}function g(a,b){var c=e(a,1),d=e(b,1);return c!==d?c-d:0===c?b[1]-a[1]:1===c?a[0]-b[0]:2===c?a[1]-b[1]:b[0]-a[0]}return function(h){function i(a){for(var b=0,c=q.length,d=a[1],e=0;c>e;++e)for(var f,g=1,h=q[e],i=h.length,j=h[0];i>g;++g)f=h[g],j[1]<=d?f[1]>d&&aa(j,f,a)>0&&++b:f[1]<=d&&aa(j,f,a)<0&&--b,j=f;return 0!==b}function j(f,h,i,j){var k=0,l=0;if(null==f||(k=e(f,i))!==(l=e(h,i))||g(f,h)<0^i>0){do j.point(0===k||3===k?a:c,k>1?d:b);while((k=(k+i+4)%4)!==l)}else j.point(h[0],h[1])}function k(e,f){return e>=a&&c>=e&&f>=b&&d>=f}function l(a,b){k(a,b)&&h.point(a,b)}function m(){D.point=o,q&&q.push(r=[]),y=!0,x=!1,v=w=NaN}function n(){p&&(o(s,t),u&&x&&B.rejoin(),p.push(B.buffer())),D.point=l,x&&h.lineEnd()}function o(a,b){a=Math.max(-Nh,Math.min(Nh,a)),b=Math.max(-Nh,Math.min(Nh,b));var c=k(a,b);if(q&&r.push([a,b]),y)s=a,t=b,u=c,y=!1,c&&(h.lineStart(),h.point(a,b));else if(c&&x)h.point(a,b);else{var d={a:{x:v,y:w},b:{x:a,y:b}};C(d)?(x||(h.lineStart(),h.point(d.a.x,d.a.y)),h.point(d.b.x,d.b.y),c||h.lineEnd(),z=!1):c&&(h.lineStart(),h.point(a,b),z=!1)}v=a,w=b,x=c}var p,q,r,s,t,u,v,w,x,y,z,A=h,B=Kb(),C=Rb(a,b,c,d),D={point:l,lineStart:m,lineEnd:n,polygonStart:function(){h=B,p=[],q=[],z=!0},polygonEnd:function(){h=A,p=ig.merge(p);var b=i([a,d]),c=z&&b,e=p.length;(c||e)&&(h.polygonStart(),c&&(h.lineStart(),j(null,null,1,h),h.lineEnd()),e&&Fb(p,f,b,j,h),h.polygonEnd()),p=q=r=null}};return D}}function Tb(a){var b=0,c=Mg/3,d=hc(a),e=d(b,c);return e.parallels=function(a){return arguments.length?d(b=a[0]*Mg/180,c=a[1]*Mg/180):[b/Mg*180,c/Mg*180]},e}function Ub(a,b){function c(a,b){var c=Math.sqrt(f-2*e*Math.sin(b))/e;return[c*Math.sin(a*=e),g-c*Math.cos(a)]}var d=Math.sin(a),e=(d+Math.sin(b))/2,f=1+d*(2*e-d),g=Math.sqrt(f)/e;return c.invert=function(a,b){var c=g-b;return[Math.atan2(a,c)/e,ca((f-(a*a+c*c)*e*e)/(2*e))]},c}function Vb(){function a(a,b){Ph+=e*a-d*b,d=a,e=b}var b,c,d,e;Uh.point=function(f,g){Uh.point=a,b=d=f,c=e=g},Uh.lineEnd=function(){a(b,c)}}function Wb(a,b){Qh>a&&(Qh=a),a>Sh&&(Sh=a),Rh>b&&(Rh=b),b>Th&&(Th=b)}function Xb(){function a(a,b){g.push("M",a,",",b,f)}function b(a,b){g.push("M",a,",",b),h.point=c}function c(a,b){g.push("L",a,",",b)}function d(){h.point=a}function e(){g.push("Z")}var f=Yb(4.5),g=[],h={point:a,lineStart:function(){h.point=b},lineEnd:d,polygonStart:function(){h.lineEnd=e},polygonEnd:function(){h.lineEnd=d,h.point=a},pointRadius:function(a){return f=Yb(a),h},result:function(){if(g.length){var a=g.join("");return g=[],a}}};return h}function Yb(a){return"m0,"+a+"a"+a+","+a+" 0 1,1 0,"+-2*a+"a"+a+","+a+" 0 1,1 0,"+2*a+"z"}function Zb(a,b){Ch+=a,Dh+=b,++Eh}function $b(){function a(a,d){var e=a-b,f=d-c,g=Math.sqrt(e*e+f*f);Fh+=g*(b+a)/2,Gh+=g*(c+d)/2,Hh+=g,Zb(b=a,c=d)}var b,c;Wh.point=function(d,e){Wh.point=a,Zb(b=d,c=e)}}function _b(){Wh.point=Zb}function ac(){function a(a,b){var c=a-d,f=b-e,g=Math.sqrt(c*c+f*f);Fh+=g*(d+a)/2,Gh+=g*(e+b)/2,Hh+=g,g=e*a-d*b,Ih+=g*(d+a),Jh+=g*(e+b),Kh+=3*g,Zb(d=a,e=b)}var b,c,d,e;Wh.point=function(f,g){Wh.point=a,Zb(b=d=f,c=e=g)},Wh.lineEnd=function(){a(b,c)}}function bc(a){function b(b,c){a.moveTo(b+g,c),a.arc(b,c,g,0,Ng)}function c(b,c){a.moveTo(b,c),h.point=d}function d(b,c){a.lineTo(b,c)}function e(){h.point=b}function f(){a.closePath()}var g=4.5,h={point:b,lineStart:function(){h.point=c},lineEnd:e,polygonStart:function(){h.lineEnd=f},polygonEnd:function(){h.lineEnd=e,h.point=b},pointRadius:function(a){return g=a,h},result:w};return h}function cc(a){function b(a){return(h?d:c)(a)}function c(b){return fc(b,function(c,d){c=a(c,d),b.point(c[0],c[1])})}function d(b){function c(c,d){c=a(c,d),b.point(c[0],c[1])}function d(){t=NaN,y.point=f,b.lineStart()}function f(c,d){var f=qb([c,d]),g=a(c,d);e(t,u,s,v,w,x,t=g[0],u=g[1],s=c,v=f[0],w=f[1],x=f[2],h,b),b.point(t,u)}function g(){y.point=c,b.lineEnd()}function i(){d(),y.point=j,y.lineEnd=k}function j(a,b){f(l=a,m=b),n=t,o=u,p=v,q=w,r=x,y.point=f}function k(){e(t,u,s,v,w,x,n,o,l,p,q,r,h,b),y.lineEnd=g,g()}var l,m,n,o,p,q,r,s,t,u,v,w,x,y={point:c,lineStart:d,lineEnd:g,polygonStart:function(){b.polygonStart(),y.lineStart=i},polygonEnd:function(){b.polygonEnd(),y.lineStart=d}};return y}function e(b,c,d,h,i,j,k,l,m,n,o,p,q,r){var s=k-b,t=l-c,u=s*s+t*t;if(u>4*f&&q--){var v=h+n,w=i+o,x=j+p,y=Math.sqrt(v*v+w*w+x*x),z=Math.asin(x/=y),A=ug(ug(x)-1)f||ug((s*E+t*F)/u-.5)>.3||g>h*n+i*o+j*p)&&(e(b,c,d,h,i,j,C,D,A,v/=y,w/=y,x,q,r),r.point(C,D),e(C,D,A,v,w,x,k,l,m,n,o,p,q,r))}}var f=.5,g=Math.cos(30*Qg),h=16;return b.precision=function(a){return arguments.length?(h=(f=a*a)>0&&16,b):Math.sqrt(f)},b}function dc(a){var b=cc(function(b,c){return a([b*Rg,c*Rg])});return function(a){return ic(b(a))}}function ec(a){this.stream=a}function fc(a,b){return{point:b,sphere:function(){a.sphere()},lineStart:function(){a.lineStart()},lineEnd:function(){a.lineEnd()},polygonStart:function(){a.polygonStart()},polygonEnd:function(){a.polygonEnd()}}}function gc(a){return hc(function(){return a})()}function hc(a){function b(a){return a=h(a[0]*Qg,a[1]*Qg),[a[0]*m+i,j-a[1]*m]}function c(a){return a=h.invert((a[0]-i)/m,(j-a[1])/m),a&&[a[0]*Rg,a[1]*Rg]}function d(){h=Db(g=lc(r,s,u),f);var a=f(p,q);return i=n-a[0]*m,j=o+a[1]*m,e()}function e(){return k&&(k.valid=!1,k=null),b}var f,g,h,i,j,k,l=cc(function(a,b){return a=f(a,b),[a[0]*m+i,j-a[1]*m]}),m=150,n=480,o=250,p=0,q=0,r=0,s=0,u=0,v=Mh,w=t,x=null,y=null;return b.stream=function(a){return k&&(k.valid=!1),k=ic(v(g,l(w(a)))),k.valid=!0,k},b.clipAngle=function(a){return arguments.length?(v=null==a?(x=a,Mh):Qb((x=+a)*Qg),e()):x},b.clipExtent=function(a){return arguments.length?(y=a,w=a?Sb(a[0][0],a[0][1],a[1][0],a[1][1]):t,e()):y},b.scale=function(a){return arguments.length?(m=+a,d()):m},b.translate=function(a){return arguments.length?(n=+a[0],o=+a[1],d()):[n,o]},b.center=function(a){return arguments.length?(p=a[0]%360*Qg,q=a[1]%360*Qg,d()):[p*Rg,q*Rg]},b.rotate=function(a){return arguments.length?(r=a[0]%360*Qg,s=a[1]%360*Qg,u=a.length>2?a[2]%360*Qg:0,d()):[r*Rg,s*Rg,u*Rg]},ig.rebind(b,l,"precision"),function(){return f=a.apply(this,arguments),b.invert=f.invert&&c,d()}}function ic(a){return fc(a,function(b,c){a.point(b*Qg,c*Qg)})}function jc(a,b){return[a,b]}function kc(a,b){return[a>Mg?a-Ng:-Mg>a?a+Ng:a,b]}function lc(a,b,c){return a?b||c?Db(nc(a),oc(b,c)):nc(a):b||c?oc(b,c):kc}function mc(a){return function(b,c){return b+=a,[b>Mg?b-Ng:-Mg>b?b+Ng:b,c]}}function nc(a){var b=mc(a);return b.invert=mc(-a),b}function oc(a,b){function c(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*d+h*e;return[Math.atan2(i*f-k*g,h*d-j*e),ca(k*f+i*g)]}var d=Math.cos(a),e=Math.sin(a),f=Math.cos(b),g=Math.sin(b);return c.invert=function(a,b){var c=Math.cos(b),h=Math.cos(a)*c,i=Math.sin(a)*c,j=Math.sin(b),k=j*f-i*g;return[Math.atan2(i*f+j*g,h*d+k*e),ca(k*d-h*e)]},c}function pc(a,b){var c=Math.cos(a),d=Math.sin(a);return function(e,f,g,h){var i=g*b;null!=e?(e=qc(c,e),f=qc(c,f),(g>0?f>e:e>f)&&(e+=g*Ng)):(e=a+g*Ng,f=a-.5*i);for(var j,k=e;g>0?k>f:f>k;k-=i)h.point((j=wb([c,-d*Math.cos(k),-d*Math.sin(k)]))[0],j[1])}}function qc(a,b){var c=qb(b);c[0]-=a,vb(c);var d=ba(-c[1]);return((-c[2]<0?-d:d)+2*Math.PI-Kg)%(2*Math.PI)}function rc(a,b,c){var d=ig.range(a,b-Kg,c).concat(b);return function(a){return d.map(function(b){return[a,b]})}}function sc(a,b,c){var d=ig.range(a,b-Kg,c).concat(b);return function(a){return d.map(function(b){return[b,a]})}}function tc(a){return a.source}function uc(a){return a.target}function vc(a,b,c,d){var e=Math.cos(b),f=Math.sin(b),g=Math.cos(d),h=Math.sin(d),i=e*Math.cos(a),j=e*Math.sin(a),k=g*Math.cos(c),l=g*Math.sin(c),m=2*Math.asin(Math.sqrt(ga(d-b)+e*g*ga(c-a))),n=1/Math.sin(m),o=m?function(a){var b=Math.sin(a*=m)*n,c=Math.sin(m-a)*n,d=c*i+b*k,e=c*j+b*l,g=c*f+b*h;return[Math.atan2(e,d)*Rg,Math.atan2(g,Math.sqrt(d*d+e*e))*Rg]}:function(){return[a*Rg,b*Rg]};return o.distance=m,o}function wc(){function a(a,e){var f=Math.sin(e*=Qg),g=Math.cos(e),h=ug((a*=Qg)-b),i=Math.cos(h);Xh+=Math.atan2(Math.sqrt((h=g*Math.sin(h))*h+(h=d*f-c*g*i)*h),c*f+d*g*i),b=a,c=f,d=g}var b,c,d;Yh.point=function(e,f){b=e*Qg,c=Math.sin(f*=Qg),d=Math.cos(f),Yh.point=a},Yh.lineEnd=function(){Yh.point=Yh.lineEnd=w}}function xc(a,b){function c(b,c){var d=Math.cos(b),e=Math.cos(c),f=a(d*e);return[f*e*Math.sin(b),f*Math.sin(c)]}return c.invert=function(a,c){var d=Math.sqrt(a*a+c*c),e=b(d),f=Math.sin(e),g=Math.cos(e);return[Math.atan2(a*f,d*g),Math.asin(d&&c*f/d)]},c}function yc(a,b){function c(a,b){g>0?-Pg+Kg>b&&(b=-Pg+Kg):b>Pg-Kg&&(b=Pg-Kg);var c=g/Math.pow(e(b),f);return[c*Math.sin(f*a),g-c*Math.cos(f*a)]}var d=Math.cos(a),e=function(a){return Math.tan(Mg/4+a/2)},f=a===b?Math.sin(a):Math.log(d/Math.cos(b))/Math.log(e(b)/e(a)),g=d*Math.pow(e(a),f)/f;return f?(c.invert=function(a,b){var c=g-b,d=_(f)*Math.sqrt(a*a+c*c);return[Math.atan2(a,c)/f,2*Math.atan(Math.pow(g/d,1/f))-Pg]},c):Ac}function zc(a,b){function c(a,b){var c=f-b;return[c*Math.sin(e*a),f-c*Math.cos(e*a)]}var d=Math.cos(a),e=a===b?Math.sin(a):(d-Math.cos(b))/(b-a),f=d/e+a;return ug(e)e;e++){for(;d>1&&aa(a[c[d-2]],a[c[d-1]],a[e])<=0;)--d;c[d++]=e}return c.slice(0,d)}function Gc(a,b){return a[0]-b[0]||a[1]-b[1]}function Hc(a,b,c){return(c[0]-b[0])*(a[1]-b[1])<(c[1]-b[1])*(a[0]-b[0])}function Ic(a,b,c,d){var e=a[0],f=c[0],g=b[0]-e,h=d[0]-f,i=a[1],j=c[1],k=b[1]-i,l=d[1]-j,m=(h*(i-j)-l*(e-f))/(l*g-h*k);return[e+m*g,i+m*k]}function Jc(a){var b=a[0],c=a[a.length-1];return!(b[0]-c[0]||b[1]-c[1])}function Kc(){dd(this),this.edge=this.site=this.circle=null}function Lc(a){var b=ii.pop()||new Kc;return b.site=a,b}function Mc(a){Wc(a),fi.remove(a),ii.push(a),dd(a)}function Nc(a){var b=a.circle,c=b.x,d=b.cy,e={x:c,y:d},f=a.P,g=a.N,h=[a];Mc(a);for(var i=f;i.circle&&ug(c-i.circle.x)k;++k)j=h[k],i=h[k-1],ad(j.edge,i.site,j.site,e);i=h[0],j=h[l-1],j.edge=$c(i.site,j.site,null,e),Vc(i),Vc(j)}function Oc(a){for(var b,c,d,e,f=a.x,g=a.y,h=fi._;h;)if(d=Pc(h,g)-f,d>Kg)h=h.L;else{if(e=f-Qc(h,g),!(e>Kg)){d>-Kg?(b=h.P,c=h):e>-Kg?(b=h,c=h.N):b=c=h;break}if(!h.R){b=h;break}h=h.R}var i=Lc(a);if(fi.insert(b,i),b||c){if(b===c)return Wc(b),c=Lc(b.site),fi.insert(i,c),i.edge=c.edge=$c(b.site,i.site),Vc(b),void Vc(c);if(!c)return void(i.edge=$c(b.site,i.site));Wc(b),Wc(c);var j=b.site,k=j.x,l=j.y,m=a.x-k,n=a.y-l,o=c.site,p=o.x-k,q=o.y-l,r=2*(m*q-n*p),s=m*m+n*n,t=p*p+q*q,u={x:(q*s-n*t)/r+k,y:(m*t-p*s)/r+l};ad(c.edge,j,o,u),i.edge=$c(j,a,null,u),c.edge=$c(a,o,null,u),Vc(b),Vc(c)}}function Pc(a,b){var c=a.site,d=c.x,e=c.y,f=e-b;if(!f)return d;var g=a.P;if(!g)return-(1/0);c=g.site;var h=c.x,i=c.y,j=i-b;if(!j)return h;var k=h-d,l=1/f-1/j,m=k/j;return l?(-m+Math.sqrt(m*m-2*l*(k*k/(-2*j)-i+j/2+e-f/2)))/l+d:(d+h)/2}function Qc(a,b){var c=a.N;if(c)return Pc(c,b);var d=a.site;return d.y===b?d.x:1/0}function Rc(a){this.site=a,this.edges=[]}function Sc(a){for(var b,c,d,e,f,g,h,i,j,k,l=a[0][0],m=a[1][0],n=a[0][1],o=a[1][1],p=ei,q=p.length;q--;)if(f=p[q],f&&f.prepare())for(h=f.edges,i=h.length,g=0;i>g;)k=h[g].end(),d=k.x,e=k.y,j=h[++g%i].start(),b=j.x,c=j.y,(ug(d-b)>Kg||ug(e-c)>Kg)&&(h.splice(g,0,new bd(_c(f.site,k,ug(d-l)Kg?{x:l,y:ug(b-l)Kg?{x:ug(c-o)Kg?{x:m,y:ug(b-m)Kg?{x:ug(c-n)=-Lg)){var n=i*i+j*j,o=k*k+l*l,p=(l*n-j*o)/m,q=(i*o-k*n)/m,l=q+h,r=ji.pop()||new Uc;r.arc=a,r.site=e,r.x=p+g,r.y=l+Math.sqrt(p*p+q*q),r.cy=l,a.circle=r;for(var s=null,t=hi._;t;)if(r.yq||q>=h)return;if(m>o){if(f){if(f.y>=j)return}else f={x:q,y:i};c={x:q,y:j}}else{if(f){if(f.yd||d>1)if(m>o){if(f){if(f.y>=j)return}else f={x:(i-e)/d,y:i};c={x:(j-e)/d,y:j}}else{if(f){if(f.yn){if(f){if(f.x>=h)return}else f={x:g,y:d*g+e};c={x:h,y:d*h+e}}else{if(f){if(f.xf||l>g||d>m||e>n)){if(o=a.point){var o,p=b-a.x,q=c-a.y,r=p*p+q*q;if(i>r){var s=Math.sqrt(i=r);d=b-s,e=c-s,f=b+s,g=c+s,h=o}}for(var t=a.nodes,u=.5*(k+m),v=.5*(l+n),w=b>=u,x=c>=v,y=x<<1|w,z=y+4;z>y;++y)if(a=t[3&y])switch(3&y){case 0:j(a,k,l,u,v);break;case 1:j(a,u,l,m,v);break;case 2:j(a,k,v,u,n);break;case 3:j(a,u,v,m,n)}}}(a,d,e,f,g),h}function pd(a,b){a=ig.rgb(a),b=ig.rgb(b);var c=a.r,d=a.g,e=a.b,f=b.r-c,g=b.g-d,h=b.b-e;return function(a){return"#"+va(Math.round(c+f*a))+va(Math.round(d+g*a))+va(Math.round(e+h*a))}}function qd(a,b){var c,d={},e={};for(c in a)c in b?d[c]=td(a[c],b[c]):e[c]=a[c];for(c in b)c in a||(e[c]=b[c]);return function(a){for(c in d)e[c]=d[c](a);return e}}function rd(a,b){return a=+a,b=+b,function(c){return a*(1-c)+b*c}}function sd(a,b){var c,d,e,f=li.lastIndex=mi.lastIndex=0,g=-1,h=[],i=[];for(a+="",b+="";(c=li.exec(a))&&(d=mi.exec(b));)(e=d.index)>f&&(e=b.slice(f,e),h[g]?h[g]+=e:h[++g]=e),(c=c[0])===(d=d[0])?h[g]?h[g]+=d:h[++g]=d:(h[++g]=null,i.push({i:g,x:rd(c,d)})),f=mi.lastIndex;return fd;++d)h[(c=i[d]).i]=c.x(a);return h.join("")})}function td(a,b){for(var c,d=ig.interpolators.length;--d>=0&&!(c=ig.interpolators[d](a,b)););return c}function ud(a,b){var c,d=[],e=[],f=a.length,g=b.length,h=Math.min(a.length,b.length);for(c=0;h>c;++c)d.push(td(a[c],b[c]));for(;f>c;++c)e[c]=a[c];for(;g>c;++c)e[c]=b[c];return function(a){for(c=0;h>c;++c)e[c]=d[c](a);return e}}function vd(a){return function(b){return 0>=b?0:b>=1?1:a(b)}}function wd(a){return function(b){return 1-a(1-b)}}function xd(a){return function(b){return.5*(.5>b?a(2*b):2-a(2-2*b))}}function yd(a){return a*a}function zd(a){return a*a*a}function Ad(a){if(0>=a)return 0;if(a>=1)return 1;var b=a*a,c=b*a;return 4*(.5>a?c:3*(a-b)+c-.75)}function Bd(a){return function(b){return Math.pow(b,a)}}function Cd(a){return 1-Math.cos(a*Pg)}function Dd(a){return Math.pow(2,10*(a-1))}function Ed(a){return 1-Math.sqrt(1-a*a)}function Fd(a,b){var c;return arguments.length<2&&(b=.45),arguments.length?c=b/Ng*Math.asin(1/a):(a=1,c=b/4),function(d){return 1+a*Math.pow(2,-10*d)*Math.sin((d-c)*Ng/b)}}function Gd(a){return a||(a=1.70158),function(b){return b*b*((a+1)*b-a)}}function Hd(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}function Id(a,b){a=ig.hcl(a),b=ig.hcl(b);var c=a.h,d=a.c,e=a.l,f=b.h-c,g=b.c-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.c:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:-180>f&&(f+=360),function(a){return la(c+f*a,d+g*a,e+h*a)+""}}function Jd(a,b){a=ig.hsl(a),b=ig.hsl(b);var c=a.h,d=a.s,e=a.l,f=b.h-c,g=b.s-d,h=b.l-e;return isNaN(g)&&(g=0,d=isNaN(d)?b.s:d),isNaN(f)?(f=0,c=isNaN(c)?b.h:c):f>180?f-=360:-180>f&&(f+=360),function(a){return ja(c+f*a,d+g*a,e+h*a)+""}}function Kd(a,b){a=ig.lab(a),b=ig.lab(b);var c=a.l,d=a.a,e=a.b,f=b.l-c,g=b.a-d,h=b.b-e;return function(a){return na(c+f*a,d+g*a,e+h*a)+""}}function Ld(a,b){return b-=a,function(c){return Math.round(a+b*c)}}function Md(a){var b=[a.a,a.b],c=[a.c,a.d],d=Od(b),e=Nd(b,c),f=Od(Pd(c,b,-e))||0;b[0]*c[1]180?b+=360:b-a>180&&(a+=360),d.push({i:c.push(Qd(c)+"rotate(",null,")")-2,x:rd(a,b)})):b&&c.push(Qd(c)+"rotate("+b+")")}function Td(a,b,c,d){a!==b?d.push({i:c.push(Qd(c)+"skewX(",null,")")-2,x:rd(a,b)}):b&&c.push(Qd(c)+"skewX("+b+")")}function Ud(a,b,c,d){if(a[0]!==b[0]||a[1]!==b[1]){var e=c.push(Qd(c)+"scale(",null,",",null,")");d.push({i:e-4,x:rd(a[0],b[0])},{i:e-2,x:rd(a[1],b[1])})}else(1!==b[0]||1!==b[1])&&c.push(Qd(c)+"scale("+b+")")}function Vd(a,b){var c=[],d=[];return a=ig.transform(a),b=ig.transform(b),Rd(a.translate,b.translate,c,d),Sd(a.rotate,b.rotate,c,d),Td(a.skew,b.skew,c,d),Ud(a.scale,b.scale,c,d),a=b=null,function(a){for(var b,e=-1,f=d.length;++e=0;)c.push(e[d])}function ge(a,b){for(var c=[a],d=[];null!=(a=c.pop());)if(d.push(a),(f=a.children)&&(e=f.length))for(var e,f,g=-1;++gc;++c)(b=a[c][1])>e&&(d=c,e=b);return d}function re(a){return a.reduce(se,0)}function se(a,b){return a+b[1]}function te(a,b){return ue(a,Math.ceil(Math.log(b.length)/Math.LN2+1))}function ue(a,b){for(var c=-1,d=+a[0],e=(a[1]-d)/b,f=[];++c<=b;)f[c]=e*c+d;return f}function ve(a){return[ig.min(a),ig.max(a)]}function we(a,b){return a.value-b.value}function xe(a,b){var c=a._pack_next;a._pack_next=b,b._pack_prev=a,b._pack_next=c,c._pack_prev=b}function ye(a,b){a._pack_next=b,b._pack_prev=a}function ze(a,b){var c=b.x-a.x,d=b.y-a.y,e=a.r+b.r;return.999*e*e>c*c+d*d}function Ae(a){function b(a){k=Math.min(a.x-a.r,k),l=Math.max(a.x+a.r,l),m=Math.min(a.y-a.r,m),n=Math.max(a.y+a.r,n)}if((c=a.children)&&(j=c.length)){var c,d,e,f,g,h,i,j,k=1/0,l=-(1/0),m=1/0,n=-(1/0);if(c.forEach(Be),d=c[0],d.x=-d.r,d.y=0,b(d),j>1&&(e=c[1],e.x=e.r,e.y=0,b(e),j>2))for(f=c[2],Ee(d,e,f),b(f),xe(d,f),d._pack_prev=f,xe(f,e),e=d._pack_next,g=3;j>g;g++){Ee(d,e,f=c[g]);var o=0,p=1,q=1;for(h=e._pack_next;h!==e;h=h._pack_next,p++)if(ze(h,f)){o=1;break}if(1==o)for(i=d._pack_prev;i!==h._pack_prev&&!ze(i,f);i=i._pack_prev,q++);o?(q>p||p==q&&e.rg;g++)f=c[g],f.x-=r,f.y-=s,t=Math.max(t,f.r+Math.sqrt(f.x*f.x+f.y*f.y));a.r=t,c.forEach(Ce)}}function Be(a){a._pack_next=a._pack_prev=a}function Ce(a){delete a._pack_next,delete a._pack_prev}function De(a,b,c,d){var e=a.children;if(a.x=b+=d*a.x,a.y=c+=d*a.y,a.r*=d,e)for(var f=-1,g=e.length;++f=0;)b=e[f],b.z+=c,b.m+=c,c+=b.s+(d+=b.c)}function Ke(a,b,c){return a.a.parent===b.parent?a.a:c}function Le(a){return 1+ig.max(a,function(a){return a.y})}function Me(a){return a.reduce(function(a,b){return a+b.x},0)/a.length}function Ne(a){var b=a.children;return b&&b.length?Ne(b[0]):a}function Oe(a){var b,c=a.children;return c&&(b=c.length)?Oe(c[b-1]):a}function Pe(a){return{x:a.x,y:a.y,dx:a.dx,dy:a.dy}}function Qe(a,b){var c=a.x+b[3],d=a.y+b[0],e=a.dx-b[1]-b[3],f=a.dy-b[0]-b[2];return 0>e&&(c+=e/2,e=0),0>f&&(d+=f/2,f=0),{x:c,y:d,dx:e,dy:f}}function Re(a){var b=a[0],c=a[a.length-1];return c>b?[b,c]:[c,b]}function Se(a){return a.rangeExtent?a.rangeExtent():Re(a.range())}function Te(a,b,c,d){var e=c(a[0],a[1]),f=d(b[0],b[1]);return function(a){return f(e(a))}}function Ue(a,b){var c,d=0,e=a.length-1,f=a[d],g=a[e];return f>g&&(c=d,d=e,e=c,c=f,f=g,g=c),a[d]=b.floor(f),a[e]=b.ceil(g),a}function Ve(a){return a?{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}:xi}function We(a,b,c,d){var e=[],f=[],g=0,h=Math.min(a.length,b.length)-1;for(a[h]2?We:Te,i=d?Xd:Wd;return g=e(a,b,i,c),h=e(b,a,i,td),f}function f(a){return g(a)}var g,h;return f.invert=function(a){return h(a)},f.domain=function(b){return arguments.length?(a=b.map(Number),e()):a},f.range=function(a){return arguments.length?(b=a,e()):b},f.rangeRound=function(a){return f.range(a).interpolate(Ld)},f.clamp=function(a){return arguments.length?(d=a,e()):d},f.interpolate=function(a){return arguments.length?(c=a,e()):c},f.ticks=function(b){return _e(a,b)},f.tickFormat=function(b,c){return af(a,b,c)},f.nice=function(b){return Ze(a,b),e()},f.copy=function(){return Xe(a,b,c,d)},e()}function Ye(a,b){return ig.rebind(a,b,"range","rangeRound","interpolate","clamp")}function Ze(a,b){return Ue(a,Ve($e(a,b)[2])),Ue(a,Ve($e(a,b)[2])),a}function $e(a,b){null==b&&(b=10);var c=Re(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),f=b/d*e;return.15>=f?e*=10:.35>=f?e*=5:.75>=f&&(e*=2),c[0]=Math.ceil(c[0]/e)*e,c[1]=Math.floor(c[1]/e)*e+.5*e,c[2]=e,c}function _e(a,b){return ig.range.apply(ig,$e(a,b))}function af(a,b,c){var d=$e(a,b);if(c){var e=lh.exec(c);if(e.shift(),"s"===e[8]){var f=ig.formatPrefix(Math.max(ug(d[0]),ug(d[1])));return e[7]||(e[7]="."+bf(f.scale(d[2]))),e[8]="f",c=ig.format(e.join("")),function(a){return c(f.scale(a))+f.symbol}}e[7]||(e[7]="."+cf(e[8],d)),c=e.join("")}else c=",."+bf(d[2])+"f";return ig.format(c)}function bf(a){return-Math.floor(Math.log(a)/Math.LN10+.01)}function cf(a,b){var c=bf(b[2]);return a in yi?Math.abs(c-bf(Math.max(ug(b[0]),ug(b[1]))))+ +("e"!==a):c-2*("%"===a)}function df(a,b,c,d){function e(a){return(c?Math.log(0>a?0:a):-Math.log(a>0?0:-a))/Math.log(b)}function f(a){return c?Math.pow(b,a):-Math.pow(b,-a)}function g(b){return a(e(b))}return g.invert=function(b){return f(a.invert(b))},g.domain=function(b){return arguments.length?(c=b[0]>=0,a.domain((d=b.map(Number)).map(e)),g):d},g.base=function(c){return arguments.length?(b=+c,a.domain(d.map(e)),g):b},g.nice=function(){var b=Ue(d.map(e),c?Math:Ai);return a.domain(b),d=b.map(f),g},g.ticks=function(){var a=Re(d),g=[],h=a[0],i=a[1],j=Math.floor(e(h)),k=Math.ceil(e(i)),l=b%1?2:b;if(isFinite(k-j)){if(c){for(;k>j;j++)for(var m=1;l>m;m++)g.push(f(j)*m);g.push(f(j))}else for(g.push(f(j));j++0;m--)g.push(f(j)*m);for(j=0;g[j]i;k--);g=g.slice(j,k)}return g},g.tickFormat=function(a,c){if(!arguments.length)return zi;arguments.length<2?c=zi:"function"!=typeof c&&(c=ig.format(c));var d=Math.max(1,b*a/g.ticks().length);return function(a){var g=a/f(Math.round(e(a)));return b-.5>g*b&&(g*=b),d>=g?c(a):""}},g.copy=function(){return df(a.copy(),b,c,d)},Ye(g,a)}function ef(a,b,c){function d(b){return a(e(b))}var e=ff(b),f=ff(1/b);return d.invert=function(b){return f(a.invert(b))},d.domain=function(b){return arguments.length?(a.domain((c=b.map(Number)).map(e)),d):c},d.ticks=function(a){return _e(c,a)},d.tickFormat=function(a,b){return af(c,a,b)},d.nice=function(a){return d.domain(Ze(c,a))},d.exponent=function(g){return arguments.length?(e=ff(b=g),f=ff(1/b),a.domain(c.map(e)),d):b},d.copy=function(){return ef(a.copy(),b,c)},Ye(d,a)}function ff(a){return function(b){return 0>b?-Math.pow(-b,a):Math.pow(b,a)}}function gf(a,b){function c(c){return f[((e.get(c)||("range"===b.t?e.set(c,a.push(c)):NaN))-1)%f.length]}function d(b,c){return ig.range(a.length).map(function(a){return b+c*a})}var e,f,g;return c.domain=function(d){if(!arguments.length)return a;a=[],e=new k;for(var f,g=-1,h=d.length;++gc?[NaN,NaN]:[c>0?h[c-1]:a[0],cb?NaN:b/f+a,[b,b+1/f]},d.copy=function(){return jf(a,b,c)},e()}function kf(a,b){function c(c){return c>=c?b[ig.bisect(a,c)]:void 0}return c.domain=function(b){return arguments.length?(a=b,c):a},c.range=function(a){return arguments.length?(b=a,c):b},c.invertExtent=function(c){return c=b.indexOf(c),[a[c-1],a[c]]},c.copy=function(){return kf(a,b)},c}function lf(a){function b(a){return+a}return b.invert=b,b.domain=b.range=function(c){return arguments.length?(a=c.map(b),b):a},b.ticks=function(b){return _e(a,b)},b.tickFormat=function(b,c){return af(a,b,c)},b.copy=function(){return lf(a)},b}function mf(){return 0}function nf(a){return a.innerRadius}function of(a){return a.outerRadius}function pf(a){return a.startAngle}function qf(a){return a.endAngle}function rf(a){return a&&a.padAngle}function sf(a,b,c,d){return(a-c)*b-(b-d)*a>0?0:1}function tf(a,b,c,d,e){var f=a[0]-b[0],g=a[1]-b[1],h=(e?d:-d)/Math.sqrt(f*f+g*g),i=h*g,j=-h*f,k=a[0]+i,l=a[1]+j,m=b[0]+i,n=b[1]+j,o=(k+m)/2,p=(l+n)/2,q=m-k,r=n-l,s=q*q+r*r,t=c-d,u=k*n-m*l,v=(0>r?-1:1)*Math.sqrt(Math.max(0,t*t*s-u*u)),w=(u*r-q*v)/s,x=(-u*q-r*v)/s,y=(u*r+q*v)/s,z=(-u*q+r*v)/s,A=w-o,B=x-p,C=y-o,D=z-p;return A*A+B*B>C*C+D*D&&(w=y,x=z),[[w-i,x-j],[w*c/t,x*c/t]]}function uf(a){function b(b){function g(){j.push("M",f(a(k),h))}for(var i,j=[],k=[],l=-1,m=b.length,n=Ba(c),o=Ba(d);++l1?a.join("L"):a+"Z"}function wf(a){return a.join("L")+"Z"}function xf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b1&&e.push("H",d[0]),e.join("")}function yf(a){for(var b=0,c=a.length,d=a[0],e=[d[0],",",d[1]];++b1){h=b[1],f=a[i],i++,d+="C"+(e[0]+g[0])+","+(e[1]+g[1])+","+(f[0]-h[0])+","+(f[1]-h[1])+","+f[0]+","+f[1];for(var j=2;j9&&(e=3*b/Math.sqrt(e),g[h]=e*c,g[h+1]=e*d));for(h=-1;++h<=i;)e=(a[Math.min(i,h+1)][0]-a[Math.max(0,h-1)][0])/(6*(1+g[h]*g[h])),f.push([e||0,g[h]*e||0]);return f}function Of(a){return a.length<3?vf(a):a[0]+Df(a,Nf(a))}function Pf(a){for(var b,c,d,e=-1,f=a.length;++e=b?g(a-b):void(j.c=g)}function g(c){var e=o.active,f=o[e];f&&(f.timer.c=null,f.timer.t=NaN,--o.count,delete o[e],f.event&&f.event.interrupt.call(a,a.__data__,f.index));for(var g in o)if(d>+g){var k=o[g];k.timer.c=null,k.timer.t=NaN,--o.count,delete o[g]}j.c=h,Ga(function(){return j.c&&h(c||1)&&(j.c=null,j.t=NaN),1},0,i),o.active=d,p.event&&p.event.start.call(a,a.__data__,b),n=[],p.tween.forEach(function(c,d){(d=d.call(a,a.__data__,b))&&n.push(d)}),m=p.ease,l=p.duration}function h(e){for(var f=e/l,g=m(f),h=n.length;h>0;)n[--h].call(a,g);return f>=1?(p.event&&p.event.end.call(a,a.__data__,b),--o.count?delete o[d]:delete a[c],1):void 0}var i,j,l,m,n,o=a[c]||(a[c]={active:0,count:0}),p=o[d];p||(i=e.time,j=Ga(f,0,i),p=o[d]={tween:new k,time:i,timer:j,delay:e.delay,duration:e.duration,ease:e.ease,index:b},e=null,++o.count)}function bg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate("+(isFinite(d)?d:c(a))+",0)"})}function cg(a,b,c){a.attr("transform",function(a){var d=b(a);return"translate(0,"+(isFinite(d)?d:c(a))+")"})}function dg(a){return a.toISOString()}function eg(a,b,c){function d(b){return a(b)}function e(a,c){var d=a[1]-a[0],e=d/c,f=ig.bisect(Zi,e);return f==Zi.length?[b.year,$e(a.map(function(a){return a/31536e6}),c)[2]]:f?b[e/Zi[f-1]1?{floor:function(b){for(;c(b=a.floor(b));)b=fg(b-1);return b},ceil:function(b){for(;c(b=a.ceil(b));)b=fg(+b+1);return b}}:a))},d.ticks=function(a,b){var c=Re(d.domain()),f=null==a?e(c,10):"number"==typeof a?e(c,a):!a.range&&[{range:a},b];return f&&(a=f[0],b=f[1]),a.range(c[0],fg(+c[1]+1),1>b?1:b)},d.tickFormat=function(){return c},d.copy=function(){return eg(a.copy(),b,c)},Ye(d,a)}function fg(a){return new Date(a)}function gg(a){return JSON.parse(a.responseText)}function hg(a){var b=lg.createRange();return b.selectNode(lg.body),b.createContextualFragment(a.responseText)}var ig={version:"3.5.12"},jg=[].slice,kg=function(a){return jg.call(a)},lg=this.document;if(lg)try{kg(lg.documentElement.childNodes)[0].nodeType}catch(mg){kg=function(a){for(var b=a.length,c=new Array(b);b--;)c[b]=a[b];return c}}if(Date.now||(Date.now=function(){return+new Date}),lg)try{lg.createElement("DIV").style.setProperty("opacity",0,"")}catch(ng){var og=this.Element.prototype,pg=og.setAttribute,qg=og.setAttributeNS,rg=this.CSSStyleDeclaration.prototype,sg=rg.setProperty;og.setAttribute=function(a,b){pg.call(this,a,b+"")},og.setAttributeNS=function(a,b,c){qg.call(this,a,b,c+"")},rg.setProperty=function(a,b,c){sg.call(this,a,b+"",c)}}ig.ascending=d,ig.descending=function(a,b){return a>b?-1:b>a?1:b>=a?0:NaN},ig.min=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e=d){c=d;break}for(;++ed&&(c=d)}else{for(;++e=d){c=d;break}for(;++ed&&(c=d)}return c},ig.max=function(a,b){var c,d,e=-1,f=a.length;if(1===arguments.length){for(;++e=d){c=d;break}for(;++ec&&(c=d)}else{for(;++e=d){c=d;break}for(;++ec&&(c=d)}return c},ig.extent=function(a,b){var c,d,e,f=-1,g=a.length;if(1===arguments.length){for(;++f=d){c=e=d;break}for(;++fd&&(c=d),d>e&&(e=d))}else{for(;++f=d){c=e=d;break}for(;++fd&&(c=d),d>e&&(e=d))}return[c,e]},ig.sum=function(a,b){var c,d=0,e=a.length,g=-1;if(1===arguments.length)for(;++g1?i/(k-1):void 0},ig.deviation=function(){var a=ig.variance.apply(this,arguments);return a?Math.sqrt(a):a};var tg=g(d);ig.bisectLeft=tg.left,ig.bisect=ig.bisectRight=tg.right,ig.bisector=function(a){return g(1===a.length?function(b,c){return d(a(b),c)}:a)},ig.shuffle=function(a,b,c){(f=arguments.length)<3&&(c=a.length,2>f&&(b=0));for(var d,e,f=c-b;f;)e=Math.random()*f--|0,d=a[f+b],a[f+b]=a[e+b],a[e+b]=d;return a},ig.permute=function(a,b){for(var c=b.length,d=new Array(c);c--;)d[c]=a[b[c]];return d},ig.pairs=function(a){for(var b,c=0,d=a.length-1,e=a[0],f=new Array(0>d?0:d);d>c;)f[c]=[b=e,e=a[++c]];return f},ig.zip=function(){if(!(d=arguments.length))return[];for(var a=-1,b=ig.min(arguments,h),c=new Array(b);++a=0;)for(d=a[e],b=d.length;--b>=0;)c[--g]=d[b];return c};var ug=Math.abs;ig.range=function(a,b,c){if(arguments.length<3&&(c=1,arguments.length<2&&(b=a,a=0)),(b-a)/c===1/0)throw new Error("infinite range");var d,e=[],f=i(ug(c)),g=-1;if(a*=f,b*=f,c*=f,0>c)for(;(d=a+c*++g)>b;)e.push(d/f);else for(;(d=a+c*++g)=f.length)return d?d.call(e,g):c?g.sort(c):g;for(var i,j,l,m,n=-1,o=g.length,p=f[h++],q=new k;++n=f.length)return a;var d=[],e=g[c++];return a.forEach(function(a,e){d.push({key:a,values:b(e,c)})}),e?d.sort(function(a,b){return e(a.key,b.key)}):d}var c,d,e={},f=[],g=[];return e.map=function(b,c){return a(c,b,0)},e.entries=function(c){return b(a(ig.map,c,0),0)},e.key=function(a){return f.push(a),e},e.sortKeys=function(a){return g[f.length-1]=a,e},e.sortValues=function(a){return c=a,e},e.rollup=function(a){return d=a,e},e},ig.set=function(a){var b=new s;if(a)for(var c=0,d=a.length;d>c;++c)b.add(a[c]);return b},j(s,{has:n,add:function(a){return this._[l(a+="")]=!0,a},remove:o,values:p,size:q,empty:r,forEach:function(a){for(var b in this._)a.call(this,m(b))}}),ig.behavior={},ig.rebind=function(a,b){for(var c,d=1,e=arguments.length;++d=0&&(d=a.slice(c+1),a=a.slice(0,c)),a)return arguments.length<2?this[a].on(d):this[a].on(d,b);if(2===arguments.length){if(null==b)for(a in this)this.hasOwnProperty(a)&&this[a].on(d,null);return this}},ig.event=null,ig.requote=function(a){return a.replace(yg,"\\$&")};var yg=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,zg={}.__proto__?function(a,b){a.__proto__=b}:function(a,b){for(var c in b)a[c]=b[c]},Ag=function(a,b){return b.querySelector(a)},Bg=function(a,b){return b.querySelectorAll(a)},Cg=function(a,b){var c=a.matches||a[v(a,"matchesSelector")];return(Cg=function(a,b){return c.call(a,b)})(a,b)};"function"==typeof Sizzle&&(Ag=function(a,b){return Sizzle(a,b)[0]||null},Bg=Sizzle,Cg=Sizzle.matchesSelector),ig.selection=function(){return ig.select(lg.documentElement)};var Dg=ig.selection.prototype=[];Dg.select=function(a){var b,c,d,e,f=[];a=D(a);for(var g=-1,h=this.length;++g=0&&"xmlns"!==(c=a.slice(0,b))&&(a=a.slice(b+1)),Eg.hasOwnProperty(c)?{space:Eg[c],local:a}:a}},Dg.attr=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node();return a=ig.ns.qualify(a),a.local?c.getAttributeNS(a.space,a.local):c.getAttribute(a)}for(b in a)this.each(F(b,a[b]));return this}return this.each(F(a,b))},Dg.classed=function(a,b){if(arguments.length<2){if("string"==typeof a){var c=this.node(),d=(a=I(a)).length,e=-1;if(b=c.classList){for(;++ee){if("string"!=typeof a){2>e&&(b="");for(d in a)this.each(L(d,a[d],b));return this}if(2>e){var f=this.node();return c(f).getComputedStyle(f,null).getPropertyValue(a)}d=""}return this.each(L(a,b,d))},Dg.property=function(a,b){if(arguments.length<2){if("string"==typeof a)return this.node()[a];for(b in a)this.each(M(b,a[b]));return this}return this.each(M(a,b))},Dg.text=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.textContent=null==b?"":b}:null==a?function(){this.textContent=""}:function(){this.textContent=a}):this.node().textContent},Dg.html=function(a){return arguments.length?this.each("function"==typeof a?function(){var b=a.apply(this,arguments);this.innerHTML=null==b?"":b}:null==a?function(){this.innerHTML=""}:function(){this.innerHTML=a}):this.node().innerHTML},Dg.append=function(a){return a=N(a),this.select(function(){return this.appendChild(a.apply(this,arguments))})},Dg.insert=function(a,b){return a=N(a),b=D(b),this.select(function(){return this.insertBefore(a.apply(this,arguments),b.apply(this,arguments)||null)})},Dg.remove=function(){return this.each(O)},Dg.data=function(a,b){function c(a,c){var d,e,f,g=a.length,l=c.length,m=Math.min(g,l),n=new Array(l),o=new Array(l),p=new Array(g);if(b){var q,r=new k,s=new Array(g);for(d=-1;++dd;++d)o[d]=P(c[d]);for(;g>d;++d)p[d]=a[d]}o.update=n,o.parentNode=n.parentNode=p.parentNode=a.parentNode,h.push(o),i.push(n),j.push(p)}var d,e,f=-1,g=this.length;if(!arguments.length){for(a=new Array(g=(d=this[0]).length);++ff;f++){e.push(b=[]),b.parentNode=(c=this[f]).parentNode;for(var h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return C(e)},Dg.order=function(){for(var a=-1,b=this.length;++a=0;)(c=d[e])&&(f&&f!==c.nextSibling&&f.parentNode.insertBefore(c,f),f=c);return this; -},Dg.sort=function(a){a=R.apply(this,arguments);for(var b=-1,c=this.length;++ba;a++)for(var c=this[a],d=0,e=c.length;e>d;d++){var f=c[d];if(f)return f}return null},Dg.size=function(){var a=0;return S(this,function(){++a}),a};var Fg=[];ig.selection.enter=T,ig.selection.enter.prototype=Fg,Fg.append=Dg.append,Fg.empty=Dg.empty,Fg.node=Dg.node,Fg.call=Dg.call,Fg.size=Dg.size,Fg.select=function(a){for(var b,c,d,e,f,g=[],h=-1,i=this.length;++hd){if("string"!=typeof a){2>d&&(b=!1);for(c in a)this.each(V(c,a[c],b));return this}if(2>d)return(d=this.node()["__on"+a])&&d._;c=!1}return this.each(V(a,b,c))};var Gg=ig.map({mouseenter:"mouseover",mouseleave:"mouseout"});lg&&Gg.forEach(function(a){"on"+a in lg&&Gg.remove(a)});var Hg,Ig=0;ig.mouse=function(a){return Z(a,A())};var Jg=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ig.touch=function(a,b,c){if(arguments.length<3&&(c=b,b=A().changedTouches),b)for(var d,e=0,f=b.length;f>e;++e)if((d=b[e]).identifier===c)return Z(a,d)},ig.behavior.drag=function(){function a(){this.on("mousedown.drag",f).on("touchstart.drag",g)}function b(a,b,c,f,g){return function(){function h(){var a,c,d=b(m,p);d&&(a=d[0]-t[0],c=d[1]-t[1],o|=a|c,t=d,n({type:"drag",x:d[0]+j[0],y:d[1]+j[1],dx:a,dy:c}))}function i(){b(m,p)&&(r.on(f+q,null).on(g+q,null),s(o),n({type:"dragend"}))}var j,k=this,l=ig.event.target,m=k.parentNode,n=d.of(k,arguments),o=0,p=a(),q=".drag"+(null==p?"":"-"+p),r=ig.select(c(l)).on(f+q,h).on(g+q,i),s=Y(l),t=b(m,p);e?(j=e.apply(k,arguments),j=[j.x-t[0],j.y-t[1]]):j=[0,0],n({type:"dragstart"})}}var d=B(a,"drag","dragstart","dragend"),e=null,f=b(w,ig.mouse,c,"mousemove","mouseup"),g=b($,ig.touch,t,"touchmove","touchend");return a.origin=function(b){return arguments.length?(e=b,a):e},ig.rebind(a,d,"on")},ig.touches=function(a,b){return arguments.length<2&&(b=A().touches),b?kg(b).map(function(b){var c=Z(a,b);return c.identifier=b.identifier,c}):[]};var Kg=1e-6,Lg=Kg*Kg,Mg=Math.PI,Ng=2*Mg,Og=Ng-Kg,Pg=Mg/2,Qg=Mg/180,Rg=180/Mg,Sg=Math.SQRT2,Tg=2,Ug=4;ig.interpolateZoom=function(a,b){var c,d,e=a[0],f=a[1],g=a[2],h=b[0],i=b[1],j=b[2],k=h-e,l=i-f,m=k*k+l*l;if(Lg>m)d=Math.log(j/g)/Sg,c=function(a){return[e+a*k,f+a*l,g*Math.exp(Sg*a*d)]};else{var n=Math.sqrt(m),o=(j*j-g*g+Ug*m)/(2*g*Tg*n),p=(j*j-g*g-Ug*m)/(2*j*Tg*n),q=Math.log(Math.sqrt(o*o+1)-o),r=Math.log(Math.sqrt(p*p+1)-p);d=(r-q)/Sg,c=function(a){var b=a*d,c=ea(q),h=g/(Tg*n)*(c*fa(Sg*b+q)-da(q));return[e+h*k,f+h*l,g*c/ea(Sg*b+q)]}}return c.duration=1e3*d,c},ig.behavior.zoom=function(){function a(a){a.on(F,l).on(Wg+".zoom",n).on("dblclick.zoom",o).on(I,m)}function b(a){return[(a[0]-y.x)/y.k,(a[1]-y.y)/y.k]}function d(a){return[a[0]*y.k+y.x,a[1]*y.k+y.y]}function e(a){y.k=Math.max(C[0],Math.min(C[1],a))}function f(a,b){b=d(b),y.x+=a[0]-b[0],y.y+=a[1]-b[1]}function g(b,c,d,g){b.__chart__={x:y.x,y:y.y,k:y.k},e(Math.pow(2,g)),f(q=c,d),b=ig.select(b),D>0&&(b=b.transition().duration(D)),b.call(a.event)}function h(){v&&v.domain(u.range().map(function(a){return(a-y.x)/y.k}).map(u.invert)),x&&x.domain(w.range().map(function(a){return(a-y.y)/y.k}).map(w.invert))}function i(a){E++||a({type:"zoomstart"})}function j(a){h(),a({type:"zoom",scale:y.k,translate:[y.x,y.y]})}function k(a){--E||(a({type:"zoomend"}),q=null)}function l(){function a(){h=1,f(ig.mouse(e),m),j(g)}function d(){l.on(G,null).on(H,null),n(h),k(g)}var e=this,g=J.of(e,arguments),h=0,l=ig.select(c(e)).on(G,a).on(H,d),m=b(ig.mouse(e)),n=Y(e);Pi.call(e),i(g)}function m(){function a(){var a=ig.touches(o);return n=y.k,a.forEach(function(a){a.identifier in q&&(q[a.identifier]=b(a))}),a}function c(){var b=ig.event.target;ig.select(b).on(u,d).on(v,h),w.push(b);for(var c=ig.event.changedTouches,e=0,f=c.length;f>e;++e)q[c[e].identifier]=null;var i=a(),j=Date.now();if(1===i.length){if(500>j-t){var k=i[0];g(o,k,q[k.identifier],Math.floor(Math.log(y.k)/Math.LN2)+1),z()}t=j}else if(i.length>1){var k=i[0],l=i[1],m=k[0]-l[0],n=k[1]-l[1];r=m*m+n*n}}function d(){var a,b,c,d,g=ig.touches(o);Pi.call(o);for(var h=0,i=g.length;i>h;++h,d=null)if(c=g[h],d=q[c.identifier]){if(b)break;a=c,b=d}if(d){var k=(k=c[0]-a[0])*k+(k=c[1]-a[1])*k,l=r&&Math.sqrt(k/r);a=[(a[0]+c[0])/2,(a[1]+c[1])/2],b=[(b[0]+d[0])/2,(b[1]+d[1])/2],e(l*n)}t=null,f(a,b),j(p)}function h(){if(ig.event.touches.length){for(var b=ig.event.changedTouches,c=0,d=b.length;d>c;++c)delete q[b[c].identifier];for(var e in q)return void a()}ig.selectAll(w).on(s,null),x.on(F,l).on(I,m),A(),k(p)}var n,o=this,p=J.of(o,arguments),q={},r=0,s=".zoom-"+ig.event.changedTouches[0].identifier,u="touchmove"+s,v="touchend"+s,w=[],x=ig.select(o),A=Y(o);c(),i(p),x.on(F,null).on(I,c)}function n(){var a=J.of(this,arguments);s?clearTimeout(s):(Pi.call(this),p=b(q=r||ig.mouse(this)),i(a)),s=setTimeout(function(){s=null,k(a)},50),z(),e(Math.pow(2,.002*Vg())*y.k),f(q,p),j(a)}function o(){var a=ig.mouse(this),c=Math.log(y.k)/Math.LN2;g(this,a,b(a),ig.event.shiftKey?Math.ceil(c)-1:Math.floor(c)+1)}var p,q,r,s,t,u,v,w,x,y={x:0,y:0,k:1},A=[960,500],C=Xg,D=250,E=0,F="mousedown.zoom",G="mousemove.zoom",H="mouseup.zoom",I="touchstart.zoom",J=B(a,"zoomstart","zoom","zoomend");return Wg||(Wg="onwheel"in lg?(Vg=function(){return-ig.event.deltaY*(ig.event.deltaMode?120:1)},"wheel"):"onmousewheel"in lg?(Vg=function(){return ig.event.wheelDelta},"mousewheel"):(Vg=function(){return-ig.event.detail},"MozMousePixelScroll")),a.event=function(a){a.each(function(){var a=J.of(this,arguments),b=y;Ni?ig.select(this).transition().each("start.zoom",function(){y=this.__chart__||{x:0,y:0,k:1},i(a)}).tween("zoom:zoom",function(){var c=A[0],d=A[1],e=q?q[0]:c/2,f=q?q[1]:d/2,g=ig.interpolateZoom([(e-y.x)/y.k,(f-y.y)/y.k,c/y.k],[(e-b.x)/b.k,(f-b.y)/b.k,c/b.k]);return function(b){var d=g(b),h=c/d[2];this.__chart__=y={x:e-d[0]*h,y:f-d[1]*h,k:h},j(a)}}).each("interrupt.zoom",function(){k(a)}).each("end.zoom",function(){k(a)}):(this.__chart__=y,i(a),j(a),k(a))})},a.translate=function(b){return arguments.length?(y={x:+b[0],y:+b[1],k:y.k},h(),a):[y.x,y.y]},a.scale=function(b){return arguments.length?(y={x:y.x,y:y.y,k:null},e(+b),h(),a):y.k},a.scaleExtent=function(b){return arguments.length?(C=null==b?Xg:[+b[0],+b[1]],a):C},a.center=function(b){return arguments.length?(r=b&&[+b[0],+b[1]],a):r},a.size=function(b){return arguments.length?(A=b&&[+b[0],+b[1]],a):A},a.duration=function(b){return arguments.length?(D=+b,a):D},a.x=function(b){return arguments.length?(v=b,u=b.copy(),y={x:0,y:0,k:1},a):v},a.y=function(b){return arguments.length?(x=b,w=b.copy(),y={x:0,y:0,k:1},a):x},ig.rebind(a,J,"on")};var Vg,Wg,Xg=[0,1/0];ig.color=ha,ha.prototype.toString=function(){return this.rgb()+""},ig.hsl=ia;var Yg=ia.prototype=new ha;Yg.brighter=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,this.l/a)},Yg.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new ia(this.h,this.s,a*this.l)},Yg.rgb=function(){return ja(this.h,this.s,this.l)},ig.hcl=ka;var Zg=ka.prototype=new ha;Zg.brighter=function(a){return new ka(this.h,this.c,Math.min(100,this.l+$g*(arguments.length?a:1)))},Zg.darker=function(a){return new ka(this.h,this.c,Math.max(0,this.l-$g*(arguments.length?a:1)))},Zg.rgb=function(){return la(this.h,this.c,this.l).rgb()},ig.lab=ma;var $g=18,_g=.95047,ah=1,bh=1.08883,ch=ma.prototype=new ha;ch.brighter=function(a){return new ma(Math.min(100,this.l+$g*(arguments.length?a:1)),this.a,this.b)},ch.darker=function(a){return new ma(Math.max(0,this.l-$g*(arguments.length?a:1)),this.a,this.b)},ch.rgb=function(){return na(this.l,this.a,this.b)},ig.rgb=sa;var dh=sa.prototype=new ha;dh.brighter=function(a){a=Math.pow(.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b,e=30;return b||c||d?(b&&e>b&&(b=e),c&&e>c&&(c=e),d&&e>d&&(d=e),new sa(Math.min(255,b/a),Math.min(255,c/a),Math.min(255,d/a))):new sa(e,e,e)},dh.darker=function(a){return a=Math.pow(.7,arguments.length?a:1),new sa(a*this.r,a*this.g,a*this.b)},dh.hsl=function(){return xa(this.r,this.g,this.b)},dh.toString=function(){return"#"+va(this.r)+va(this.g)+va(this.b)};var eh=ig.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});eh.forEach(function(a,b){eh.set(a,ta(b))}),ig.functor=Ba,ig.xhr=Ca(t),ig.dsv=function(a,b){function c(a,c,f){arguments.length<3&&(f=c,c=null);var g=Da(a,b,null==c?d:e(c),f);return g.row=function(a){return arguments.length?g.response(null==(c=a)?d:e(a)):c},g}function d(a){return c.parse(a.responseText)}function e(a){return function(b){return c.parse(b.responseText,a)}}function f(b){return b.map(g).join(a)}function g(a){return h.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}var h=new RegExp('["'+a+"\n]"),i=a.charCodeAt(0);return c.parse=function(a,b){var d;return c.parseRows(a,function(a,c){if(d)return d(a,c-1);var e=new Function("d","return {"+a.map(function(a,b){return JSON.stringify(a)+": d["+b+"]"}).join(",")+"}");d=b?function(a,c){return b(e(a),c)}:e})},c.parseRows=function(a,b){function c(){if(k>=j)return g;if(e)return e=!1,f;var b=k;if(34===a.charCodeAt(b)){for(var c=b;c++k;){var d=a.charCodeAt(k++),h=1;if(10===d)e=!0;else if(13===d)e=!0,10===a.charCodeAt(k)&&(++k,++h);else if(d!==i)continue;return a.slice(b,k-h)}return a.slice(b)}for(var d,e,f={},g={},h=[],j=a.length,k=0,l=0;(d=c())!==g;){for(var m=[];d!==f&&d!==g;)m.push(d),d=c();b&&null==(m=b(m,l++))||h.push(m)}return h},c.format=function(b){if(Array.isArray(b[0]))return c.formatRows(b);var d=new s,e=[];return b.forEach(function(a){for(var b in a)d.has(b)||e.push(d.add(b))}),[e.map(g).join(a)].concat(b.map(function(b){return e.map(function(a){return g(b[a])}).join(a)})).join("\n")},c.formatRows=function(a){return a.map(f).join("\n")},c},ig.csv=ig.dsv(",","text/csv"),ig.tsv=ig.dsv(" ","text/tab-separated-values");var fh,gh,hh,ih,jh=this[v(this,"requestAnimationFrame")]||function(a){setTimeout(a,17)};ig.timer=function(){Ga.apply(this,arguments)},ig.timer.flush=function(){Ia(),Ja()},ig.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};var kh=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(La);ig.formatPrefix=function(a,b){var c=0;return(a=+a)&&(0>a&&(a*=-1),b&&(a=ig.round(a,Ka(a,b))),c=1+Math.floor(1e-12+Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((c-1)/3)))),kh[8+c/3]};var lh=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,mh=ig.map({b:function(a){return a.toString(2)},c:function(a){return String.fromCharCode(a)},o:function(a){return a.toString(8)},x:function(a){return a.toString(16)},X:function(a){return a.toString(16).toUpperCase()},g:function(a,b){return a.toPrecision(b)},e:function(a,b){return a.toExponential(b)},f:function(a,b){return a.toFixed(b)},r:function(a,b){return(a=ig.round(a,Ka(a,b))).toFixed(Math.max(0,Math.min(20,Ka(a*(1+1e-15),b))))}}),nh=ig.time={},oh=Date;Oa.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){ph.setUTCDate.apply(this._,arguments)},setDay:function(){ph.setUTCDay.apply(this._,arguments)},setFullYear:function(){ph.setUTCFullYear.apply(this._,arguments)},setHours:function(){ph.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ph.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ph.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ph.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ph.setUTCSeconds.apply(this._,arguments)},setTime:function(){ph.setTime.apply(this._,arguments)}};var ph=Date.prototype;nh.year=Pa(function(a){return a=nh.day(a),a.setMonth(0,1),a},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()}),nh.years=nh.year.range,nh.years.utc=nh.year.utc.range,nh.day=Pa(function(a){var b=new oh(2e3,0);return b.setFullYear(a.getFullYear(),a.getMonth(),a.getDate()),b},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1}),nh.days=nh.day.range,nh.days.utc=nh.day.utc.range,nh.dayOfYear=function(a){var b=nh.year(a);return Math.floor((a-b-6e4*(a.getTimezoneOffset()-b.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(a,b){b=7-b;var c=nh[a]=Pa(function(a){return(a=nh.day(a)).setDate(a.getDate()-(a.getDay()+b)%7),a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=nh.year(a).getDay();return Math.floor((nh.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});nh[a+"s"]=c.range,nh[a+"s"].utc=c.utc.range,nh[a+"OfYear"]=function(a){var c=nh.year(a).getDay();return Math.floor((nh.dayOfYear(a)+(c+b)%7)/7)}}),nh.week=nh.sunday,nh.weeks=nh.sunday.range,nh.weeks.utc=nh.sunday.utc.range,nh.weekOfYear=nh.sundayOfYear;var qh={"-":"",_:" ",0:"0"},rh=/^\s*\d+/,sh=/^%/;ig.locale=function(a){return{numberFormat:Ma(a),timeFormat:Ra(a)}};var th=ig.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ig.format=th.numberFormat,ig.geo={},kb.prototype={s:0,t:0,add:function(a){lb(a,this.t,uh),lb(uh.s,this.s,this),this.s?this.t+=uh.t:this.s=uh.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var uh=new kb;ig.geo.stream=function(a,b){a&&vh.hasOwnProperty(a.type)?vh[a.type](a,b):mb(a,b)};var vh={Feature:function(a,b){mb(a.geometry,b)},FeatureCollection:function(a,b){for(var c=a.features,d=-1,e=c.length;++da?4*Mg+a:a,zh.lineStart=zh.lineEnd=zh.point=w}};ig.geo.bounds=function(){function a(a,b){t.push(u=[k=a,m=a]),l>b&&(l=b),b>n&&(n=b)}function b(b,c){var d=qb([b*Qg,c*Qg]);if(r){var e=sb(r,d),f=[e[1],-e[0],0],g=sb(f,e);vb(g),g=wb(g);var i=b-o,j=i>0?1:-1,p=g[0]*Rg*j,q=ug(i)>180;if(q^(p>j*o&&j*b>p)){var s=g[1]*Rg;s>n&&(n=s)}else if(p=(p+360)%360-180,q^(p>j*o&&j*b>p)){var s=-g[1]*Rg;l>s&&(l=s)}else l>c&&(l=c),c>n&&(n=c);q?o>b?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b):m>=k?(k>b&&(k=b),b>m&&(m=b)):b>o?h(k,b)>h(k,m)&&(m=b):h(b,m)>h(k,m)&&(k=b)}else a(b,c);r=d,o=b}function c(){v.point=b}function d(){u[0]=k,u[1]=m,v.point=a,r=null}function e(a,c){if(r){var d=a-o;s+=ug(d)>180?d+(d>0?360:-360):d}else p=a,q=c;zh.point(a,c),b(a,c)}function f(){zh.lineStart()}function g(){e(p,q),zh.lineEnd(),ug(s)>Kg&&(k=-(m=180)),u[0]=k,u[1]=m,r=null}function h(a,b){return(b-=a)<0?b+360:b}function i(a,b){return a[0]-b[0]}function j(a,b){return b[0]<=b[1]?b[0]<=a&&a<=b[1]:ayh?(k=-(m=180),l=-(n=90)):s>Kg?n=90:-Kg>s&&(l=-90),u[0]=k,u[1]=m}};return function(a){n=m=-(k=l=1/0),t=[],ig.geo.stream(a,v);var b=t.length;if(b){t.sort(i);for(var c,d=1,e=t[0],f=[e];b>d;++d)c=t[d],j(c[0],e)||j(c[1],e)?(h(e[0],c[1])>h(e[0],e[1])&&(e[1]=c[1]),h(c[0],e[1])>h(e[0],e[1])&&(e[0]=c[0])):f.push(e=c);for(var g,c,o=-(1/0),b=f.length-1,d=0,e=f[b];b>=d;e=c,++d)c=f[d],(g=h(e[1],c[0]))>o&&(o=g,k=c[0],m=e[1])}return t=u=null,k===1/0||l===1/0?[[NaN,NaN],[NaN,NaN]]:[[k,l],[m,n]]}}(),ig.geo.centroid=function(a){Ah=Bh=Ch=Dh=Eh=Fh=Gh=Hh=Ih=Jh=Kh=0,ig.geo.stream(a,Lh);var b=Ih,c=Jh,d=Kh,e=b*b+c*c+d*d;return Lg>e&&(b=Fh,c=Gh,d=Hh,Kg>Bh&&(b=Ch,c=Dh,d=Eh),e=b*b+c*c+d*d,Lg>e)?[NaN,NaN]:[Math.atan2(c,b)*Rg,ca(d/Math.sqrt(e))*Rg]};var Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh={sphere:w,point:yb,lineStart:Ab,lineEnd:Bb,polygonStart:function(){Lh.lineStart=Cb},polygonEnd:function(){Lh.lineStart=Ab}},Mh=Ib(Eb,Mb,Ob,[-Mg,-Mg/2]),Nh=1e9;ig.geo.clipExtent=function(){var a,b,c,d,e,f,g={stream:function(a){return e&&(e.valid=!1),e=f(a),e.valid=!0,e},extent:function(h){return arguments.length?(f=Sb(a=+h[0][0],b=+h[0][1],c=+h[1][0],d=+h[1][1]),e&&(e.valid=!1,e=null),g):[[a,b],[c,d]]}};return g.extent([[0,0],[960,500]])},(ig.geo.conicEqualArea=function(){return Tb(Ub)}).raw=Ub,ig.geo.albers=function(){return ig.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ig.geo.albersUsa=function(){function a(a){var f=a[0],g=a[1];return b=null,c(f,g),b||(d(f,g),b)||e(f,g),b}var b,c,d,e,f=ig.geo.albers(),g=ig.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),h=ig.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),i={point:function(a,c){b=[a,c]}};return a.invert=function(a){var b=f.scale(),c=f.translate(),d=(a[0]-c[0])/b,e=(a[1]-c[1])/b;return(e>=.12&&.234>e&&d>=-.425&&-.214>d?g:e>=.166&&.234>e&&d>=-.214&&-.115>d?h:f).invert(a)},a.stream=function(a){var b=f.stream(a),c=g.stream(a),d=h.stream(a);return{point:function(a,e){b.point(a,e),c.point(a,e),d.point(a,e)},sphere:function(){b.sphere(),c.sphere(),d.sphere()},lineStart:function(){b.lineStart(),c.lineStart(),d.lineStart()},lineEnd:function(){b.lineEnd(),c.lineEnd(),d.lineEnd()},polygonStart:function(){b.polygonStart(),c.polygonStart(),d.polygonStart()},polygonEnd:function(){b.polygonEnd(),c.polygonEnd(),d.polygonEnd()}}},a.precision=function(b){return arguments.length?(f.precision(b),g.precision(b),h.precision(b),a):f.precision()},a.scale=function(b){return arguments.length?(f.scale(b),g.scale(.35*b),h.scale(b),a.translate(f.translate())):f.scale()},a.translate=function(b){if(!arguments.length)return f.translate();var j=f.scale(),k=+b[0],l=+b[1];return c=f.translate(b).clipExtent([[k-.455*j,l-.238*j],[k+.455*j,l+.238*j]]).stream(i).point,d=g.translate([k-.307*j,l+.201*j]).clipExtent([[k-.425*j+Kg,l+.12*j+Kg],[k-.214*j-Kg,l+.234*j-Kg]]).stream(i).point,e=h.translate([k-.205*j,l+.212*j]).clipExtent([[k-.214*j+Kg,l+.166*j+Kg],[k-.115*j-Kg,l+.234*j-Kg]]).stream(i).point,a},a.scale(1070)};var Oh,Ph,Qh,Rh,Sh,Th,Uh={point:w,lineStart:w,lineEnd:w,polygonStart:function(){Ph=0,Uh.lineStart=Vb},polygonEnd:function(){Uh.lineStart=Uh.lineEnd=Uh.point=w,Oh+=ug(Ph/2)}},Vh={point:Wb,lineStart:w,lineEnd:w,polygonStart:w,polygonEnd:w},Wh={point:Zb,lineStart:$b,lineEnd:_b,polygonStart:function(){Wh.lineStart=ac},polygonEnd:function(){Wh.point=Zb,Wh.lineStart=$b,Wh.lineEnd=_b}};ig.geo.path=function(){function a(a){return a&&("function"==typeof h&&f.pointRadius(+h.apply(this,arguments)),g&&g.valid||(g=e(f)),ig.geo.stream(a,g)),f.result()}function b(){return g=null,a}var c,d,e,f,g,h=4.5;return a.area=function(a){return Oh=0,ig.geo.stream(a,e(Uh)),Oh},a.centroid=function(a){return Ch=Dh=Eh=Fh=Gh=Hh=Ih=Jh=Kh=0,ig.geo.stream(a,e(Wh)),Kh?[Ih/Kh,Jh/Kh]:Hh?[Fh/Hh,Gh/Hh]:Eh?[Ch/Eh,Dh/Eh]:[NaN,NaN]},a.bounds=function(a){return Sh=Th=-(Qh=Rh=1/0),ig.geo.stream(a,e(Vh)),[[Qh,Rh],[Sh,Th]]},a.projection=function(a){return arguments.length?(e=(c=a)?a.stream||dc(a):t,b()):c},a.context=function(a){return arguments.length?(f=null==(d=a)?new Xb:new bc(a),"function"!=typeof h&&f.pointRadius(h),b()):d},a.pointRadius=function(b){return arguments.length?(h="function"==typeof b?b:(f.pointRadius(+b),+b),a):h},a.projection(ig.geo.albersUsa()).context(null)},ig.geo.transform=function(a){return{stream:function(b){var c=new ec(b);for(var d in a)c[d]=a[d];return c}}},ec.prototype={point:function(a,b){this.stream.point(a,b)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ig.geo.projection=gc,ig.geo.projectionMutator=hc,(ig.geo.equirectangular=function(){return gc(jc)}).raw=jc.invert=jc,ig.geo.rotation=function(a){function b(b){return b=a(b[0]*Qg,b[1]*Qg),b[0]*=Rg,b[1]*=Rg,b}return a=lc(a[0]%360*Qg,a[1]*Qg,a.length>2?a[2]*Qg:0),b.invert=function(b){return b=a.invert(b[0]*Qg,b[1]*Qg),b[0]*=Rg,b[1]*=Rg,b},b},kc.invert=jc,ig.geo.circle=function(){function a(){var a="function"==typeof d?d.apply(this,arguments):d,b=lc(-a[0]*Qg,-a[1]*Qg,0).invert,e=[];return c(null,null,1,{point:function(a,c){e.push(a=b(a,c)),a[0]*=Rg,a[1]*=Rg}}),{type:"Polygon",coordinates:[e]}}var b,c,d=[0,0],e=6;return a.origin=function(b){return arguments.length?(d=b,a):d},a.angle=function(d){return arguments.length?(c=pc((b=+d)*Qg,e*Qg),a):b},a.precision=function(d){return arguments.length?(c=pc(b*Qg,(e=+d)*Qg),a):e},a.angle(90)},ig.geo.distance=function(a,b){var c,d=(b[0]-a[0])*Qg,e=a[1]*Qg,f=b[1]*Qg,g=Math.sin(d),h=Math.cos(d),i=Math.sin(e),j=Math.cos(e),k=Math.sin(f),l=Math.cos(f);return Math.atan2(Math.sqrt((c=l*g)*c+(c=j*k-i*l*h)*c),i*k+j*l*h)},ig.geo.graticule=function(){function a(){return{type:"MultiLineString",coordinates:b()}}function b(){return ig.range(Math.ceil(f/q)*q,e,q).map(m).concat(ig.range(Math.ceil(j/r)*r,i,r).map(n)).concat(ig.range(Math.ceil(d/o)*o,c,o).filter(function(a){return ug(a%q)>Kg}).map(k)).concat(ig.range(Math.ceil(h/p)*p,g,p).filter(function(a){return ug(a%r)>Kg}).map(l))}var c,d,e,f,g,h,i,j,k,l,m,n,o=10,p=o,q=90,r=360,s=2.5;return a.lines=function(){return b().map(function(a){return{type:"LineString",coordinates:a}})},a.outline=function(){return{type:"Polygon",coordinates:[m(f).concat(n(i).slice(1),m(e).reverse().slice(1),n(j).reverse().slice(1))]}},a.extent=function(b){return arguments.length?a.majorExtent(b).minorExtent(b):a.minorExtent()},a.majorExtent=function(b){return arguments.length?(f=+b[0][0],e=+b[1][0],j=+b[0][1],i=+b[1][1],f>e&&(b=f,f=e,e=b),j>i&&(b=j,j=i,i=b),a.precision(s)):[[f,j],[e,i]]},a.minorExtent=function(b){return arguments.length?(d=+b[0][0],c=+b[1][0],h=+b[0][1],g=+b[1][1],d>c&&(b=d,d=c,c=b),h>g&&(b=h,h=g,g=b),a.precision(s)):[[d,h],[c,g]]},a.step=function(b){return arguments.length?a.majorStep(b).minorStep(b):a.minorStep()},a.majorStep=function(b){return arguments.length?(q=+b[0],r=+b[1],a):[q,r]},a.minorStep=function(b){return arguments.length?(o=+b[0],p=+b[1],a):[o,p]},a.precision=function(b){return arguments.length?(s=+b,k=rc(h,g,90),l=sc(d,c,s),m=rc(j,i,90),n=sc(f,e,s),a):s},a.majorExtent([[-180,-90+Kg],[180,90-Kg]]).minorExtent([[-180,-80-Kg],[180,80+Kg]])},ig.geo.greatArc=function(){function a(){return{type:"LineString",coordinates:[b||d.apply(this,arguments),c||e.apply(this,arguments)]}}var b,c,d=tc,e=uc;return a.distance=function(){return ig.geo.distance(b||d.apply(this,arguments),c||e.apply(this,arguments))},a.source=function(c){return arguments.length?(d=c,b="function"==typeof c?null:c,a):d},a.target=function(b){return arguments.length?(e=b,c="function"==typeof b?null:b,a):e},a.precision=function(){return arguments.length?a:0},a},ig.geo.interpolate=function(a,b){return vc(a[0]*Qg,a[1]*Qg,b[0]*Qg,b[1]*Qg)},ig.geo.length=function(a){return Xh=0,ig.geo.stream(a,Yh),Xh};var Xh,Yh={sphere:w,point:w,lineStart:wc,lineEnd:w,polygonStart:w,polygonEnd:w},Zh=xc(function(a){return Math.sqrt(2/(1+a))},function(a){return 2*Math.asin(a/2)});(ig.geo.azimuthalEqualArea=function(){return gc(Zh)}).raw=Zh;var $h=xc(function(a){var b=Math.acos(a);return b&&b/Math.sin(b)},t);(ig.geo.azimuthalEquidistant=function(){return gc($h)}).raw=$h,(ig.geo.conicConformal=function(){return Tb(yc)}).raw=yc,(ig.geo.conicEquidistant=function(){return Tb(zc)}).raw=zc;var _h=xc(function(a){return 1/a},Math.atan);(ig.geo.gnomonic=function(){return gc(_h)}).raw=_h,Ac.invert=function(a,b){return[a,2*Math.atan(Math.exp(b))-Pg]},(ig.geo.mercator=function(){return Bc(Ac)}).raw=Ac;var ai=xc(function(){return 1},Math.asin);(ig.geo.orthographic=function(){return gc(ai)}).raw=ai;var bi=xc(function(a){return 1/(1+a)},function(a){return 2*Math.atan(a)});(ig.geo.stereographic=function(){return gc(bi)}).raw=bi,Cc.invert=function(a,b){return[-b,2*Math.atan(Math.exp(a))-Pg]},(ig.geo.transverseMercator=function(){var a=Bc(Cc),b=a.center,c=a.rotate;return a.center=function(a){return a?b([-a[1],a[0]]):(a=b(),[a[1],-a[0]])},a.rotate=function(a){return a?c([a[0],a[1],a.length>2?a[2]+90:90]):(a=c(),[a[0],a[1],a[2]-90])},c([0,0,90])}).raw=Cc,ig.geom={},ig.geom.hull=function(a){function b(a){if(a.length<3)return[];var b,e=Ba(c),f=Ba(d),g=a.length,h=[],i=[];for(b=0;g>b;b++)h.push([+e.call(this,a[b],b),+f.call(this,a[b],b),b]);for(h.sort(Gc),b=0;g>b;b++)i.push([h[b][0],-h[b][1]]);var j=Fc(h),k=Fc(i),l=k[0]===j[0],m=k[k.length-1]===j[j.length-1],n=[];for(b=j.length-1;b>=0;--b)n.push(a[h[j[b]][2]]);for(b=+l;b=d&&j.x<=f&&j.y>=e&&j.y<=g?[[d,g],[f,g],[f,e],[d,e]]:[]; -k.point=a[h]}),b}function c(a){return a.map(function(a,b){return{x:Math.round(f(a,b)/Kg)*Kg,y:Math.round(g(a,b)/Kg)*Kg,i:b}})}var d=Dc,e=Ec,f=d,g=e,h=ki;return a?b(a):(b.links=function(a){return hd(c(a)).edges.filter(function(a){return a.l&&a.r}).map(function(b){return{source:a[b.l.i],target:a[b.r.i]}})},b.triangles=function(a){var b=[];return hd(c(a)).cells.forEach(function(c,d){for(var e,f,g=c.site,h=c.edges.sort(Tc),i=-1,j=h.length,k=h[j-1].edge,l=k.l===g?k.r:k.l;++i=j,m=d>=k,n=m<<1|l;a.leaf=!1,a=a.nodes[n]||(a.nodes[n]=md()),l?e=j:h=j,m?g=k:i=k,f(a,b,c,d,e,g,h,i)}var k,l,m,n,o,p,q,r,s,t=Ba(h),u=Ba(i);if(null!=b)p=b,q=c,r=d,s=e;else if(r=s=-(p=q=1/0),l=[],m=[],o=a.length,g)for(n=0;o>n;++n)k=a[n],k.xr&&(r=k.x),k.y>s&&(s=k.y),l.push(k.x),m.push(k.y);else for(n=0;o>n;++n){var v=+t(k=a[n],n),w=+u(k,n);p>v&&(p=v),q>w&&(q=w),v>r&&(r=v),w>s&&(s=w),l.push(v),m.push(w)}var x=r-p,y=s-q;x>y?s=q+x:r=p+y;var z=md();if(z.add=function(a){f(z,a,+t(a,++n),+u(a,n),p,q,r,s)},z.visit=function(a){nd(a,z,p,q,r,s)},z.find=function(a){return od(z,a[0],a[1],p,q,r,s)},n=-1,null==b){for(;++n=0?a.slice(0,b):a,d=b>=0?a.slice(b+1):"in";return c=oi.get(c)||ni,d=pi.get(d)||t,vd(d(c.apply(null,jg.call(arguments,1))))},ig.interpolateHcl=Id,ig.interpolateHsl=Jd,ig.interpolateLab=Kd,ig.interpolateRound=Ld,ig.transform=function(a){var b=lg.createElementNS(ig.ns.prefix.svg,"g");return(ig.transform=function(a){if(null!=a){b.setAttribute("transform",a);var c=b.transform.baseVal.consolidate()}return new Md(c?c.matrix:qi)})(a)},Md.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var qi={a:1,b:0,c:0,d:1,e:0,f:0};ig.interpolateTransform=Vd,ig.layout={},ig.layout.bundle=function(){return function(a){for(var b=[],c=-1,d=a.length;++ch*h/r){if(p>i){var j=b.charge/i;a.px-=f*j,a.py-=g*j}return!0}if(b.point&&i&&p>i){var j=b.pointCharge/i;a.px-=f*j,a.py-=g*j}}return!b.charge}}function b(a){a.px=ig.event.x,a.py=ig.event.y,i.resume()}var c,d,e,f,g,h,i={},j=ig.dispatch("start","tick","end"),k=[1,1],l=.9,m=ri,n=si,o=-30,p=ti,q=.1,r=.64,s=[],u=[];return i.tick=function(){if((e*=.99)<.005)return c=null,j.end({type:"end",alpha:e=0}),!0;var b,d,i,m,n,p,r,t,v,w=s.length,x=u.length;for(d=0;x>d;++d)i=u[d],m=i.source,n=i.target,t=n.x-m.x,v=n.y-m.y,(p=t*t+v*v)&&(p=e*g[d]*((p=Math.sqrt(p))-f[d])/p,t*=p,v*=p,n.x-=t*(r=m.weight+n.weight?m.weight/(m.weight+n.weight):.5),n.y-=v*r,m.x+=t*(r=1-r),m.y+=v*r);if((r=e*q)&&(t=k[0]/2,v=k[1]/2,d=-1,r))for(;++d0?e=a:(c.c=null,c.t=NaN,c=null,j.end({type:"end",alpha:e=0})):a>0&&(j.start({type:"start",alpha:e=a}),c=Ga(i.tick)),i):e},i.start=function(){function a(a,d){if(!c){for(c=new Array(e),i=0;e>i;++i)c[i]=[];for(i=0;j>i;++i){var f=u[i];c[f.source.index].push(f.target),c[f.target.index].push(f.source)}}for(var g,h=c[b],i=-1,k=h.length;++ib;++b)(d=s[b]).index=b,d.weight=0;for(b=0;j>b;++b)d=u[b],"number"==typeof d.source&&(d.source=s[d.source]),"number"==typeof d.target&&(d.target=s[d.target]),++d.source.weight,++d.target.weight;for(b=0;e>b;++b)d=s[b],isNaN(d.x)&&(d.x=a("x",l)),isNaN(d.y)&&(d.y=a("y",p)),isNaN(d.px)&&(d.px=d.x),isNaN(d.py)&&(d.py=d.y);if(f=[],"function"==typeof m)for(b=0;j>b;++b)f[b]=+m.call(this,u[b],b);else for(b=0;j>b;++b)f[b]=m;if(g=[],"function"==typeof n)for(b=0;j>b;++b)g[b]=+n.call(this,u[b],b);else for(b=0;j>b;++b)g[b]=n;if(h=[],"function"==typeof o)for(b=0;e>b;++b)h[b]=+o.call(this,s[b],b);else for(b=0;e>b;++b)h[b]=o;return i.resume()},i.resume=function(){return i.alpha(.1)},i.stop=function(){return i.alpha(0)},i.drag=function(){return d||(d=ig.behavior.drag().origin(t).on("dragstart.force",_d).on("drag.force",b).on("dragend.force",ae)),arguments.length?void this.on("mouseover.force",be).on("mouseout.force",ce).call(d):d},ig.rebind(i,j,"on")};var ri=20,si=1,ti=1/0;ig.layout.hierarchy=function(){function a(e){var f,g=[e],h=[];for(e.depth=0;null!=(f=g.pop());)if(h.push(f),(j=c.call(a,f,f.depth))&&(i=j.length)){for(var i,j,k;--i>=0;)g.push(k=j[i]),k.parent=f,k.depth=f.depth+1;d&&(f.value=0),f.children=j}else d&&(f.value=+d.call(a,f,f.depth)||0),delete f.children;return ge(e,function(a){var c,e;b&&(c=a.children)&&c.sort(b),d&&(e=a.parent)&&(e.value+=a.value)}),h}var b=je,c=he,d=ie;return a.sort=function(c){return arguments.length?(b=c,a):b},a.children=function(b){return arguments.length?(c=b,a):c},a.value=function(b){return arguments.length?(d=b,a):d},a.revalue=function(b){return d&&(fe(b,function(a){a.children&&(a.value=0)}),ge(b,function(b){var c;b.children||(b.value=+d.call(a,b,b.depth)||0),(c=b.parent)&&(c.value+=b.value)})),b},a},ig.layout.partition=function(){function a(b,c,d,e){var f=b.children;if(b.x=c,b.y=b.depth*e,b.dx=d,b.dy=e,f&&(g=f.length)){var g,h,i,j=-1;for(d=b.value?d/b.value:0;++jl?-1:1),o=ig.sum(j),p=o?(l-i*n)/o:0,q=ig.range(i),r=[];return null!=c&&q.sort(c===ui?function(a,b){return j[b]-j[a]}:function(a,b){return c(g[a],g[b])}),q.forEach(function(a){r[a]={data:g[a],value:h=j[a],startAngle:k,endAngle:k+=h*p+n,padAngle:m}}),r}var b=Number,c=ui,d=0,e=Ng,f=0;return a.value=function(c){return arguments.length?(b=c,a):b},a.sort=function(b){return arguments.length?(c=b,a):c},a.startAngle=function(b){return arguments.length?(d=b,a):d},a.endAngle=function(b){return arguments.length?(e=b,a):e},a.padAngle=function(b){return arguments.length?(f=b,a):f},a};var ui={};ig.layout.stack=function(){function a(h,i){if(!(m=h.length))return h;var j=h.map(function(c,d){return b.call(a,c,d)}),k=j.map(function(b){return b.map(function(b,c){return[f.call(a,b,c),g.call(a,b,c)]})}),l=c.call(a,k,i);j=ig.permute(j,l),k=ig.permute(k,l);var m,n,o,p,q=d.call(a,k,i),r=j[0].length;for(o=0;r>o;++o)for(e.call(a,j[0][o],p=q[o],k[0][o][1]),n=1;m>n;++n)e.call(a,j[n][o],p+=k[n-1][o][1],k[n][o][1]);return h}var b=t,c=oe,d=pe,e=ne,f=le,g=me;return a.values=function(c){return arguments.length?(b=c,a):b},a.order=function(b){return arguments.length?(c="function"==typeof b?b:vi.get(b)||oe,a):c},a.offset=function(b){return arguments.length?(d="function"==typeof b?b:wi.get(b)||pe,a):d},a.x=function(b){return arguments.length?(f=b,a):f},a.y=function(b){return arguments.length?(g=b,a):g},a.out=function(b){return arguments.length?(e=b,a):e},a};var vi=ig.map({"inside-out":function(a){var b,c,d=a.length,e=a.map(qe),f=a.map(re),g=ig.range(d).sort(function(a,b){return e[a]-e[b]}),h=0,i=0,j=[],k=[];for(b=0;d>b;++b)c=g[b],i>h?(h+=f[c],j.push(c)):(i+=f[c],k.push(c));return k.reverse().concat(j)},reverse:function(a){return ig.range(a.length).reverse()},"default":oe}),wi=ig.map({silhouette:function(a){var b,c,d,e=a.length,f=a[0].length,g=[],h=0,i=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];d>h&&(h=d),g.push(d)}for(c=0;f>c;++c)i[c]=(h-g[c])/2;return i},wiggle:function(a){var b,c,d,e,f,g,h,i,j,k=a.length,l=a[0],m=l.length,n=[];for(n[0]=i=j=0,c=1;m>c;++c){for(b=0,e=0;k>b;++b)e+=a[b][c][1];for(b=0,f=0,h=l[c][0]-l[c-1][0];k>b;++b){for(d=0,g=(a[b][c][1]-a[b][c-1][1])/(2*h);b>d;++d)g+=(a[d][c][1]-a[d][c-1][1])/h;f+=g*a[b][c][1]}n[c]=i-=e?f/e*h:0,j>i&&(j=i)}for(c=0;m>c;++c)n[c]-=j;return n},expand:function(a){var b,c,d,e=a.length,f=a[0].length,g=1/e,h=[];for(c=0;f>c;++c){for(b=0,d=0;e>b;b++)d+=a[b][c][1];if(d)for(b=0;e>b;b++)a[b][c][1]/=d;else for(b=0;e>b;b++)a[b][c][1]=g}for(c=0;f>c;++c)h[c]=0;return h},zero:pe});ig.layout.histogram=function(){function a(a,f){for(var g,h,i=[],j=a.map(c,this),k=d.call(this,j,f),l=e.call(this,k,j,f),f=-1,m=j.length,n=l.length-1,o=b?1:1/m;++f0)for(f=-1;++f=k[0]&&h<=k[1]&&(g=i[ig.bisect(l,h,1,n)-1],g.y+=o,g.push(a[f]));return i}var b=!0,c=Number,d=ve,e=te;return a.value=function(b){return arguments.length?(c=b,a):c},a.range=function(b){return arguments.length?(d=Ba(b),a):d},a.bins=function(b){return arguments.length?(e="number"==typeof b?function(a){return ue(a,b)}:Ba(b),a):e},a.frequency=function(c){return arguments.length?(b=!!c,a):b},a},ig.layout.pack=function(){function a(a,f){var g=c.call(this,a,f),h=g[0],i=e[0],j=e[1],k=null==b?Math.sqrt:"function"==typeof b?b:function(){return b};if(h.x=h.y=0,ge(h,function(a){a.r=+k(a.value)}),ge(h,Ae),d){var l=d*(b?1:Math.max(2*h.r/i,2*h.r/j))/2;ge(h,function(a){a.r+=l}),ge(h,Ae),ge(h,function(a){a.r-=l})}return De(h,i/2,j/2,b?1:1/Math.max(2*h.r/i,2*h.r/j)),g}var b,c=ig.layout.hierarchy().sort(we),d=0,e=[1,1];return a.size=function(b){return arguments.length?(e=b,a):e},a.radius=function(c){return arguments.length?(b=null==c||"function"==typeof c?c:+c,a):b},a.padding=function(b){return arguments.length?(d=+b,a):d},ee(a,c)},ig.layout.tree=function(){function a(a,e){var k=g.call(this,a,e),l=k[0],m=b(l);if(ge(m,c),m.parent.m=-m.z,fe(m,d),j)fe(l,f);else{var n=l,o=l,p=l;fe(l,function(a){a.xo.x&&(o=a),a.depth>p.depth&&(p=a)});var q=h(n,o)/2-n.x,r=i[0]/(o.x+h(o,n)/2+q),s=i[1]/(p.depth||1);fe(l,function(a){a.x=(a.x+q)*r,a.y=a.depth*s})}return k}function b(a){for(var b,c={A:null,children:[a]},d=[c];null!=(b=d.pop());)for(var e,f=b.children,g=0,h=f.length;h>g;++g)d.push((f[g]=e={_:f[g],parent:b,children:(e=f[g].children)&&e.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:g}).a=e);return c.children[0]}function c(a){var b=a.children,c=a.parent.children,d=a.i?c[a.i-1]:null;if(b.length){Je(a);var f=(b[0].z+b[b.length-1].z)/2;d?(a.z=d.z+h(a._,d._),a.m=a.z-f):a.z=f}else d&&(a.z=d.z+h(a._,d._));a.parent.A=e(a,d,a.parent.A||c[0])}function d(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function e(a,b,c){if(b){for(var d,e=a,f=a,g=b,i=e.parent.children[0],j=e.m,k=f.m,l=g.m,m=i.m;g=He(g),e=Ge(e),g&&e;)i=Ge(i),f=He(f),f.a=a,d=g.z+l-e.z-j+h(g._,e._),d>0&&(Ie(Ke(g,a,c),a,d),j+=d,k+=d),l+=g.m,j+=e.m,m+=i.m,k+=f.m;g&&!He(f)&&(f.t=g,f.m+=l-k),e&&!Ge(i)&&(i.t=e,i.m+=j-m,c=a)}return c}function f(a){a.x*=i[0],a.y=a.depth*i[1]}var g=ig.layout.hierarchy().sort(null).value(null),h=Fe,i=[1,1],j=null;return a.separation=function(b){return arguments.length?(h=b,a):h},a.size=function(b){return arguments.length?(j=null==(i=b)?f:null,a):j?null:i},a.nodeSize=function(b){return arguments.length?(j=null==(i=b)?null:f,a):j?i:null},ee(a,g)},ig.layout.cluster=function(){function a(a,f){var g,h=b.call(this,a,f),i=h[0],j=0;ge(i,function(a){var b=a.children;b&&b.length?(a.x=Me(b),a.y=Le(b)):(a.x=g?j+=c(a,g):0,a.y=0,g=a)});var k=Ne(i),l=Oe(i),m=k.x-c(k,l)/2,n=l.x+c(l,k)/2;return ge(i,e?function(a){a.x=(a.x-i.x)*d[0],a.y=(i.y-a.y)*d[1]}:function(a){a.x=(a.x-m)/(n-m)*d[0],a.y=(1-(i.y?a.y/i.y:1))*d[1]}),h}var b=ig.layout.hierarchy().sort(null).value(null),c=Fe,d=[1,1],e=!1;return a.separation=function(b){return arguments.length?(c=b,a):c},a.size=function(b){return arguments.length?(e=null==(d=b),a):e?null:d},a.nodeSize=function(b){return arguments.length?(e=null!=(d=b),a):e?d:null},ee(a,b)},ig.layout.treemap=function(){function a(a,b){for(var c,d,e=-1,f=a.length;++eb?0:b),c.area=isNaN(d)||0>=d?0:d}function b(c){var f=c.children;if(f&&f.length){var g,h,i,j=l(c),k=[],m=f.slice(),o=1/0,p="slice"===n?j.dx:"dice"===n?j.dy:"slice-dice"===n?1&c.depth?j.dy:j.dx:Math.min(j.dx,j.dy);for(a(m,j.dx*j.dy/c.value),k.area=0;(i=m.length)>0;)k.push(g=m[i-1]),k.area+=g.area,"squarify"!==n||(h=d(k,p))<=o?(m.pop(),o=h):(k.area-=k.pop().area,e(k,p,j,!1),p=Math.min(j.dx,j.dy),k.length=k.area=0,o=1/0);k.length&&(e(k,p,j,!0),k.length=k.area=0),f.forEach(b)}}function c(b){var d=b.children;if(d&&d.length){var f,g=l(b),h=d.slice(),i=[];for(a(h,g.dx*g.dy/b.value),i.area=0;f=h.pop();)i.push(f),i.area+=f.area,null!=f.z&&(e(i,f.z?g.dx:g.dy,g,!h.length),i.length=i.area=0);d.forEach(c)}}function d(a,b){for(var c,d=a.area,e=0,f=1/0,g=-1,h=a.length;++gc&&(f=c),c>e&&(e=c));return d*=d,b*=b,d?Math.max(b*e*o/d,d/(b*f*o)):1/0}function e(a,b,c,d){var e,f=-1,g=a.length,h=c.x,j=c.y,k=b?i(a.area/b):0;if(b==c.dx){for((d||k>c.dy)&&(k=c.dy);++fc.dx)&&(k=c.dx);++fc&&(b=1),1>c&&(a=0),function(){var c,d,e;do c=2*Math.random()-1,d=2*Math.random()-1,e=c*c+d*d;while(!e||e>1);return a+b*c*Math.sqrt(-2*Math.log(e)/e)}},logNormal:function(){var a=ig.random.normal.apply(ig,arguments);return function(){return Math.exp(a())}},bates:function(a){var b=ig.random.irwinHall(a);return function(){return b()/a}},irwinHall:function(a){return function(){for(var b=0,c=0;a>c;c++)b+=Math.random();return b}}},ig.scale={};var xi={floor:t,ceil:t};ig.scale.linear=function(){return Xe([0,1],[0,1],td,!1)};var yi={s:1,g:1,p:1,r:1,e:1};ig.scale.log=function(){return df(ig.scale.linear().domain([0,1]),10,!0,[1,10])};var zi=ig.format(".0e"),Ai={floor:function(a){return-Math.ceil(-a)},ceil:function(a){return-Math.floor(-a)}};ig.scale.pow=function(){return ef(ig.scale.linear(),1,[0,1])},ig.scale.sqrt=function(){return ig.scale.pow().exponent(.5)},ig.scale.ordinal=function(){return gf([],{t:"range",a:[[]]})},ig.scale.category10=function(){return ig.scale.ordinal().range(Bi)},ig.scale.category20=function(){return ig.scale.ordinal().range(Ci)},ig.scale.category20b=function(){return ig.scale.ordinal().range(Di)},ig.scale.category20c=function(){return ig.scale.ordinal().range(Ei)};var Bi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(ua),Ci=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(ua),Di=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(ua),Ei=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(ua);ig.scale.quantile=function(){return hf([],[])},ig.scale.quantize=function(){return jf(0,1,[0,1])},ig.scale.threshold=function(){return kf([.5],[0,1])},ig.scale.identity=function(){return lf([0,1])},ig.svg={},ig.svg.arc=function(){function a(){var a=Math.max(0,+c.apply(this,arguments)),j=Math.max(0,+d.apply(this,arguments)),k=g.apply(this,arguments)-Pg,l=h.apply(this,arguments)-Pg,m=Math.abs(l-k),n=k>l?0:1;if(a>j&&(o=j,j=a,a=o),m>=Og)return b(j,n)+(a?b(a,1-n):"")+"Z";var o,p,q,r,s,t,u,v,w,x,y,z,A=0,B=0,C=[];if((r=(+i.apply(this,arguments)||0)/2)&&(q=f===Fi?Math.sqrt(a*a+j*j):+f.apply(this,arguments),n||(B*=-1),j&&(B=ca(q/j*Math.sin(r))),a&&(A=ca(q/a*Math.sin(r)))),j){s=j*Math.cos(k+B),t=j*Math.sin(k+B),u=j*Math.cos(l-B),v=j*Math.sin(l-B);var D=Math.abs(l-k-2*B)<=Mg?0:1;if(B&&sf(s,t,u,v)===n^D){var E=(k+l)/2;s=j*Math.cos(E),t=j*Math.sin(E),u=v=null}}else s=t=0;if(a){w=a*Math.cos(l-A),x=a*Math.sin(l-A),y=a*Math.cos(k+A),z=a*Math.sin(k+A);var F=Math.abs(k-l+2*A)<=Mg?0:1;if(A&&sf(w,x,y,z)===1-n^F){var G=(k+l)/2;w=a*Math.cos(G),x=a*Math.sin(G),y=z=null}}else w=x=0;if(m>Kg&&(o=Math.min(Math.abs(j-a)/2,+e.apply(this,arguments)))>.001){p=j>a^n?0:1;var H=o,I=o;if(Mg>m){var J=null==y?[w,x]:null==u?[s,t]:Ic([s,t],[y,z],[u,v],[w,x]),K=s-J[0],L=t-J[1],M=u-J[0],N=v-J[1],O=1/Math.sin(Math.acos((K*M+L*N)/(Math.sqrt(K*K+L*L)*Math.sqrt(M*M+N*N)))/2),P=Math.sqrt(J[0]*J[0]+J[1]*J[1]);I=Math.min(o,(a-P)/(O-1)),H=Math.min(o,(j-P)/(O+1))}if(null!=u){var Q=tf(null==y?[w,x]:[y,z],[s,t],j,H,n),R=tf([u,v],[w,x],j,H,n);o===H?C.push("M",Q[0],"A",H,",",H," 0 0,",p," ",Q[1],"A",j,",",j," 0 ",1-n^sf(Q[1][0],Q[1][1],R[1][0],R[1][1]),",",n," ",R[1],"A",H,",",H," 0 0,",p," ",R[0]):C.push("M",Q[0],"A",H,",",H," 0 1,",p," ",R[0])}else C.push("M",s,",",t);if(null!=y){var S=tf([s,t],[y,z],a,-I,n),T=tf([w,x],null==u?[s,t]:[u,v],a,-I,n);o===I?C.push("L",T[0],"A",I,",",I," 0 0,",p," ",T[1],"A",a,",",a," 0 ",n^sf(T[1][0],T[1][1],S[1][0],S[1][1]),",",1-n," ",S[1],"A",I,",",I," 0 0,",p," ",S[0]):C.push("L",T[0],"A",I,",",I," 0 0,",p," ",S[0])}else C.push("L",w,",",x)}else C.push("M",s,",",t),null!=u&&C.push("A",j,",",j," 0 ",D,",",n," ",u,",",v),C.push("L",w,",",x),null!=y&&C.push("A",a,",",a," 0 ",F,",",1-n," ",y,",",z);return C.push("Z"),C.join("")}function b(a,b){return"M0,"+a+"A"+a+","+a+" 0 1,"+b+" 0,"+-a+"A"+a+","+a+" 0 1,"+b+" 0,"+a}var c=nf,d=of,e=mf,f=Fi,g=pf,h=qf,i=rf;return a.innerRadius=function(b){return arguments.length?(c=Ba(b),a):c},a.outerRadius=function(b){return arguments.length?(d=Ba(b),a):d},a.cornerRadius=function(b){return arguments.length?(e=Ba(b),a):e},a.padRadius=function(b){return arguments.length?(f=b==Fi?Fi:Ba(b),a):f},a.startAngle=function(b){return arguments.length?(g=Ba(b),a):g},a.endAngle=function(b){return arguments.length?(h=Ba(b),a):h},a.padAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.centroid=function(){var a=(+c.apply(this,arguments)+ +d.apply(this,arguments))/2,b=(+g.apply(this,arguments)+ +h.apply(this,arguments))/2-Pg;return[Math.cos(b)*a,Math.sin(b)*a]},a};var Fi="auto";ig.svg.line=function(){return uf(t)};var Gi=ig.map({linear:vf,"linear-closed":wf,step:xf,"step-before":yf,"step-after":zf,basis:Ff,"basis-open":Gf,"basis-closed":Hf,bundle:If,cardinal:Cf,"cardinal-open":Af,"cardinal-closed":Bf,monotone:Of});Gi.forEach(function(a,b){b.key=a,b.closed=/-closed$/.test(a)});var Hi=[0,2/3,1/3,0],Ii=[0,1/3,2/3,0],Ji=[0,1/6,2/3,1/6];ig.svg.line.radial=function(){var a=uf(Pf);return a.radius=a.x,delete a.x,a.angle=a.y,delete a.y,a},yf.reverse=zf,zf.reverse=yf,ig.svg.area=function(){return Qf(t)},ig.svg.area.radial=function(){var a=Qf(Pf);return a.radius=a.x,delete a.x,a.innerRadius=a.x0,delete a.x0,a.outerRadius=a.x1,delete a.x1,a.angle=a.y,delete a.y,a.startAngle=a.y0,delete a.y0,a.endAngle=a.y1,delete a.y1,a},ig.svg.chord=function(){function a(a,h){var i=b(this,f,a,h),j=b(this,g,a,h);return"M"+i.p0+d(i.r,i.p1,i.a1-i.a0)+(c(i,j)?e(i.r,i.p1,i.r,i.p0):e(i.r,i.p1,j.r,j.p0)+d(j.r,j.p1,j.a1-j.a0)+e(j.r,j.p1,i.r,i.p0))+"Z"}function b(a,b,c,d){var e=b.call(a,c,d),f=h.call(a,e,d),g=i.call(a,e,d)-Pg,k=j.call(a,e,d)-Pg;return{r:f,a0:g,a1:k,p0:[f*Math.cos(g),f*Math.sin(g)],p1:[f*Math.cos(k),f*Math.sin(k)]}}function c(a,b){return a.a0==b.a0&&a.a1==b.a1}function d(a,b,c){return"A"+a+","+a+" 0 "+ +(c>Mg)+",1 "+b}function e(a,b,c,d){return"Q 0,0 "+d}var f=tc,g=uc,h=Rf,i=pf,j=qf;return a.radius=function(b){return arguments.length?(h=Ba(b),a):h},a.source=function(b){return arguments.length?(f=Ba(b),a):f},a.target=function(b){return arguments.length?(g=Ba(b),a):g},a.startAngle=function(b){return arguments.length?(i=Ba(b),a):i},a.endAngle=function(b){return arguments.length?(j=Ba(b),a):j},a},ig.svg.diagonal=function(){function a(a,e){var f=b.call(this,a,e),g=c.call(this,a,e),h=(f.y+g.y)/2,i=[f,{x:f.x,y:h},{x:g.x,y:h},g];return i=i.map(d),"M"+i[0]+"C"+i[1]+" "+i[2]+" "+i[3]}var b=tc,c=uc,d=Sf;return a.source=function(c){return arguments.length?(b=Ba(c),a):b},a.target=function(b){return arguments.length?(c=Ba(b),a):c},a.projection=function(b){return arguments.length?(d=b,a):d},a},ig.svg.diagonal.radial=function(){var a=ig.svg.diagonal(),b=Sf,c=a.projection;return a.projection=function(a){return arguments.length?c(Tf(b=a)):b},a},ig.svg.symbol=function(){function a(a,d){return(Ki.get(b.call(this,a,d))||Wf)(c.call(this,a,d))}var b=Vf,c=Uf;return a.type=function(c){return arguments.length?(b=Ba(c),a):b},a.size=function(b){return arguments.length?(c=Ba(b),a):c},a};var Ki=ig.map({circle:Wf,cross:function(a){var b=Math.sqrt(a/5)/2;return"M"+-3*b+","+-b+"H"+-b+"V"+-3*b+"H"+b+"V"+-b+"H"+3*b+"V"+b+"H"+b+"V"+3*b+"H"+-b+"V"+b+"H"+-3*b+"Z"},diamond:function(a){var b=Math.sqrt(a/(2*Mi)),c=b*Mi;return"M0,"+-b+"L"+c+",0 0,"+b+" "+-c+",0Z"},square:function(a){var b=Math.sqrt(a)/2;return"M"+-b+","+-b+"L"+b+","+-b+" "+b+","+b+" "+-b+","+b+"Z"},"triangle-down":function(a){var b=Math.sqrt(a/Li),c=b*Li/2;return"M0,"+c+"L"+b+","+-c+" "+-b+","+-c+"Z"},"triangle-up":function(a){var b=Math.sqrt(a/Li),c=b*Li/2;return"M0,"+-c+"L"+b+","+c+" "+-b+","+c+"Z"}});ig.svg.symbolTypes=Ki.keys();var Li=Math.sqrt(3),Mi=Math.tan(30*Qg);Dg.transition=function(a){for(var b,c,d=Ni||++Ri,e=_f(a),f=[],g=Oi||{time:Date.now(),ease:Ad,delay:0,duration:250},h=-1,i=this.length;++hf;f++){e.push(b=[]);for(var c=this[f],h=0,i=c.length;i>h;h++)(d=c[h])&&a.call(d,d.__data__,h,f)&&b.push(d)}return Yf(e,this.namespace,this.id)},Qi.tween=function(a,b){var c=this.id,d=this.namespace;return arguments.length<2?this.node()[d][c].tween.get(a):S(this,null==b?function(b){b[d][c].tween.remove(a)}:function(e){e[d][c].tween.set(a,b)})},Qi.attr=function(a,b){function c(){this.removeAttribute(h)}function d(){this.removeAttributeNS(h.space,h.local)}function e(a){return null==a?c:(a+="",function(){var b,c=this.getAttribute(h);return c!==a&&(b=g(c,a),function(a){this.setAttribute(h,b(a))})})}function f(a){return null==a?d:(a+="",function(){var b,c=this.getAttributeNS(h.space,h.local);return c!==a&&(b=g(c,a),function(a){this.setAttributeNS(h.space,h.local,b(a))})})}if(arguments.length<2){for(b in a)this.attr(b,a[b]);return this}var g="transform"==a?Vd:td,h=ig.ns.qualify(a);return Zf(this,"attr."+a,b,h.local?f:e)},Qi.attrTween=function(a,b){function c(a,c){var d=b.call(this,a,c,this.getAttribute(e));return d&&function(a){this.setAttribute(e,d(a))}}function d(a,c){var d=b.call(this,a,c,this.getAttributeNS(e.space,e.local));return d&&function(a){this.setAttributeNS(e.space,e.local,d(a))}}var e=ig.ns.qualify(a);return this.tween("attr."+a,e.local?d:c)},Qi.style=function(a,b,d){function e(){this.style.removeProperty(a)}function f(b){return null==b?e:(b+="",function(){var e,f=c(this).getComputedStyle(this,null).getPropertyValue(a);return f!==b&&(e=td(f,b),function(b){this.style.setProperty(a,e(b),d)})})}var g=arguments.length;if(3>g){if("string"!=typeof a){2>g&&(b="");for(d in a)this.style(d,a[d],b);return this}d=""}return Zf(this,"style."+a,b,f)},Qi.styleTween=function(a,b,d){function e(e,f){var g=b.call(this,e,f,c(this).getComputedStyle(this,null).getPropertyValue(a));return g&&function(b){this.style.setProperty(a,g(b),d)}}return arguments.length<3&&(d=""),this.tween("style."+a,e)},Qi.text=function(a){return Zf(this,"text",a,$f)},Qi.remove=function(){var a=this.namespace;return this.each("end.transition",function(){var b;this[a].count<2&&(b=this.parentNode)&&b.removeChild(this)})},Qi.ease=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].ease:("function"!=typeof a&&(a=ig.ease.apply(ig,arguments)),S(this,function(d){d[c][b].ease=a}))},Qi.delay=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].delay:S(this,"function"==typeof a?function(d,e,f){d[c][b].delay=+a.call(d,d.__data__,e,f)}:(a=+a,function(d){d[c][b].delay=a}))},Qi.duration=function(a){var b=this.id,c=this.namespace;return arguments.length<1?this.node()[c][b].duration:S(this,"function"==typeof a?function(d,e,f){d[c][b].duration=Math.max(1,a.call(d,d.__data__,e,f))}:(a=Math.max(1,a),function(d){d[c][b].duration=a}))},Qi.each=function(a,b){var c=this.id,d=this.namespace;if(arguments.length<2){var e=Oi,f=Ni;try{Ni=c,S(this,function(b,e,f){Oi=b[d][c],a.call(b,b.__data__,e,f)})}finally{Oi=e,Ni=f}}else S(this,function(e){var f=e[d][c];(f.event||(f.event=ig.dispatch("start","end","interrupt"))).on(a,b)});return this},Qi.transition=function(){for(var a,b,c,d,e=this.id,f=++Ri,g=this.namespace,h=[],i=0,j=this.length;j>i;i++){h.push(a=[]);for(var b=this[i],k=0,l=b.length;l>k;k++)(c=b[k])&&(d=c[g][e],ag(c,k,g,f,{time:d.time,ease:d.ease,delay:d.delay+d.duration,duration:d.duration})),a.push(c)}return Yf(h,g,f)},ig.svg.axis=function(){function a(a){a.each(function(){var a,j=ig.select(this),k=this.__chart__||c,l=this.__chart__=c.copy(),m=null==i?l.ticks?l.ticks.apply(l,h):l.domain():i,n=null==b?l.tickFormat?l.tickFormat.apply(l,h):t:b,o=j.selectAll(".tick").data(m,l),p=o.enter().insert("g",".domain").attr("class","tick").style("opacity",Kg),q=ig.transition(o.exit()).style("opacity",Kg).remove(),r=ig.transition(o.order()).style("opacity",1),s=Math.max(e,0)+g,u=Se(l),v=j.selectAll(".domain").data([0]),w=(v.enter().append("path").attr("class","domain"),ig.transition(v));p.append("line"),p.append("text");var x,y,z,A,B=p.select("line"),C=r.select("line"),D=o.select("text").text(n),E=p.select("text"),F=r.select("text"),G="top"===d||"left"===d?-1:1;if("bottom"===d||"top"===d?(a=bg,x="x",z="y",y="x2",A="y2",D.attr("dy",0>G?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+u[0]+","+G*f+"V0H"+u[1]+"V"+G*f)):(a=cg,x="y",z="x",y="y2",A="x2",D.attr("dy",".32em").style("text-anchor",0>G?"end":"start"),w.attr("d","M"+G*f+","+u[0]+"H0V"+u[1]+"H"+G*f)),B.attr(A,G*e),E.attr(z,G*s), -C.attr(y,0).attr(A,G*e),F.attr(x,0).attr(z,G*s),l.rangeBand){var H=l,I=H.rangeBand()/2;k=l=function(a){return H(a)+I}}else k.rangeBand?k=l:q.call(a,l,k);p.call(a,k,l),r.call(a,l,l)})}var b,c=ig.scale.linear(),d=Si,e=6,f=6,g=3,h=[10],i=null;return a.scale=function(b){return arguments.length?(c=b,a):c},a.orient=function(b){return arguments.length?(d=b in Ti?b+"":Si,a):d},a.ticks=function(){return arguments.length?(h=kg(arguments),a):h},a.tickValues=function(b){return arguments.length?(i=b,a):i},a.tickFormat=function(c){return arguments.length?(b=c,a):b},a.tickSize=function(b){var c=arguments.length;return c?(e=+b,f=+arguments[c-1],a):e},a.innerTickSize=function(b){return arguments.length?(e=+b,a):e},a.outerTickSize=function(b){return arguments.length?(f=+b,a):f},a.tickPadding=function(b){return arguments.length?(g=+b,a):g},a.tickSubdivide=function(){return arguments.length&&a},a};var Si="bottom",Ti={top:1,right:1,bottom:1,left:1};ig.svg.brush=function(){function a(c){c.each(function(){var c=ig.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",f).on("touchstart.brush",f),g=c.selectAll(".background").data([0]);g.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),c.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var h=c.selectAll(".resize").data(p,t);h.exit().remove(),h.enter().append("g").attr("class",function(a){return"resize "+a}).style("cursor",function(a){return Ui[a]}).append("rect").attr("x",function(a){return/[ew]$/.test(a)?-3:null}).attr("y",function(a){return/^[ns]/.test(a)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),h.style("display",a.empty()?"none":null);var i,l=ig.transition(c),m=ig.transition(g);j&&(i=Se(j),m.attr("x",i[0]).attr("width",i[1]-i[0]),d(l)),k&&(i=Se(k),m.attr("y",i[0]).attr("height",i[1]-i[0]),e(l)),b(l)})}function b(a){a.selectAll(".resize").attr("transform",function(a){return"translate("+l[+/e$/.test(a)]+","+m[+/^s/.test(a)]+")"})}function d(a){a.select(".extent").attr("x",l[0]),a.selectAll(".extent,.n>rect,.s>rect").attr("width",l[1]-l[0])}function e(a){a.select(".extent").attr("y",m[0]),a.selectAll(".extent,.e>rect,.w>rect").attr("height",m[1]-m[0])}function f(){function f(){32==ig.event.keyCode&&(D||(t=null,F[0]-=l[1],F[1]-=m[1],D=2),z())}function p(){32==ig.event.keyCode&&2==D&&(F[0]+=l[1],F[1]+=m[1],D=0,z())}function q(){var a=ig.mouse(v),c=!1;u&&(a[0]+=u[0],a[1]+=u[1]),D||(ig.event.altKey?(t||(t=[(l[0]+l[1])/2,(m[0]+m[1])/2]),F[0]=l[+(a[0]k?(e=d,d=k):e=k),p[0]!=d||p[1]!=e?(c?h=null:g=null,p[0]=d,p[1]=e,!0):void 0}function s(){q(),y.style("pointer-events","all").selectAll(".resize").style("display",a.empty()?"none":null),ig.select("body").style("cursor",null),G.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),E(),x({type:"brushend"})}var t,u,v=this,w=ig.select(ig.event.target),x=i.of(v,arguments),y=ig.select(v),A=w.datum(),B=!/^(n|s)$/.test(A)&&j,C=!/^(e|w)$/.test(A)&&k,D=w.classed("extent"),E=Y(v),F=ig.mouse(v),G=ig.select(c(v)).on("keydown.brush",f).on("keyup.brush",p);if(ig.event.changedTouches?G.on("touchmove.brush",q).on("touchend.brush",s):G.on("mousemove.brush",q).on("mouseup.brush",s),y.interrupt().selectAll("*").interrupt(),D)F[0]=l[0]-F[0],F[1]=m[0]-F[1];else if(A){var H=+/w$/.test(A),I=+/^n/.test(A);u=[l[1-H]-F[0],m[1-I]-F[1]],F[0]=l[H],F[1]=m[I]}else ig.event.altKey&&(t=F.slice());y.style("pointer-events","none").selectAll(".resize").style("display",null),ig.select("body").style("cursor",w.style("cursor")),x({type:"brushstart"}),q()}var g,h,i=B(a,"brushstart","brush","brushend"),j=null,k=null,l=[0,0],m=[0,0],n=!0,o=!0,p=Vi[0];return a.event=function(a){a.each(function(){var a=i.of(this,arguments),b={x:l,y:m,i:g,j:h},c=this.__chart__||b;this.__chart__=b,Ni?ig.select(this).transition().each("start.brush",function(){g=c.i,h=c.j,l=c.x,m=c.y,a({type:"brushstart"})}).tween("brush:brush",function(){var c=ud(l,b.x),d=ud(m,b.y);return g=h=null,function(e){l=b.x=c(e),m=b.y=d(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){g=b.i,h=b.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},a.x=function(b){return arguments.length?(j=b,p=Vi[!j<<1|!k],a):j},a.y=function(b){return arguments.length?(k=b,p=Vi[!j<<1|!k],a):k},a.clamp=function(b){return arguments.length?(j&&k?(n=!!b[0],o=!!b[1]):j?n=!!b:k&&(o=!!b),a):j&&k?[n,o]:j?n:k?o:null},a.extent=function(b){var c,d,e,f,i;return arguments.length?(j&&(c=b[0],d=b[1],k&&(c=c[0],d=d[0]),g=[c,d],j.invert&&(c=j(c),d=j(d)),c>d&&(i=c,c=d,d=i),(c!=l[0]||d!=l[1])&&(l=[c,d])),k&&(e=b[0],f=b[1],j&&(e=e[1],f=f[1]),h=[e,f],k.invert&&(e=k(e),f=k(f)),e>f&&(i=e,e=f,f=i),(e!=m[0]||f!=m[1])&&(m=[e,f])),a):(j&&(g?(c=g[0],d=g[1]):(c=l[0],d=l[1],j.invert&&(c=j.invert(c),d=j.invert(d)),c>d&&(i=c,c=d,d=i))),k&&(h?(e=h[0],f=h[1]):(e=m[0],f=m[1],k.invert&&(e=k.invert(e),f=k.invert(f)),e>f&&(i=e,e=f,f=i))),j&&k?[[c,e],[d,f]]:j?[c,d]:k&&[e,f])},a.clear=function(){return a.empty()||(l=[0,0],m=[0,0],g=h=null),a},a.empty=function(){return!!j&&l[0]==l[1]||!!k&&m[0]==m[1]},ig.rebind(a,i,"on")};var Ui={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Vi=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wi=nh.format=th.timeFormat,Xi=Wi.utc,Yi=Xi("%Y-%m-%dT%H:%M:%S.%LZ");Wi.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?dg:Yi,dg.parse=function(a){var b=new Date(a);return isNaN(b)?null:b},dg.toString=Yi.toString,nh.second=Pa(function(a){return new oh(1e3*Math.floor(a/1e3))},function(a,b){a.setTime(a.getTime()+1e3*Math.floor(b))},function(a){return a.getSeconds()}),nh.seconds=nh.second.range,nh.seconds.utc=nh.second.utc.range,nh.minute=Pa(function(a){return new oh(6e4*Math.floor(a/6e4))},function(a,b){a.setTime(a.getTime()+6e4*Math.floor(b))},function(a){return a.getMinutes()}),nh.minutes=nh.minute.range,nh.minutes.utc=nh.minute.utc.range,nh.hour=Pa(function(a){var b=a.getTimezoneOffset()/60;return new oh(36e5*(Math.floor(a/36e5-b)+b))},function(a,b){a.setTime(a.getTime()+36e5*Math.floor(b))},function(a){return a.getHours()}),nh.hours=nh.hour.range,nh.hours.utc=nh.hour.utc.range,nh.month=Pa(function(a){return a=nh.day(a),a.setDate(1),a},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()}),nh.months=nh.month.range,nh.months.utc=nh.month.utc.range;var Zi=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],$i=[[nh.second,1],[nh.second,5],[nh.second,15],[nh.second,30],[nh.minute,1],[nh.minute,5],[nh.minute,15],[nh.minute,30],[nh.hour,1],[nh.hour,3],[nh.hour,6],[nh.hour,12],[nh.day,1],[nh.day,2],[nh.week,1],[nh.month,1],[nh.month,3],[nh.year,1]],_i=Wi.multi([[".%L",function(a){return a.getMilliseconds()}],[":%S",function(a){return a.getSeconds()}],["%I:%M",function(a){return a.getMinutes()}],["%I %p",function(a){return a.getHours()}],["%a %d",function(a){return a.getDay()&&1!=a.getDate()}],["%b %d",function(a){return 1!=a.getDate()}],["%B",function(a){return a.getMonth()}],["%Y",Eb]]),aj={range:function(a,b,c){return ig.range(Math.ceil(a/c)*c,+b,c).map(fg)},floor:t,ceil:t};$i.year=nh.year,nh.scale=function(){return eg(ig.scale.linear(),$i,_i)};var bj=$i.map(function(a){return[a[0].utc,a[1]]}),cj=Xi.multi([[".%L",function(a){return a.getUTCMilliseconds()}],[":%S",function(a){return a.getUTCSeconds()}],["%I:%M",function(a){return a.getUTCMinutes()}],["%I %p",function(a){return a.getUTCHours()}],["%a %d",function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],["%b %d",function(a){return 1!=a.getUTCDate()}],["%B",function(a){return a.getUTCMonth()}],["%Y",Eb]]);bj.year=nh.year.utc,nh.scale.utc=function(){return eg(ig.scale.linear(),bj,cj)},ig.text=Ca(function(a){return a.responseText}),ig.json=function(a,b){return Da(a,"application/json",gg,b)},ig.html=function(a,b){return Da(a,"text/html",hg,b)},ig.xml=Ca(function(a){return a.responseXML}),"function"==typeof define&&define.amd?(this.d3=ig,define(ig)):"object"==typeof b&&b.exports?b.exports=ig:this.d3=ig}()},{}],5:[function(a,b,c){!function(a){function b(){return""===i.hash||"#"===i.hash}function c(a,b){for(var c=0;cc;c++)b=b.concat(a[c]);return b}function e(a,b,c){if(!a.length)return c();var d=0;!function e(){b(a[d],function(b){b||b===!1?(c(b),c=function(){}):(d+=1,d===a.length?c():e())})}()}function f(a,b,c){c=a;for(var d in b)if(b.hasOwnProperty(d)&&(c=b[d](a),c!==a))break;return c===a?"([._a-zA-Z0-9-%()]+)":c}function g(a,b){for(var c,d=0,e="";c=a.substr(d).match(/[^\w\d\- %@&]*\*[^\w\d\- %@&]*/);)d=c.index+c[0].length,c[0]=c[0].replace(/^\*/,"([_.()!\\ %@&a-zA-Z0-9-]+)"),e+=a.substr(0,c.index)+c[0];a=e+=a.substr(d);var g,h,i=a.match(/:([^\/]+)/gi);if(i){h=i.length;for(var j=0;h>j;j++)g=i[j],a="::"===g.slice(0,2)?g.slice(1):a.replace(g,f(g,b))}return a}function h(a,b,c,d){var e,f=0,g=0,h=0,c=(c||"(").toString(),d=(d||")").toString();for(e=0;ei.indexOf(d,f)||~i.indexOf(c,f)&&!~i.indexOf(d,f)||!~i.indexOf(c,f)&&~i.indexOf(d,f)){if(g=i.indexOf(c,f),h=i.indexOf(d,f),~g&&!~h||!~g&&~h){var j=a.slice(0,(e||1)+1).join(b);a=[j].concat(a.slice((e||1)+1))}f=(h>g?h:g)+1,e=0}else f=0}return a}var i=document.location,j={mode:"modern",hash:i.hash,history:!1,check:function(){var a=i.hash;a!=this.hash&&(this.hash=a,this.onHashChanged())},fire:function(){"modern"===this.mode?this.history===!0?window.onpopstate():window.onhashchange():this.onHashChanged()},init:function(a,b){function c(a){for(var b=0,c=k.listeners.length;c>b;b++)k.listeners[b](a)}var d=this;if(this.history=b,k.listeners||(k.listeners=[]),"onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7))this.history===!0?setTimeout(function(){window.onpopstate=c},500):window.onhashchange=c,this.mode="modern";else{var e=document.createElement("iframe");e.id="state-frame",e.style.display="none",document.body.appendChild(e),this.writeFrame(""),"onpropertychange"in document&&"attachEvent"in document&&document.attachEvent("onpropertychange",function(){"location"===event.propertyName&&d.check()}),window.setInterval(function(){d.check()},50),this.onHashChanged=c,this.mode="legacy"}return k.listeners.push(a),this.mode},destroy:function(a){if(k&&k.listeners)for(var b=k.listeners,c=b.length-1;c>=0;c--)b[c]===a&&b.splice(c,1)},setHash:function(a){return"legacy"===this.mode&&this.writeFrame(a),this.history===!0?(window.history.pushState({},document.title,a),this.fire()):i.hash="/"===a[0]?a:"/"+a,this},writeFrame:function(a){var b=document.getElementById("state-frame"),c=b.contentDocument||b.contentWindow.document;c.open(),c.write("'),a=""+a+"";try{this.Ea.eb.open(),this.Ea.eb.write(a),this.Ea.eb.close()}catch(f){Cb("frame writing exception"),f.stack&&Cb(f.stack),Cb(f)}}function nh(a){if(a.le&&a.Xd&&a.Pe.count()<(0=a.ad[0].kf.length+30+c.length;){var e=a.ad.shift(),c=c+"&seg"+d+"="+e.Mg+"&ts"+d+"="+e.Ug+"&d"+d+"="+e.kf;d++}return oh(a,b+c,a.te),!0}return!1}function oh(a,b,c){function d(){a.Pe.remove(c),nh(a)}a.Pe.add(c,1);var e=setTimeout(d,Math.floor(25e3));mh(a,b,function(){clearTimeout(e),d()})}function mh(a,b,c){setTimeout(function(){try{if(a.Xd){var d=a.Ea.eb.createElement("script");d.type="text/javascript",d.async=!0,d.src=b,d.onload=d.onreadystatechange=function(){var a=d.readyState;a&&"loaded"!==a&&"complete"!==a||(d.onload=d.onreadystatechange=null,d.parentNode&&d.parentNode.removeChild(d),c())},d.onerror=function(){Cb("Long-poll script failed to load: "+b),a.Xd=!1,a.close()},a.Ea.eb.body.appendChild(d)}}catch(e){}},Math.floor(1))}function qh(a,b,c,d){this.re=a,this.f=Mc(this.re),this.frames=this.Kc=null,this.nb=this.ob=this.bf=0,this.Ua=Rb(b),a={v:"5"},"undefined"!=typeof location&&location.href&&-1!==location.href.indexOf("firebaseio.com")&&(a.r="f"),c&&(a.s=c),d&&(a.ls=d),this.ef=Bc(b,Cc,a)}function th(a,b){if(a.frames.push(b),a.frames.length==a.bf){var c=a.frames.join("");a.frames=null,c=nb(c),a.zg(c)}}function sh(a){clearInterval(a.Kc),a.Kc=setInterval(function(){a.ua&&a.ua.send("0"),sh(a)},Math.floor(45e3))}function uh(a){vh(this,a)}function vh(a,b){var c=qh&&qh.isAvailable(),d=c&&!(xc.wf||!0===xc.get("previous_websocket_failure"));if(b.Wg&&(c||O("wss:// URL used, but browser isn't known to support websockets. Trying anyway."),d=!0),d)a.gd=[qh];else{var e=a.gd=[];Wc(wh,function(a,b){b&&b.isAvailable()&&e.push(b)})}}function xh(a){if(00&&(a.yd=setTimeout(function(){a.yd=null,a.Ab||(a.J&&102400=a.Mf?(a.f("Secondary connection is healthy."),a.Ab=!0,a.D.Ed(),a.D.start(),a.f("sending client ack on secondary"),a.D.send({t:"c",d:{t:"a",d:{}}}),a.f("Ending transmission on primary"),a.J.send({t:"c",d:{t:"n",d:{}}}),a.hd=a.D,Eh(a)):(a.f("sending ping on secondary."),a.D.send({t:"c",d:{t:"p",d:{}}}))}function Gh(a){a.Ab||(a.Re--,0>=a.Re&&(a.f("Primary connection is healthy."),a.Ab=!0,a.J.Ed()))}function Dh(a,b){a.D=new b("c:"+a.id+":"+a.ff++,a.F,a.Nf),a.Mf=b.responsesRequiredToBeHealthy||0,a.D.open(Ah(a,a.D),Bh(a,a.D)),setTimeout(function(){a.D&&(a.f("Timed out trying to upgrade."),a.D.close())},Math.floor(6e4))}function Ch(a,b,c){a.f("Realtime connection established."),a.J=b,a.Ta=1,a.Wc&&(a.Wc(c,a.Nf),a.Wc=null),0===a.Re?(a.f("Primary connection is healthy."),a.Ab=!0):setTimeout(function(){Hh(a)},Math.floor(5e3))}function Hh(a){a.Ab||1!==a.Ta||(a.f("sending ping on primary."),Jh(a,{t:"c",d:{t:"p",d:{}}}))}function Jh(a,b){if(1!==a.Ta)throw"Connection is not connected";a.hd.send(b)}function Fh(a){a.f("Shutting down all connections"),a.J&&(a.J.close(),a.J=null),a.D&&(a.D.close(),a.D=null),a.yd&&(clearTimeout(a.yd),a.yd=null)}function Kh(a,b,c,d){this.id=Lh++,this.f=Mc("p:"+this.id+":"),this.xf=this.Ee=!1,this.$={},this.qa=[],this.Yc=0,this.Vc=[],this.oa=!1,this.Za=1e3,this.Fd=3e5,this.Gb=b,this.Uc=c,this.Oe=d,this.F=a,this.sb=this.Aa=this.Ia=this.Bb=this.We=null,this.Ob=!1,this.Td={},this.Lg=0,this.nf=!0,this.Lc=this.Ge=null,Mh(this,0),He.ub().Eb("visible",this.Cg,this),-1===a.host.indexOf("fblocal")&&Ge.ub().Eb("online",this.Ag,this)}function Oh(a,b){var c=b.Ig,d=c.path.toString(),e=c.va();a.f("Listen on "+d+" for "+e);var f={p:d};b.tag&&(f.q=ee(c.n),f.t=b.tag),f.h=b.xd(),a.Fa("q",f,function(f){var g=f.d,h=f.s;if(g&&"object"==typeof g&&v(g,"w")){var i=w(g,"w");ea(i)&&0<=Na(i,"no_index")&&O("Using an unspecified index. Consider adding "+('".indexOn": "'+c.n.g.toString()+'"')+" at "+c.path.toString()+" to your security rules for better performance")}(a.$[d]&&a.$[d][e])===b&&(a.f("listen response",f),"ok"!==h&&Ph(a,d,e),b.H&&b.H(h,g))})}function Qh(a){var b=a.Aa;a.oa&&b&&a.Fa("auth",{cred:b.ig},function(c){var d=c.s;c=c.d||"error","ok"!==d&&a.Aa===b&&delete a.Aa,b.of?"ok"!==d&&b.md&&b.md(d,c):(b.of=!0,b.zc&&b.zc(d,c))})}function Rh(a,b,c,d,e){c={p:c,d:d},a.f("onDisconnect "+b,c),a.Fa(b,c,function(a){e&&setTimeout(function(){e(a.s,a.d)},Math.floor(0))})}function Sh(a,b,c,d,e,f){d={p:c,d:d},n(f)&&(d.h=f),a.qa.push({action:b,Jf:d,H:e}),a.Yc++,b=a.qa.length-1,a.oa?Th(a,b):a.f("Buffering put: "+c)}function Th(a,b){var c=a.qa[b].action,d=a.qa[b].Jf,e=a.qa[b].H;a.qa[b].Jg=a.oa,a.Fa(c,d,function(d){a.f(c+" response",d),delete a.qa[b],a.Yc--,0===a.Yc&&(a.qa=[]),e&&e(d.s,d.d)})}function Mh(a,b){K(!a.Ia,"Scheduling a connect when we're already connected/ing?"),a.sb&&clearTimeout(a.sb),a.sb=setTimeout(function(){a.sb=null,Wh(a)},Math.floor(b))}function Wh(a){if(Xh(a)){a.f("Making a connection attempt"),a.Ge=(new Date).getTime(),a.Lc=null;var b=q(a.Id,a),c=q(a.Wc,a),d=q(a.Df,a),e=a.id+":"+Nh++;a.Ia=new yh(e,a.F,b,c,d,function(b){O(b+" ("+a.F.toString()+")"),a.xf=!0},a.Bb)}}function Uh(a,b,c){c=c?Qa(c,function(a){return Uc(a)}).join("$"):"default",(a=Ph(a,b,c))&&a.H&&a.H("permission_denied")}function Ph(a,b,c){b=new L(b).toString();var d;return n(a.$[b])?(d=a.$[b][c],delete a.$[b][c],0===pa(a.$[b])&&delete a.$[b]):d=void 0,d}function Vh(a){Qh(a),r(a.$,function(b){r(b,function(b){Oh(a,b)})});for(var b=0;b.firebaseio.com instead"),c&&"undefined"!=c||Oc("Cannot parse Firebase url. Please use https://.firebaseio.com"),d.kb||"undefined"!=typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&O("Insecure Firebase access from a secure page. Please use https in calls to new Firebase()."),c=new zc(d.host,d.kb,c,"ws"===d.scheme||"wss"===d.scheme),d=new L(d.$c),e=d.toString();var f;if(!(f=!p(c.host)||0===c.host.length||!$f(c.hc))&&(f=0!==e.length)&&(e&&(e=e.replace(/^\/*\.info(\/|$)/,"/")),f=!(p(e)&&0!==e.length&&!Yf.test(e))),f)throw Error(y("new Firebase",1,!1)+'must be a valid firebase URL and the path can\'t contain ".", "#", "$", "[", or "]".');if(b)if(b instanceof W)e=b;else{if(!p(b))throw Error("Expected a valid Firebase.Context for second argument to new Firebase()");e=W.ub(),c.Od=b}else e=W.ub();f=c.toString();var g=w(e.oc,f);g||(g=new Yh(c,e.Sf),e.oc[f]=g),c=g}Y.call(this,c,d,be,!1)}function Lc(a,b){K(!b||!0===a||!1===a,"Can't turn on custom loggers persistently."),!0===a?("undefined"!=typeof console&&("function"==typeof console.log?Bb=q(console.log,console):"object"==typeof console.log&&(Bb=function(a){console.log(a)})),b&&yc.set("logging_enabled",!0)):a?Bb=a:(Bb=null,yc.remove("logging_enabled"))}var g,aa=this,la=Date.now||function(){return+new Date},ya="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Ea={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\x0B":"\\u000b"},Fa=/\uffff/.test("￿")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g,Ha;a:{var Ia=aa.navigator;if(Ia){var Ja=Ia.userAgent;if(Ja){Ha=Ja;break a}}Ha=""}ma(La,Ka),La.prototype.reset=function(){this.N[0]=1732584193,this.N[1]=4023233417,this.N[2]=2562383102,this.N[3]=271733878,this.N[4]=3285377520,this.de=this.ac=0},La.prototype.update=function(a,b){if(null!=a){n(b)||(b=a.length);for(var c=b-this.Va,d=0,e=this.me,f=this.ac;b>d;){if(0==f)for(;c>=d;)Ma(this,a,d),d+=this.Va;if(p(a)){for(;b>d;)if(e[f]=a.charCodeAt(d),++f,++d,f==this.Va){Ma(this,e),f=0;break}}else for(;b>d;)if(e[f]=a[d],++f,++d,f==this.Va){Ma(this,e),f=0;break}}this.ac=f,this.de+=b}};var u=Array.prototype,Na=u.indexOf?function(a,b,c){return u.indexOf.call(a,b,c)}:function(a,b,c){if(c=null==c?0:0>c?Math.max(0,a.length+c):c,p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;cf;f++)f in e&&b.call(c,e[f],f,a)},Pa=u.filter?function(a,b,c){return u.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=p(a)?a.split(""):a,h=0;d>h;h++)if(h in g){var i=g[h];b.call(c,i,h,a)&&(e[f++]=i)}return e},Qa=u.map?function(a,b,c){return u.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=p(a)?a.split(""):a,g=0;d>g;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},Ra=u.reduce?function(a,b,c,d){for(var e=[],f=1,g=arguments.length;g>f;f++)e.push(arguments[f]);return d&&(e[0]=q(b,d)),u.reduce.apply(a,e)}:function(a,b,c,d){var e=c;return Oa(a,function(c,f){e=b.call(d,e,c,f,a)}),e},Sa=u.every?function(a,b,c){return u.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;d>f;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0},Za=-1!=Ha.indexOf("Opera")||-1!=Ha.indexOf("OPR"),$a=-1!=Ha.indexOf("Trident")||-1!=Ha.indexOf("MSIE"),ab=-1!=Ha.indexOf("Gecko")&&-1==Ha.toLowerCase().indexOf("webkit")&&!(-1!=Ha.indexOf("Trident")||-1!=Ha.indexOf("MSIE")),bb=-1!=Ha.toLowerCase().indexOf("webkit");!function(){var a,b="";return Za&&aa.opera?(b=aa.opera.version,ha(b)?b():b):(ab?a=/rv\:([^\);]+)(\)|;)/:$a?a=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/:bb&&(a=/WebKit\/(\S+)/),a&&(b=(b=a.exec(Ha))?b[1]:""),$a&&(a=(a=aa.document)?a.documentMode:void 0,a>parseFloat(b))?String(a):b)}();var cb=null,db=null,eb=null,hb=hb||"2.3.2";ob.prototype.j=function(a){return this.Wd.Q(a)},ob.prototype.toString=function(){return this.Wd.toString()},pb.prototype.qf=function(){return null},pb.prototype.ye=function(){return null};var qb=new pb;rb.prototype.qf=function(a){var b=this.Ka.O;return sb(b,a)?b.j().R(a):(b=null!=this.Kd?new tb(this.Kd,!0,!1):this.Ka.w(),this.Tf.xc(a,b))},rb.prototype.ye=function(a,b,c){var d=null!=this.Kd?this.Kd:ub(this.Ka);return a=this.Tf.ne(d,b,1,c,a),0===a.length?null:a[0]},xb.prototype.add=function(a){this.vd.push(a)},xb.prototype.Zb=function(){return this.ra};var Fb="value";Gb.prototype.Zb=function(){var a=this.Zd.Ib();return"value"===this.ud?a.path:a.parent().path},Gb.prototype.ze=function(){return this.ud},Gb.prototype.Vb=function(){return this.ue.Vb(this)},Gb.prototype.toString=function(){return this.Zb().toString()+":"+this.ud+":"+B(this.Zd.mf())},Hb.prototype.Zb=function(){return this.path},Hb.prototype.ze=function(){return"cancel"},Hb.prototype.Vb=function(){return this.ue.Vb(this)},Hb.prototype.toString=function(){return this.path.toString()+":cancel"},tb.prototype.j=function(){return this.A},Lb.prototype.get=function(){var a=this.gg.get(),b=xa(a);if(this.Dd)for(var c in this.Dd)b[c]-=this.Dd[c];return this.Dd=a,b},Mb.prototype.If=function(){var a,b=this.fd.get(),c={},d=!1;for(a in b)0b?c=c.left:b>0&&(c=c.right)}return null},g.e=function(){return this.wa.e()},g.count=function(){return this.wa.count()},g.Sc=function(){return this.wa.Sc()},g.fc=function(){return this.wa.fc()},g.ia=function(a){return this.wa.ia(a)},g.Xb=function(a){return new dc(this.wa,null,this.La,!1,a)},g.Yb=function(a,b){return new dc(this.wa,a,this.La,!1,b)},g.$b=function(a,b){return new dc(this.wa,a,this.La,!0,b)},g.sf=function(a){return new dc(this.wa,null,this.La,!0,a)},g=fc.prototype,g.Y=function(a,b,c,d,e){return new fc(null!=a?a:this.key,null!=b?b:this.value,null!=c?c:this.color,null!=d?d:this.left,null!=e?e:this.right)},g.count=function(){return this.left.count()+1+this.right.count()},g.e=function(){return!1},g.ia=function(a){return this.left.ia(a)||a(this.key,this.value)||this.right.ia(a)},g.Sc=function(){return gc(this).key},g.fc=function(){return this.right.e()?this.key:this.right.fc()},g.Oa=function(a,b,c){var d,e;return e=this,d=c(a,e.key),e=0>d?e.Y(null,null,null,e.left.Oa(a,b,c),null):0===d?e.Y(null,b,null,null,null):e.Y(null,null,null,null,e.right.Oa(a,b,c)),hc(e)},g.remove=function(a,b){var c,d;if(c=this,0>b(a,c.key))c.left.e()||c.left.fa()||c.left.left.fa()||(c=jc(c)),c=c.Y(null,null,null,c.left.remove(a,b),null);else{if(c.left.fa()&&(c=kc(c)),c.right.e()||c.right.fa()||c.right.left.fa()||(c=lc(c),c.left.left.fa()&&(c=kc(c),c=lc(c))),0===b(a,c.key)){if(c.right.e())return bc;d=gc(c.right),c=c.Y(d.key,d.value,null,null,ic(c.right))}c=c.Y(null,null,null,null,c.right.remove(a,b))}return hc(c)},g.fa=function(){return this.color},g=nc.prototype,g.Y=function(){return this},g.Oa=function(a,b){return new fc(a,b,null)},g.remove=function(){return this},g.count=function(){return 0},g.e=function(){return!0},g.ia=function(){return!1},g.Sc=function(){return null},g.fc=function(){return null},g.fa=function(){return!1};var bc=new nc;uc.prototype.set=function(a,b){null==b?delete this.wc[a]:this.wc[a]=b},uc.prototype.get=function(a){return v(this.wc,a)?this.wc[a]:null},uc.prototype.remove=function(a){delete this.wc[a]},uc.prototype.wf=!0,g=vc.prototype,g.set=function(a,b){null==b?this.Fc.removeItem(this.Pd+a):this.Fc.setItem(this.Pd+a,B(b))},g.get=function(a){return a=this.Fc.getItem(this.Pd+a),null==a?null:nb(a)},g.remove=function(a){this.Fc.removeItem(this.Pd+a)},g.wf=!1,g.toString=function(){return this.Fc.toString()};var xc=wc("localStorage"),yc=wc("sessionStorage");zc.prototype.toString=function(){var a=(this.kb?"https://":"http://")+this.host;return this.Od&&(a+="<"+this.Od+">"),a};var Ec=function(){var a=1;return function(){return a++}}(),Bb=null,Kc=!0,Yc=/^-?\d{1,10}$/;cd.prototype.hg=function(a,b){if(null==a.Wa||null==b.Wa)throw Fc("Should only compare child_ events.");return this.g.compare(new F(a.Wa,a.Ja),new F(b.Wa,b.Ja))},g=id.prototype,g.Kf=function(a){return"value"===a},g.createEvent=function(a,b){var c=b.n.g;return new Gb("value",this,new Q(a.Ja,b.Ib(),c))},g.Vb=function(a){var b=this.rb;if("cancel"===a.ze()){K(this.pb,"Raising a cancel event on a listener with no cancel callback");var c=this.pb;return function(){c.call(b,a.error)}}var d=this.Rb;return function(){d.call(b,a.Zd)}},g.gf=function(a,b){return this.pb?new Hb(this,a,b):null},g.matches=function(a){return a instanceof id?a.Rb&&this.Rb?a.Rb===this.Rb&&a.rb===this.rb:!0:!1},g.tf=function(){return null!==this.Rb},g=jd.prototype,g.Kf=function(a){return a="children_added"===a?"child_added":a,("children_removed"===a?"child_removed":a)in this.ha},g.gf=function(a,b){return this.pb?new Hb(this,a,b):null},g.createEvent=function(a,b){K(null!=a.Wa,"Child events should have a childName.");var c=b.Ib().u(a.Wa);return new Gb(a.type,this,new Q(a.Ja,c,b.n.g),a.Qd)},g.Vb=function(a){var b=this.rb;if("cancel"===a.ze()){K(this.pb,"Raising a cancel event on a listener with no cancel callback");var c=this.pb;return function(){c.call(b,a.error)}}var d=this.ha[a.ud];return function(){d.call(b,a.Zd,a.Qd)}},g.matches=function(a){if(a instanceof jd){if(!this.ha||!a.ha)return!0;if(this.rb===a.rb){var b=pa(a.ha);if(b===pa(this.ha)){if(1===b){var b=qa(a.ha),c=qa(this.ha);return!(c!==b||a.ha[b]&&this.ha[c]&&a.ha[b]!==this.ha[c])}return oa(this.ha,function(b,c){return a.ha[c]===b})}}}return!1},g.tf=function(){return null!==this.ha},g=kd.prototype,g.G=function(a,b,c,d,e,f){return K(a.Jc(this.g),"A node must be indexed if only a child is updated"),e=a.R(b),e.Q(d).ca(c.Q(d))&&e.e()==c.e()?a:(null!=f&&(c.e()?a.Da(b)?hd(f,new D("child_removed",e,b)):K(a.K(),"A child remove without an old child only makes sense on a leaf node"):e.e()?hd(f,new D("child_added",c,b)):hd(f,new D("child_changed",c,b,e))),a.K()&&c.e()?a:a.U(b,c).lb(this.g))},g.xa=function(a,b,c){return null!=c&&(a.K()||a.P(N,function(a,d){b.Da(a)||hd(c,new D("child_removed",d,a))}),b.K()||b.P(N,function(b,d){if(a.Da(b)){var e=a.R(b);e.ca(d)||hd(c,new D("child_changed",d,b,e))}else hd(c,new D("child_added",d,b))})),b.lb(this.g)},g.ga=function(a,b){return a.e()?C:a.ga(b)},g.Na=function(){return!1},g.Wb=function(){return this},g=ld.prototype,g.matches=function(a){return 0>=this.g.compare(this.ed,a)&&0>=this.g.compare(a,this.Gc); -},g.G=function(a,b,c,d,e,f){return this.matches(new F(b,c))||(c=C),this.Be.G(a,b,c,d,e,f)},g.xa=function(a,b,c){b.K()&&(b=C);var d=b.lb(this.g),d=d.ga(C),e=this;return b.P(N,function(a,b){e.matches(new F(a,b))||(d=d.U(a,C))}),this.Be.xa(a,d,c)},g.ga=function(a){return a},g.Na=function(){return!0},g.Wb=function(){return this.Be},g=qd.prototype,g.G=function(a,b,c,d,e,f){return this.sa.matches(new F(b,c))||(c=C),a.R(b).ca(c)?a:a.Db()=this.g.compare(this.sa.ed,g):0>=this.g.compare(g,this.sa.Gc)))break;d=d.U(g.name,g.S),e++}}else{d=b.lb(this.g),d=d.ga(C);var h,i,j;if(this.Jb){b=d.sf(this.g),h=this.sa.Gc,i=this.sa.ed;var k=td(this.g);j=function(a,b){return k(b,a)}}else b=d.Xb(this.g),h=this.sa.ed,i=this.sa.Gc,j=td(this.g);for(var e=0,l=!1;0=j(h,g)&&(l=!0),(f=l&&e=j(g,i))?e++:d=d.U(g.name,C)}return this.sa.Wb().xa(a,d,c)},g.ga=function(a){return a},g.Na=function(){return!0},g.Wb=function(){return this.sa.Wb()},xd.prototype.ab=function(a,b,c,d){var e,f=new gd;if(b.type===Yb)b.source.we?c=yd(this,a,b.path,b.Ga,c,d,f):(K(b.source.pf,"Unknown source."),e=b.source.af||Jb(a.w())&&!b.path.e(),c=Ad(this,a,b.path,b.Ga,c,d,e,f));else if(b.type===Bd)b.source.we?c=Cd(this,a,b.path,b.children,c,d,f):(K(b.source.pf,"Unknown source."),e=b.source.af||Jb(a.w()),c=Dd(this,a,b.path,b.children,c,d,e,f));else if(b.type===Ed)if(b.Vd)if(b=b.path,null!=c.tc(b))c=a;else{if(e=new rb(c,a,d),d=a.O.j(),b.e()||".priority"===E(b))Ib(a.w())?b=c.za(ub(a)):(b=a.w().j(),K(b instanceof R,"serverChildren would be complete if leaf node"),b=c.yc(b)),b=this.V.xa(d,b,f);else{var g=E(b),h=c.xc(g,a.w());null==h&&sb(a.w(),g)&&(h=d.R(g)),b=null!=h?this.V.G(d,g,h,H(b),e,f):a.O.j().Da(g)?this.V.G(d,g,C,H(b),e,f):d,b.e()&&Ib(a.w())&&(d=c.za(ub(a)),d.K()&&(b=this.V.xa(b,d,f)))}d=Ib(a.w())||null!=c.tc(G),c=Fd(a,b,d,this.V.Na())}else c=Gd(this,a,b.path,b.Qb,c,d,f);else{if(b.type!==$b)throw Fc("Unknown operation type: "+b.type);d=b.path,b=a.w(),e=b.j(),g=b.ea||d.e(),c=Hd(this,new Id(a.O,new tb(e,g,b.Ub)),d,c,qb,f)}return f=ra(f.bb),d=c,b=d.O,b.ea&&(e=b.j().K()||b.j().e(),g=Jd(a),(0=0,"Unknown leaf type: "+b),K(e>=0,"Unknown leaf type: "+c),d===e?"object"===c?0:this.Bd){var f,g=[];for(f in b)g[f]=b[f];return g}return a&&!this.C().e()&&(b[".priority"]=this.C().I()),b},g.hash=function(){if(null===this.Cb){var a="";this.C().e()||(a+="priority:"+oe(this.C().I())+":"),this.P(N,function(b,c){var d=c.hash();""!==d&&(a+=":"+b+":"+d)}),this.Cb=""===a?"":Hc(a)}return this.Cb},g.rf=function(a,b,c){return(c=qe(this,c))?(a=cc(c,new F(a,b)))?a.name:null:cc(this.m,a)},g.P=function(a,b){var c=qe(this,a);return c?c.ia(function(a){return b(a.name,a.S)}):this.m.ia(b)},g.Xb=function(a){return this.Yb(a.Tc(),a)},g.Yb=function(a,b){var c=qe(this,b);if(c)return c.Yb(a,function(a){return a});for(var c=this.m.Yb(a.name,Tb),d=ec(c);null!=d&&0>b.compare(d,a);)J(c),d=ec(c);return c},g.sf=function(a){return this.$b(a.Qc(),a)},g.$b=function(a,b){var c=qe(this,b);if(c)return c.$b(a,function(a){return a});for(var c=this.m.$b(a.name,Tb),d=ec(c);null!=d&&00){for(var e=Array(d),f=0;d>f;f++)e[f]=c[f];c=e}else c=[];for(d=0;d=0;f--)e[f]="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(c%64),c=Math.floor(c/64);if(K(0===c,"Cannot push at time == 0"),c=e.join(""),d){for(f=11;f>=0&&63===b[f];f--)b[f]=0;b[f]++}else for(f=0;12>f;f++)b[f]=Math.floor(64*Math.random());for(f=0;12>f;f++)c+="-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".charAt(b[f]);return K(20===c.length,"nextPushId: Length should be 20."),c}}();ma(Ge,De),Ge.prototype.Ae=function(a){return K("online"===a,"Unknown event type: "+a),[this.kc]},ca(Ge),ma(He,De),He.prototype.Ae=function(a){return K("visible"===a,"Unknown event type: "+a),[this.Ob]},ca(He),g=L.prototype,g.toString=function(){for(var a="",b=this.Z;b=this.o.length)return null;for(var a=[],b=this.Z;b=this.o.length},g.ca=function(a){if(Kd(this)!==Kd(a))return!1;for(var b=this.Z,c=a.Z;b<=this.o.length;b++,c++)if(this.o[b]!==a.o[c])return!1;return!0},g.contains=function(a){var b=this.Z,c=a.Z;if(Kd(this)>Kd(a))return!1;for(;ba?-1:1});g=Me.prototype,g.e=function(){return null===this.value&&this.children.e()},g.subtree=function(a){if(a.e())return this;var b=this.children.get(E(a));return null!==b?b.subtree(H(a)):Pd},g.set=function(a,b){if(a.e())return new Me(b,this.children);var c=E(a),d=(this.children.get(c)||Pd).set(H(a),b),c=this.children.Oa(c,d);return new Me(this.value,c)},g.remove=function(a){if(a.e())return this.children.e()?Pd:new Me(null,this.children);var b=E(a),c=this.children.get(b);return c?(a=c.remove(H(a)),b=a.e()?this.children.remove(b):this.children.Oa(b,a),null===this.value&&b.e()?Pd:new Me(this.value,b)):this},g.get=function(a){if(a.e())return this.value;var b=this.children.get(E(a));return b?b.get(H(a)):null};var Pd=new Me(null);Me.prototype.toString=function(){var a={};return Md(this,function(b,c){a[b.toString()]=c.toString()}),B(a)},Ze.prototype.Xc=function(a){return this.path.e()?null!=this.Qb.value?(K(this.Qb.children.e(),"affectedTree should not have overlapping affected paths."),this):(a=this.Qb.subtree(new L(a)),new Ze(G,a,this.Vd)):(K(E(this.path)===a,"operationForChild called for unrelated child."),new Ze(H(this.path),this.Qb,this.Vd))},Ze.prototype.toString=function(){return"Operation("+this.path+": "+this.source.toString()+" ack write revert="+this.Vd+" affectedTree="+this.Qb+")"};var Yb=0,Bd=1,Ed=2,$b=3,$e=new af(!0,!1,null,!1),bf=new af(!1,!0,null,!1);af.prototype.toString=function(){return this.we?"user":this.af?"server(queryID="+this.Hb+")":"server"};var df=new cf(new Me(null));cf.prototype.Rd=function(a){return a.e()?df:(a=Od(this.X,a,Pd),new cf(a))},cf.prototype.e=function(){return this.X.e()},cf.prototype.apply=function(a){return kf(G,this.X,a)},g=lf.prototype,g.Rd=function(a){var b=Ua(this.na,function(b){return b.kd===a});K(b>=0,"removeWrite called with nonexistent writeId.");var c=this.na[b];this.na.splice(b,1);for(var d=c.visible,e=!1,f=this.na.length-1;d&&f>=0;){var g=this.na[f];g.visible&&(f>=b&&nf(g,c.path)?d=!1:c.path.contains(g.path)&&(e=!0)),f--}if(d){if(e)this.T=of(this.na,pf,G),this.Mc=0f.status){try{a=nb(f.responseText)}catch(b){}c(null,a)}else c(500<=f.status&&600>f.status?Mg("SERVER_ERROR"):Mg("NETWORK_ERROR"));c=null,Dg(window,"beforeunload",d)}},"GET"===g)a+=(/\?/.test(a)?"":"?")+kb(b),e=null;else{var h=this.options.headers.content_type;"application/json"===h&&(e=B(b)),"application/x-www-form-urlencoded"===h&&(e=kb(b))}f.open(g,a,!0),a={"X-Requested-With":"XMLHttpRequest",Accept:"application/json;text/plain"},za(a,this.options.headers);for(var i in a)f.setRequestHeader(i,a[i]);f.send(e)},Og.isAvailable=function(){var a;return(a=!!window.XMLHttpRequest)&&(a=xg(),a=!(a.match(/MSIE/)||a.match(/Trident/))||Ag(10)),a},Og.prototype.Cc=function(){return"json"},Pg.prototype.open=function(a,b,c){function d(){c&&(c(Mg("USER_CANCELLED")),c=null)}var e,f=this,g=Pc(sg);b.requestId=this.pc,b.redirectTo=g.scheme+"://"+g.host+"/blank/page.html",a+=/\?/.test(a)?"":"?",a+=kb(b),(e=window.open(a,"_blank","location=no"))&&ha(e.addEventListener)?(e.addEventListener("loadstart",function(a){var b;if(b=a&&a.url)a:{try{var h=document.createElement("a");h.href=a.url,b=h.host===g.host&&"/blank/page.html"===h.pathname;break a}catch(i){}b=!1}b&&(a=Fg(a.url),e.removeEventListener("exit",d),e.close(),a=new tg(null,null,{requestId:f.pc,requestKey:a}),f.Ef.requestWithCredential("/auth/session",a,c),c=null)}),e.addEventListener("exit",d)):c(Mg("TRANSPORT_UNAVAILABLE"))},Pg.isAvailable=function(){return yg()},Pg.prototype.Cc=function(){return"redirect"},Qg.prototype.open=function(a,b,c){function d(){c&&(c(Mg("REQUEST_INTERRUPTED")),c=null)}function e(){setTimeout(function(){window.__firebase_auth_jsonp[f]=void 0,wa(window.__firebase_auth_jsonp)&&(window.__firebase_auth_jsonp=void 0);try{var a=document.getElementById(f);a&&a.parentNode.removeChild(a)}catch(b){}},1),Dg(window,"beforeunload",d)}var f="fn"+(new Date).getTime()+Math.floor(99999*Math.random());b[this.options.callback_parameter]="__firebase_auth_jsonp."+f,a+=(/\?/.test(a)?"":"?")+kb(b),Cg(window,"beforeunload",d),window.__firebase_auth_jsonp[f]=function(a){c&&(c(null,a),c=null),e()},Rg(f,a,c)},Qg.isAvailable=function(){return"undefined"!=typeof document&&null!=document.createElement},Qg.prototype.Cc=function(){return"json"},ma(Sg,De),g=Sg.prototype,g.xe=function(){return this.mb||null},g.se=function(a,b){ah(this);var c=vg(a);c.$a._method="POST",this.qc("/users",c,function(a,c){a?P(b,a):P(b,a,c)})},g.Te=function(a,b){var c=this;ah(this);var d="/users/"+encodeURIComponent(a.email),e=vg(a);e.$a._method="DELETE",this.qc(d,e,function(a,d){!a&&d&&d.uid&&c.mb&&c.mb.uid&&c.mb.uid===d.uid&&Zg(c),P(b,a)})},g.pe=function(a,b){ah(this);var c="/users/"+encodeURIComponent(a.email)+"/password",d=vg(a);d.$a._method="PUT",d.$a.password=a.newPassword,this.qc(c,d,function(a){P(b,a)})},g.oe=function(a,b){ah(this);var c="/users/"+encodeURIComponent(a.oldEmail)+"/email",d=vg(a);d.$a._method="PUT",d.$a.email=a.newEmail,d.$a.password=a.password,this.qc(c,d,function(a){P(b,a)})},g.Ve=function(a,b){ah(this);var c="/users/"+encodeURIComponent(a.email)+"/password",d=vg(a);d.$a._method="POST",this.qc(c,d,function(a){P(b,a)})},g.qc=function(a,b,c){dh(this,[Og,Qg],a,b,c)},g.Ae=function(a){return K("auth_status"===a,'initial event must be of type "auth_status"'),this.Se?null:[this.mb]};var Cc="websocket",Dc="long_polling",ih,jh;hh.prototype.open=function(a,b){this.hf=0,this.la=b,this.Af=new eh(a),this.zb=!1;var c=this;this.qb=setTimeout(function(){c.f("Timed out trying to connect."),c.gb(),c.qb=null},Math.floor(3e4)),Rc(function(){if(!c.zb){c.Sa=new kh(function(a,b,d,e,f){if(lh(c,arguments),c.Sa)if(c.qb&&(clearTimeout(c.qb),c.qb=null),c.Hc=!0,"start"==a)c.id=b,c.Gf=d;else{if("close"!==a)throw Error("Unrecognized command received: "+a);b?(c.Sa.Xd=!1,fh(c.Af,b,function(){c.gb()})):c.gb()}},function(a,b){lh(c,arguments),gh(c.Af,a,b)},function(){c.gb()},c.jd);var a={start:"t"};a.ser=Math.floor(1e8*Math.random()),c.Sa.he&&(a.cb=c.Sa.he),a.v="5",c.Qf&&(a.s=c.Qf),c.Bb&&(a.ls=c.Bb),"undefined"!=typeof location&&location.href&&-1!==location.href.indexOf("firebaseio.com")&&(a.r="f"),a=c.jd(a),c.f("Connecting via long-poll to "+a),mh(c.Sa,a,function(){})}})},hh.prototype.start=function(){var a=this.Sa,b=this.Gf;for(a.ug=this.id,a.vg=b,a.le=!0;nh(a););a=this.id,b=this.Gf,this.gc=document.createElement("iframe");var c={dframe:"t"};c.id=a,c.pw=b,this.gc.src=this.jd(c),this.gc.style.display="none",document.body.appendChild(this.gc)},hh.isAvailable=function(){return ih||!jh&&"undefined"!=typeof document&&null!=document.createElement&&!("object"==typeof window&&window.chrome&&window.chrome.extension&&!/^chrome/.test(window.location.href))&&!("object"==typeof Windows&&"object"==typeof Windows.Xg)&&!0},g=hh.prototype,g.Ed=function(){},g.dd=function(){this.zb=!0,this.Sa&&(this.Sa.close(),this.Sa=null),this.gc&&(document.body.removeChild(this.gc),this.gc=null),this.qb&&(clearTimeout(this.qb),this.qb=null)},g.gb=function(){this.zb||(this.f("Longpoll is closing itself"),this.dd(),this.la&&(this.la(this.Hc),this.la=null))},g.close=function(){this.zb||(this.f("Longpoll is being closed."),this.dd())},g.send=function(a){a=B(a),this.ob+=a.length,Ob(this.Ua,"bytes_sent",a.length),a=Ic(a),a=fb(a,!0),a=Vc(a,1840);for(var b=0;b=a.length){var b=Number(a);if(!isNaN(b)){e.bf=b,e.frames=[],a=null;break a}}e.bf=1,e.frames=[]}null!==a&&th(e,a)}},this.ua.onerror=function(a){e.f("WebSocket error. Closing connection."),(a=a.message||a.data)&&e.f(a),e.gb()}},qh.prototype.start=function(){},qh.isAvailable=function(){var a=!1;if("undefined"!=typeof navigator&&navigator.userAgent){var b=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/);b&&1parseFloat(b[1])&&(a=!0)}return!a&&null!==ph&&!rh},qh.responsesRequiredToBeHealthy=2,qh.healthyTimeout=3e4,g=qh.prototype,g.Ed=function(){xc.remove("previous_websocket_failure")},g.send=function(a){sh(this),a=B(a),this.ob+=a.length,Ob(this.Ua,"bytes_sent",a.length),a=Vc(a,16384),1e;e++)b+=" ";console.log(b+d)}}},g.Ze=function(a){Ob(this.Ua,a),this.Sg.Of[a]=!0},g.f=function(a){var b="";this.Ra&&(b=this.Ra.id+":"),Cb(b,arguments)},W.prototype.yb=function(){for(var a in this.oc)this.oc[a].yb()},W.prototype.rc=function(){for(var a in this.oc)this.oc[a].rc()},W.prototype.ve=function(){this.Sf=!0},ca(W),W.prototype.interrupt=W.prototype.yb,W.prototype.resume=W.prototype.rc,X.prototype.cancel=function(a){x("Firebase.onDisconnect().cancel",0,1,arguments.length),A("Firebase.onDisconnect().cancel",1,a,!0),this.bd.Jd(this.ra,a||null)},X.prototype.cancel=X.prototype.cancel,X.prototype.remove=function(a){x("Firebase.onDisconnect().remove",0,1,arguments.length),jg("Firebase.onDisconnect().remove",this.ra),A("Firebase.onDisconnect().remove",1,a,!0),fi(this.bd,this.ra,null,a)},X.prototype.remove=X.prototype.remove,X.prototype.set=function(a,b){x("Firebase.onDisconnect().set",1,2,arguments.length),jg("Firebase.onDisconnect().set",this.ra),bg("Firebase.onDisconnect().set",a,this.ra,!1),A("Firebase.onDisconnect().set",2,b,!0),fi(this.bd,this.ra,a,b)},X.prototype.set=X.prototype.set,X.prototype.Kb=function(a,b,c){x("Firebase.onDisconnect().setWithPriority",2,3,arguments.length),jg("Firebase.onDisconnect().setWithPriority",this.ra),bg("Firebase.onDisconnect().setWithPriority",a,this.ra,!1),fg("Firebase.onDisconnect().setWithPriority",2,b),A("Firebase.onDisconnect().setWithPriority",3,c,!0),gi(this.bd,this.ra,a,b,c)},X.prototype.setWithPriority=X.prototype.Kb,X.prototype.update=function(a,b){if(x("Firebase.onDisconnect().update",1,2,arguments.length),jg("Firebase.onDisconnect().update",this.ra),ea(a)){for(var c={},d=0;d=a)throw Error("Query.limit: First argument must be a positive integer.");if(this.n.ja)throw Error("Query.limit: Limit was already set (by another call to limit, limitToFirst, orlimitToLast.");var b=this.n.He(a);return ti(b),new Y(this.k,this.path,b,this.lc)},g.Ie=function(a){if(x("Query.limitToFirst",1,1,arguments.length),!ga(a)||Math.floor(a)!==a||0>=a)throw Error("Query.limitToFirst: First argument must be a positive integer.");if(this.n.ja)throw Error("Query.limitToFirst: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new Y(this.k,this.path,this.n.Ie(a),this.lc)},g.Je=function(a){if(x("Query.limitToLast",1,1,arguments.length),!ga(a)||Math.floor(a)!==a||0>=a)throw Error("Query.limitToLast: First argument must be a positive integer.");if(this.n.ja)throw Error("Query.limitToLast: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new Y(this.k,this.path,this.n.Je(a),this.lc)},g.Eg=function(a){if(x("Query.orderByChild",1,1,arguments.length),"$key"===a)throw Error('Query.orderByChild: "$key" is invalid. Use Query.orderByKey() instead.');if("$priority"===a)throw Error('Query.orderByChild: "$priority" is invalid. Use Query.orderByPriority() instead.');if("$value"===a)throw Error('Query.orderByChild: "$value" is invalid. Use Query.orderByValue() instead.');ig("Query.orderByChild",a),ui(this,"Query.orderByChild");var b=new L(a);if(b.e())throw Error("Query.orderByChild: cannot pass in empty path. Use Query.orderByValue() instead.");return b=new Ud(b),b=de(this.n,b),si(b),new Y(this.k,this.path,b,!0)},g.Fg=function(){x("Query.orderByKey",0,0,arguments.length),ui(this,"Query.orderByKey");var a=de(this.n,Qd);return si(a),new Y(this.k,this.path,a,!0)},g.Gg=function(){x("Query.orderByPriority",0,0,arguments.length),ui(this,"Query.orderByPriority");var a=de(this.n,N);return si(a),new Y(this.k,this.path,a,!0)},g.Hg=function(){x("Query.orderByValue",0,0,arguments.length),ui(this,"Query.orderByValue");var a=de(this.n,$d);return si(a),new Y(this.k,this.path,a,!0)},g.$d=function(a,b){x("Query.startAt",0,2,arguments.length),bg("Query.startAt",a,this.path,!0),hg("Query.startAt",b);var c=this.n.$d(a,b);if(ti(c),si(c),this.n.ma)throw Error("Query.startAt: Starting point was already set (by another call to startAt or equalTo).");return n(a)||(b=a=null),new Y(this.k,this.path,c,this.lc)},g.td=function(a,b){x("Query.endAt",0,2,arguments.length),bg("Query.endAt",a,this.path,!0),hg("Query.endAt",b);var c=this.n.td(a,b);if(ti(c),si(c),this.n.pa)throw Error("Query.endAt: Ending point was already set (by another call to endAt or equalTo).");return new Y(this.k,this.path,c,this.lc)},g.kg=function(a,b){if(x("Query.equalTo",1,2,arguments.length),bg("Query.equalTo",a,this.path,!1),hg("Query.equalTo",b),this.n.ma)throw Error("Query.equalTo: Starting point was already set (by another call to endAt or equalTo).");if(this.n.pa)throw Error("Query.equalTo: Ending point was already set (by another call to endAt or equalTo).");return this.$d(a,b).td(a,b)},g.toString=function(){x("Query.toString",0,0,arguments.length);for(var a=this.path,b="",c=a.Z;cb&&!f||!e||c&&!g&&h||d&&h)return 1;if(b>a&&!c||!h||f&&!d&&e||g&&e)return-1}return 0}function e(a,b,c){for(var d=a.length,e=c?d:-1;c?e--:++e-1;);return c}function j(a,b){for(var c=a.length;c--&&b.indexOf(a.charAt(c))>-1;);return c}function k(a,b){return d(a.criteria,b.criteria)||a.index-b.index}function l(a,b,c){for(var e=-1,f=a.criteria,g=b.criteria,h=f.length,i=c.length;++e=i)return j;var k=c[e];return j*("asc"===k||k===!0?1:-1)}}return a.index-b.index}function m(a){return Sa[a]}function n(a){return Ta[a]}function o(a,b,c){return b?a=Wa[a]:c&&(a=Xa[a]),"\\"+a}function p(a){return"\\"+Xa[a]}function q(a,b,c){for(var d=a.length,e=b+(c?0:-1);c?e--:++e=a&&a>=9&&13>=a||32==a||160==a||5760==a||6158==a||a>=8192&&(8202>=a||8232==a||8233==a||8239==a||8287==a||12288==a||65279==a)}function t(a,b){for(var c=-1,d=a.length,e=-1,f=[];++cb,e=c?a.length:0,f=Tc(0,e,this.__views__),g=f.start,h=f.end,i=h-g,j=d?h:g-1,k=this.__iteratees__,l=k.length,m=0,n=wg(i,this.__takeCount__);if(!c||O>e||e==i&&n==i)return cc(d&&c?a.reverse():a,this.__actions__);var o=[];a:for(;i--&&n>m;){j+=b;for(var p=-1,q=a[j];++p=O?oc(b):null,j=b.length;i&&(g=Za,h=!1,b=i);a:for(;++ec&&(c=-c>e?0:e+c),d=d===z||d>e?e:+d||0,0>d&&(d+=e),e=c>d?0:d>>>0,c>>>=0;e>c;)a[c++]=b;return a}function Bb(a,b){var c=[];return Jg(a,function(a,d,e){b(a,d,e)&&c.push(a)}),c}function Cb(a,b,c,d){var e;return c(a,function(a,c,f){return b(a,c,f)?(e=d?c:a,!1):void 0}),e}function Db(a,b,c,d){d||(d=[]);for(var e=-1,f=a.length;++ed;)a=a[b[d++]];return d&&d==e?a:z}}function Jb(a,b,c,d,e,f){return a===b?!0:null==a||null==b||!He(a)&&!r(b)?a!==a&&b!==b:Kb(a,b,Jb,c,d,e,f)}function Kb(a,b,c,d,e,f,g){var h=Ch(a),i=Ch(b),j=U,k=U;h||(j=cg.call(a), -j==T?j=_:j!=_&&(h=Qe(a))),i||(k=cg.call(b),k==T?k=_:k!=_&&(i=Qe(b)));var l=j==_,m=k==_,n=j==k;if(n&&!h&&!l)return Mc(a,b,j);if(!e){var o=l&&ag.call(a,"__wrapped__"),p=m&&ag.call(b,"__wrapped__");if(o||p)return c(o?a.value():a,p?b.value():b,d,e,f,g)}if(!n)return!1;f||(f=[]),g||(g=[]);for(var q=f.length;q--;)if(f[q]==a)return g[q]==b;f.push(a),g.push(b);var r=(h?Lc:Nc)(a,b,c,d,e,f,g);return f.pop(),g.pop(),r}function Lb(a,b,c){var d=b.length,e=d,f=!c;if(null==a)return!e;for(a=kd(a);d--;){var g=b[d];if(f&&g[2]?g[1]!==a[g[0]]:!(g[0]in a))return!1}for(;++db&&(b=-b>e?0:e+b),c=c===z||c>e?e:+c||0,0>c&&(c+=e),e=b>c?0:c-b>>>0,b>>>=0;for(var f=Of(e);++d=O,i=h?oc():null,j=[];i?(d=Za,g=!1):(h=!1,i=b?[]:j);a:for(;++c=e){for(;e>d;){var f=d+e>>>1,g=a[f];(c?b>=g:b>g)&&null!==g?d=f+1:e=f}return e}return ec(a,b,Bf,c)}function ec(a,b,c,d){b=c(b);for(var e=0,f=a?a.length:0,g=b!==b,h=null===b,i=b===z;f>e;){var j=rg((e+f)/2),k=c(a[j]),l=k!==z,m=k===k;if(g)var n=m||d;else n=h?m&&l&&(d||null!=k):i?m&&(d||l):null==k?!1:d?b>=k:b>k;n?e=j+1:f=j}return wg(f,Dg)}function fc(a,b,c){if("function"!=typeof a)return Bf;if(b===z)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)};case 5:return function(c,d,e,f,g){return a.call(b,c,d,e,f,g)}}return function(){return a.apply(b,arguments)}}function gc(a){var b=new fg(a.byteLength),c=new ng(b);return c.set(new ng(a)),b}function hc(a,b,c){for(var d=c.length,e=-1,f=vg(a.length-d,0),g=-1,h=b.length,i=Of(h+f);++g2?c[e-2]:z,g=e>2?c[2]:z,h=e>1?c[e-1]:z;for("function"==typeof f?(f=fc(f,h,5),e-=2):(f="function"==typeof h?h:z,e-=f?1:0),g&&$c(c[0],c[1],g)&&(f=3>e?z:f,e=1);++d-1?c[g]:z}return Cb(c,d,a)}}function vc(a){return function(b,c,d){return b&&b.length?(c=Oc(c,d,3),e(b,c,a)):-1}}function wc(a){return function(b,c,d){return c=Oc(c,d,3),Cb(b,c,a,!0)}}function xc(a){return function(){for(var b,c=arguments.length,d=a?c:-1,e=0,f=Of(c);a?d--:++d=O)return b.plant(d).value();for(var e=0,g=c?f[e].apply(this,a):d;++es){var y=h?ab(h):z,A=vg(j-s,0),D=o?x:z,E=o?z:x,F=o?v:z,I=o?z:v;b|=o?G:H,b&=~(o?H:G),p||(b&=~(B|C));var J=[a,b,c,F,D,I,E,y,i,A],K=Fc.apply(z,J);return ad(a)&&Qg(K,J),K.placeholder=w,K}}var L=m?c:this,M=n?L[a]:a;return h&&(v=hd(v,h)),l&&i=b||!tg(b))return"";var e=b-d;return c=null==c?" ":c+"",qf(c,pg(e/c.length)).slice(0,e)}function Hc(a,b,c,d){function e(){for(var b=-1,h=arguments.length,i=-1,j=d.length,k=Of(j+h);++ii))return!1;for(;++h-1&&a%1==0&&b>a}function $c(a,b,c){if(!He(c))return!1;var d=typeof b;if("number"==d?Yc(c)&&Zc(b,c.length):"string"==d&&b in c){var e=c[b];return a===a?a===e:e!==e}return!1}function _c(a,b){var c=typeof a;if("string"==c&&za.test(a)||"number"==c)return!0;if(Ch(a))return!1;var d=!ya.test(a);return d||null!=b&&a in kd(b)}function ad(a){var c=Pc(a);if(!(c in Z.prototype))return!1;var d=b[c];if(a===d)return!0;var e=Og(d);return!!e&&a===e[0]}function bd(a){return"number"==typeof a&&a>-1&&a%1==0&&Fg>=a}function cd(a){return a===a&&!He(a)}function dd(a,b){var c=a[1],d=b[1],e=c|d,f=I>e,g=d==I&&c==E||d==I&&c==J&&a[7].length<=b[8]||d==(I|J)&&c==E;if(!f&&!g)return a;d&B&&(a[2]=b[2],e|=c&B?0:D);var h=b[3];if(h){var i=a[3];a[3]=i?hc(i,h,b[4]):ab(h),a[4]=i?t(a[3],S):ab(b[4])}return h=b[5],h&&(i=a[5],a[5]=i?ic(i,h,b[6]):ab(h),a[6]=i?t(a[5],S):ab(b[6])),h=b[7],h&&(a[7]=ab(h)),d&I&&(a[8]=null==a[8]?b[8]:wg(a[8],b[8])),null==a[9]&&(a[9]=b[9]),a[0]=b[0],a[1]=e,a}function ed(a,b){return a===z?b:Dh(a,b,ed)}function fd(a,b){a=kd(a);for(var c=-1,d=b.length,e={};++cd;)g[++f]=Wb(a,d,d+=b);return g}function od(a){for(var b=-1,c=a?a.length:0,d=-1,e=[];++bb?0:b)):[]}function qd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0,0>b?0:b)):[]}function rd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0,!0):[]}function sd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!0):[]}function td(a,b,c,d){var e=a?a.length:0;return e?(c&&"number"!=typeof c&&$c(a,b,c)&&(c=0,d=e),Ab(a,b,c,d)):[]}function ud(a){return a?a[0]:z}function vd(a,b,c){var d=a?a.length:0;return c&&$c(a,b,c)&&(b=!1),d?Db(a,b):[]}function wd(a){var b=a?a.length:0;return b?Db(a,!0):[]}function xd(a,b,c){var d=a?a.length:0;if(!d)return-1;if("number"==typeof c)c=0>c?vg(d+c,0):c;else if(c){var e=dc(a,b);return d>e&&(b===b?b===a[e]:a[e]!==a[e])?e:-1}return f(a,b,c||0)}function yd(a){return qd(a,1)}function zd(a){var b=a?a.length:0;return b?a[b-1]:z}function Ad(a,b,c){var d=a?a.length:0;if(!d)return-1;var e=d;if("number"==typeof c)e=(0>c?vg(d+c,0):wg(c||0,d-1))+1;else if(c){e=dc(a,b,!0)-1;var f=a[e];return(b===b?b===f:f!==f)?e:-1}if(b!==b)return q(a,e,!0);for(;e--;)if(a[e]===b)return e;return-1}function Bd(){var a=arguments,b=a[0];if(!b||!b.length)return b;for(var c=0,d=Qc(),e=a.length;++c-1;)mg.call(b,f,1);return b}function Cd(a,b,c){var d=[];if(!a||!a.length)return d;var e=-1,f=[],g=a.length;for(b=Oc(b,c,3);++eb?0:b)):[]}function Gd(a,b,c){var d=a?a.length:0;return d?((c?$c(a,b,c):null==b)&&(b=1),b=d-(+b||0),Wb(a,0>b?0:b)):[]}function Hd(a,b,c){return a&&a.length?bc(a,Oc(b,c,3),!1,!0):[]}function Id(a,b,c){return a&&a.length?bc(a,Oc(b,c,3)):[]}function Jd(a,b,c,d){var e=a?a.length:0;if(!e)return[];null!=b&&"boolean"!=typeof b&&(d=c,c=$c(a,b,d)?z:b,b=!1);var g=Oc();return(null!=c||g!==ub)&&(c=g(c,d,3)),b&&Qc()==f?u(a,c):_b(a,c)}function Kd(a){if(!a||!a.length)return[];var b=-1,c=0;a=hb(a,function(a){return Yc(a)?(c=vg(a.length,c),!0):void 0});for(var d=Of(c);++bc?vg(e+c,0):c||0,"string"==typeof a||!Ch(a)&&Pe(a)?e>=c&&a.indexOf(b,c)>-1:!!e&&Qc(a,b,c)>-1}function _d(a,b,c){var d=Ch(a)?ib:Mb;return b=Oc(b,c,3),d(a,b)}function ae(a,b){return _d(a,Hf(b))}function be(a,b,c){var d=Ch(a)?hb:Bb;return b=Oc(b,c,3),d(a,function(a,c,d){return!b(a,c,d)})}function ce(a,b,c){if(c?$c(a,b,c):null==b){a=jd(a);var d=a.length;return d>0?a[Ub(0,d-1)]:z}var e=-1,f=Ue(a),d=f.length,g=d-1;for(b=wg(0>b?0:+b||0,d);++e0&&(c=b.apply(this,arguments)),1>=a&&(b=z),c}}function me(a,b,c){function d(){n&&gg(n),j&&gg(j),p=0,j=n=o=z}function e(b,c){c&&gg(c),j=n=o=z,b&&(p=oh(),k=a.apply(m,i),n||j||(i=m=z))}function f(){var a=b-(oh()-l);0>=a||a>b?e(o,j):n=lg(f,a)}function g(){e(r,n)}function h(){if(i=arguments,l=oh(),m=this,o=r&&(n||!s),q===!1)var c=s&&!n;else{j||s||(p=l);var d=q-(l-p),e=0>=d||d>q;e?(j&&(j=gg(j)),p=l,k=a.apply(m,i)):j||(j=lg(g,d))}return e&&n?n=gg(n):n||b===q||(n=lg(f,b)),c&&(e=!0,k=a.apply(m,i)),!e||n||j||(i=m=z),k}var i,j,k,l,m,n,o,p=0,q=!1,r=!0;if("function"!=typeof a)throw new Xf(R);if(b=0>b?0:+b||0,c===!0){var s=!0;r=!1}else He(c)&&(s=!!c.leading,q="maxWait"in c&&vg(+c.maxWait||0,b),r="trailing"in c?!!c.trailing:r);return h.cancel=d,h}function ne(a,b){if("function"!=typeof a||b&&"function"!=typeof b)throw new Xf(R);var c=function(){var d=arguments,e=b?b.apply(this,d):d[0],f=c.cache;if(f.has(e))return f.get(e);var g=a.apply(this,d);return c.cache=f.set(e,g),g};return c.cache=new ne.Cache,c}function oe(a){if("function"!=typeof a)throw new Xf(R);return function(){return!a.apply(this,arguments)}}function pe(a){return le(2,a)}function qe(a,b){if("function"!=typeof a)throw new Xf(R);return b=vg(b===z?a.length-1:+b||0,0),function(){for(var c=arguments,d=-1,e=vg(c.length-b,0),f=Of(e);++db}function xe(a,b){return a>=b}function ye(a){return r(a)&&Yc(a)&&ag.call(a,"callee")&&!jg.call(a,"callee")}function ze(a){return a===!0||a===!1||r(a)&&cg.call(a)==V}function Ae(a){return r(a)&&cg.call(a)==W}function Be(a){return!!a&&1===a.nodeType&&r(a)&&!Ne(a)}function Ce(a){return null==a?!0:Yc(a)&&(Ch(a)||Pe(a)||ye(a)||r(a)&&Ge(a.splice))?!a.length:!Nh(a).length}function De(a,b,c,d){c="function"==typeof c?fc(c,d,3):z;var e=c?c(a,b):z;return e===z?Jb(a,b,c):!!e}function Ee(a){return r(a)&&"string"==typeof a.message&&cg.call(a)==X}function Fe(a){return"number"==typeof a&&tg(a)}function Ge(a){return He(a)&&cg.call(a)==Y}function He(a){var b=typeof a;return!!a&&("object"==b||"function"==b)}function Ie(a,b,c,d){return c="function"==typeof c?fc(c,d,3):z,Lb(a,Rc(b),c)}function Je(a){return Me(a)&&a!=+a}function Ke(a){return null==a?!1:Ge(a)?eg.test(_f.call(a)):r(a)&&Ia.test(a)}function Le(a){return null===a}function Me(a){return"number"==typeof a||r(a)&&cg.call(a)==$}function Ne(a){var b;if(!r(a)||cg.call(a)!=_||ye(a)||!ag.call(a,"constructor")&&(b=a.constructor,"function"==typeof b&&!(b instanceof b)))return!1;var c;return Eb(a,function(a,b){c=b}),c===z||ag.call(a,c)}function Oe(a){return He(a)&&cg.call(a)==aa}function Pe(a){return"string"==typeof a||r(a)&&cg.call(a)==ca}function Qe(a){return r(a)&&bd(a.length)&&!!Qa[cg.call(a)]}function Re(a){return a===z}function Se(a,b){return b>a}function Te(a,b){return b>=a}function Ue(a){var b=a?Pg(a):0;return bd(b)?b?ab(a):[]:ef(a)}function Ve(a){return tb(a,_e(a))}function We(a,b,c){var d=Ig(a);return c&&$c(a,b,c)&&(b=z),b?rb(d,b):d}function Xe(a){return Hb(a,_e(a))}function Ye(a,b,c){var d=null==a?z:Ib(a,ld(b),b+"");return d===z?c:d}function Ze(a,b){if(null==a)return!1;var c=ag.call(a,b);if(!c&&!_c(b)){if(b=ld(b),a=1==b.length?a:Ib(a,Wb(b,0,-1)),null==a)return!1;b=zd(b),c=ag.call(a,b)}return c||bd(a.length)&&Zc(b,a.length)&&(Ch(a)||ye(a))}function $e(a,b,c){c&&$c(a,b,c)&&(b=z);for(var d=-1,e=Nh(a),f=e.length,g={};++d0;++d=wg(b,c)&&ac?0:+c||0,d),c-=b.length,c>=0&&a.indexOf(b,c)==c}function mf(a){return a=h(a),a&&ua.test(a)?a.replace(sa,n):a}function nf(a){return a=h(a),a&&Ca.test(a)?a.replace(Ba,o):a||"(?:)"}function of(a,b,c){a=h(a),b=+b;var d=a.length;if(d>=b||!tg(b))return a;var e=(b-d)/2,f=rg(e),g=pg(e);return c=Gc("",g,c),c.slice(0,f)+a+c}function pf(a,b,c){return(c?$c(a,b,c):null==b)?b=0:b&&(b=+b),a=tf(a),yg(a,b||(Ha.test(a)?16:10))}function qf(a,b){var c="";if(a=h(a),b=+b,1>b||!a||!tg(b))return c;do b%2&&(c+=a),b=rg(b/2),a+=a;while(b);return c}function rf(a,b,c){return a=h(a),c=null==c?0:wg(0>c?0:+c||0,a.length),a.lastIndexOf(b,c)==c}function sf(a,c,d){var e=b.templateSettings;d&&$c(a,c,d)&&(c=d=z),a=h(a),c=qb(rb({},d||c),e,pb);var f,g,i=qb(rb({},c.imports),e.imports,pb),j=Nh(i),k=ac(i,j),l=0,m=c.interpolate||La,n="__p += '",o=Vf((c.escape||La).source+"|"+m.source+"|"+(m===xa?Fa:La).source+"|"+(c.evaluate||La).source+"|$","g"),q="//# sourceURL="+("sourceURL"in c?c.sourceURL:"lodash.templateSources["+ ++Pa+"]")+"\n";a.replace(o,function(b,c,d,e,h,i){return d||(d=e),n+=a.slice(l,i).replace(Ma,p),c&&(f=!0,n+="' +\n__e("+c+") +\n'"),h&&(g=!0,n+="';\n"+h+";\n__p += '"),d&&(n+="' +\n((__t = ("+d+")) == null ? '' : __t) +\n'"),l=i+b.length,b}),n+="';\n";var r=c.variable;r||(n="with (obj) {\n"+n+"\n}\n"),n=(g?n.replace(oa,""):n).replace(pa,"$1").replace(qa,"$1;"),n="function("+(r||"obj")+") {\n"+(r?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(f?", __e = _.escape":"")+(g?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+n+"return __p\n}";var s=Yh(function(){return Rf(j,q+"return "+n).apply(z,k)});if(s.source=n,Ee(s))throw s;return s}function tf(a,b,c){var d=a;return(a=h(a))?(c?$c(d,b,c):null==b)?a.slice(v(a),w(a)+1):(b+="",a.slice(i(a,b),j(a,b)+1)):a}function uf(a,b,c){var d=a;return a=h(a),a?(c?$c(d,b,c):null==b)?a.slice(v(a)):a.slice(i(a,b+"")):a}function vf(a,b,c){var d=a;return a=h(a),a?(c?$c(d,b,c):null==b)?a.slice(0,w(a)+1):a.slice(0,j(a,b+"")+1):a}function wf(a,b,c){c&&$c(a,b,c)&&(b=z);var d=K,e=L;if(null!=b)if(He(b)){var f="separator"in b?b.separator:f;d="length"in b?+b.length||0:d,e="omission"in b?h(b.omission):e}else d=+b||0;if(a=h(a),d>=a.length)return a;var g=d-e.length;if(1>g)return e;var i=a.slice(0,g);if(null==f)return i+e;if(Oe(f)){if(a.slice(g).search(f)){var j,k,l=a.slice(0,g);for(f.global||(f=Vf(f.source,(Ga.exec(f)||"")+"g")),f.lastIndex=0;j=f.exec(l);)k=j.index;i=i.slice(0,null==k?g:k)}}else if(a.indexOf(f,g)!=g){var m=i.lastIndexOf(f);m>-1&&(i=i.slice(0,m))}return i+e}function xf(a){return a=h(a),a&&ta.test(a)?a.replace(ra,x):a}function yf(a,b,c){return c&&$c(a,b,c)&&(b=z),a=h(a),a.match(b||Na)||[]}function zf(a,b,c){return c&&$c(a,b,c)&&(b=z),r(a)?Cf(a):ub(a,b)}function Af(a){return function(){return a}}function Bf(a){return a}function Cf(a){return Nb(vb(a,!0))}function Df(a,b){return Ob(a,vb(b,!0))}function Ef(a,b,c){if(null==c){var d=He(b),e=d?Nh(b):z,f=e&&e.length?Hb(b,e):z;(f?f.length:d)||(f=!1,c=b,b=a,a=this)}f||(f=Hb(b,Nh(b)));var g=!0,h=-1,i=Ge(a),j=f.length;c===!1?g=!1:He(c)&&"chain"in c&&(g=c.chain);for(;++ha||!tg(a))return[];var d=-1,e=Of(wg(a,Cg));for(b=fc(b,c,1);++dd?e[d]=b(d):b(d);return e}function Lf(a){var b=++bg;return h(a)+b}function Mf(a,b){return(+a||0)+(+b||0)}function Nf(a,b,c){return c&&$c(a,b,c)&&(b=z),b=Oc(b,c,3),1==b.length?nb(Ch(a)?a:jd(a),b):$b(a,b)}a=a?db.defaults(cb.Object(),a,db.pick(cb,Oa)):cb;var Of=a.Array,Pf=a.Date,Qf=a.Error,Rf=a.Function,Sf=a.Math,Tf=a.Number,Uf=a.Object,Vf=a.RegExp,Wf=a.String,Xf=a.TypeError,Yf=Of.prototype,Zf=Uf.prototype,$f=Wf.prototype,_f=Rf.prototype.toString,ag=Zf.hasOwnProperty,bg=0,cg=Zf.toString,dg=cb._,eg=Vf("^"+_f.call(ag).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),fg=a.ArrayBuffer,gg=a.clearTimeout,hg=a.parseFloat,ig=Sf.pow,jg=Zf.propertyIsEnumerable,kg=Sc(a,"Set"),lg=a.setTimeout,mg=Yf.splice,ng=a.Uint8Array,og=Sc(a,"WeakMap"),pg=Sf.ceil,qg=Sc(Uf,"create"),rg=Sf.floor,sg=Sc(Of,"isArray"),tg=a.isFinite,ug=Sc(Uf,"keys"),vg=Sf.max,wg=Sf.min,xg=Sc(Pf,"now"),yg=a.parseInt,zg=Sf.random,Ag=Tf.NEGATIVE_INFINITY,Bg=Tf.POSITIVE_INFINITY,Cg=4294967295,Dg=Cg-1,Eg=Cg>>>1,Fg=9007199254740991,Gg=og&&new og,Hg={};b.support={};b.templateSettings={escape:va,evaluate:wa,interpolate:xa,variable:"",imports:{_:b}};var Ig=function(){function a(){}return function(b){if(He(b)){a.prototype=b;var c=new a;a.prototype=z}return c||{}}}(),Jg=lc(Fb),Kg=lc(Gb,!0),Lg=mc(),Mg=mc(!0),Ng=Gg?function(a,b){return Gg.set(a,b),a}:Bf,Og=Gg?function(a){return Gg.get(a)}:Gf,Pg=Rb("length"),Qg=function(){var a=0,b=0;return function(c,d){var e=oh(),f=N-(e-b);if(b=e,f>0){if(++a>=M)return c}else a=0;return Ng(c,d)}}(),Rg=qe(function(a,b){return r(a)&&Yc(a)?xb(a,Db(b,!1,!0)):[]}),Sg=vc(),Tg=vc(!0),Ug=qe(function(a){for(var b=a.length,c=b,d=Of(l),e=Qc(),g=e==f,h=[];c--;){var i=a[c]=Yc(i=a[c])?i:[];d[c]=g&&i.length>=120?oc(c&&i):null}var j=a[0],k=-1,l=j?j.length:0,m=d[0];a:for(;++k2?a[b-2]:z,d=b>1?a[b-1]:z;return b>2&&"function"==typeof c?b-=2:(c=b>1&&"function"==typeof d?(--b,d):z,d=z),a.length=b,Ld(a,c,d)}),ah=qe(function(a){return a=Db(a),this.thru(function(b){return _a(Ch(b)?b:[kd(b)],a)})}),bh=qe(function(a,b){return sb(a,Db(b))}),ch=jc(function(a,b,c){ag.call(a,c)?++a[c]:a[c]=1}),dh=uc(Jg),eh=uc(Kg,!0),fh=yc(bb,Jg),gh=yc(eb,Kg),hh=jc(function(a,b,c){ag.call(a,c)?a[c].push(b):a[c]=[b]}),ih=jc(function(a,b,c){a[c]=b}),jh=qe(function(a,b,c){var d=-1,e="function"==typeof b,f=_c(b),g=Yc(a)?Of(a.length):[];return Jg(a,function(a){var h=e?b:f&&null!=a?a[b]:z;g[++d]=h?h.apply(a,c):Xc(a,b,c)}),g}),kh=jc(function(a,b,c){a[c?0:1].push(b)},function(){return[[],[]]}),lh=Ec(kb,Jg),mh=Ec(lb,Kg),nh=qe(function(a,b){if(null==a)return[];var c=b[2];return c&&$c(b[0],b[1],c)&&(b.length=1),Zb(a,Db(b),[])}),oh=xg||function(){return(new Pf).getTime()},ph=qe(function(a,b,c){var d=B;if(c.length){var e=t(c,ph.placeholder);d|=G}return Kc(a,d,b,c,e)}),qh=qe(function(a,b){b=b.length?Db(b):Xe(a);for(var c=-1,d=b.length;++c0||0>b)?new Z(c):(0>a?c=c.takeRight(-a):a&&(c=c.drop(a)),b!==z&&(b=+b||0,c=0>b?c.dropRight(-b):c.take(b-a)),c)},Z.prototype.takeRightWhile=function(a,b){return this.reverse().takeWhile(a,b).reverse()},Z.prototype.toArray=function(){return this.take(Bg)},Fb(Z.prototype,function(a,c){var d=/^(?:filter|map|reject)|While$/.test(c),e=/^(?:first|last)$/.test(c),f=b[e?"take"+("last"==c?"Right":""):c];f&&(b.prototype[c]=function(){var b=e?[1]:arguments,c=this.__chain__,g=this.__wrapped__,h=!!this.__actions__.length,i=g instanceof Z,j=b[0],k=i||Ch(g);k&&d&&"function"==typeof j&&1!=j.length&&(i=k=!1);var l=function(a){return e&&c?f(a,1)[0]:f.apply(z,jb([a],b))},m={func:Qd,args:[l],thisArg:z},n=i&&!h;if(e&&!c)return n?(g=g.clone(),g.__actions__.push(m),a.call(g)):f.call(z,this.value())[0];if(!e&&k){g=n?g:new Z(this);var o=a.apply(g,b);return o.__actions__.push(m),new s(o,c)}return this.thru(l)})}),bb(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(a){var c=(/^(?:replace|split)$/.test(a)?$f:Yf)[a],d=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",e=/^(?:join|pop|replace|shift)$/.test(a);b.prototype[a]=function(){var a=arguments;return e&&!this.__chain__?c.apply(this.value(),a):this[d](function(b){return c.apply(b,a)})}}),Fb(Z.prototype,function(a,c){var d=b[c];if(d){var e=d.name,f=Hg[e]||(Hg[e]=[]);f.push({name:c,func:d})}}),Hg[Fc(z,C).name]=[{name:"wrapper",func:z}],Z.prototype.clone=ba,Z.prototype.reverse=da,Z.prototype.value=Sa,b.prototype.chain=Rd,b.prototype.commit=Sd,b.prototype.concat=ah,b.prototype.plant=Td,b.prototype.reverse=Ud,b.prototype.toString=Vd,b.prototype.run=b.prototype.toJSON=b.prototype.valueOf=b.prototype.value=Wd,b.prototype.collect=b.prototype.map,b.prototype.head=b.prototype.first,b.prototype.select=b.prototype.filter,b.prototype.tail=b.prototype.rest,b}var z,A="3.10.1",B=1,C=2,D=4,E=8,F=16,G=32,H=64,I=128,J=256,K=30,L="...",M=150,N=16,O=200,P=1,Q=2,R="Expected a function",S="__lodash_placeholder__",T="[object Arguments]",U="[object Array]",V="[object Boolean]",W="[object Date]",X="[object Error]",Y="[object Function]",Z="[object Map]",$="[object Number]",_="[object Object]",aa="[object RegExp]",ba="[object Set]",ca="[object String]",da="[object WeakMap]",ea="[object ArrayBuffer]",fa="[object Float32Array]",ga="[object Float64Array]",ha="[object Int8Array]",ia="[object Int16Array]",ja="[object Int32Array]",ka="[object Uint8Array]",la="[object Uint8ClampedArray]",ma="[object Uint16Array]",na="[object Uint32Array]",oa=/\b__p \+= '';/g,pa=/\b(__p \+=) '' \+/g,qa=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ra=/&(?:amp|lt|gt|quot|#39|#96);/g,sa=/[&<>"'`]/g,ta=RegExp(ra.source),ua=RegExp(sa.source),va=/<%-([\s\S]+?)%>/g,wa=/<%([\s\S]+?)%>/g,xa=/<%=([\s\S]+?)%>/g,ya=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,za=/^\w*$/,Aa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g,Ba=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,Ca=RegExp(Ba.source),Da=/[\u0300-\u036f\ufe20-\ufe23]/g,Ea=/\\(\\)?/g,Fa=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ga=/\w*$/,Ha=/^0[xX]/,Ia=/^\[object .+?Constructor\]$/,Ja=/^\d+$/,Ka=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,La=/($^)/,Ma=/['\n\r\u2028\u2029\\]/g,Na=function(){var a="[A-Z\\xc0-\\xd6\\xd8-\\xde]",b="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(a+"+(?="+a+b+")|"+a+"?"+b+"|"+a+"+|[0-9]+","g")}(),Oa=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"],Pa=-1,Qa={};Qa[fa]=Qa[ga]=Qa[ha]=Qa[ia]=Qa[ja]=Qa[ka]=Qa[la]=Qa[ma]=Qa[na]=!0,Qa[T]=Qa[U]=Qa[ea]=Qa[V]=Qa[W]=Qa[X]=Qa[Y]=Qa[Z]=Qa[$]=Qa[_]=Qa[aa]=Qa[ba]=Qa[ca]=Qa[da]=!1;var Ra={};Ra[T]=Ra[U]=Ra[ea]=Ra[V]=Ra[W]=Ra[fa]=Ra[ga]=Ra[ha]=Ra[ia]=Ra[ja]=Ra[$]=Ra[_]=Ra[aa]=Ra[ca]=Ra[ka]=Ra[la]=Ra[ma]=Ra[na]=!0,Ra[X]=Ra[Y]=Ra[Z]=Ra[ba]=Ra[da]=!1;var Sa={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Ta={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Ua={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Va={"function":!0,object:!0},Wa={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"},Xa={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Ya=Va[typeof c]&&c&&!c.nodeType&&c,Za=Va[typeof b]&&b&&!b.nodeType&&b,$a=Ya&&Za&&"object"==typeof a&&a&&a.Object&&a,_a=Va[typeof self]&&self&&self.Object&&self,ab=Va[typeof window]&&window&&window.Object&&window,bb=Za&&Za.exports===Ya&&Ya,cb=$a||ab!==(this&&this.window)&&ab||_a||this,db=y();"function"==typeof define&&"object"==typeof define.amd&&define.amd?(cb._=db,define(function(){return db})):Ya&&Za?bb?(Za.exports=db)._=db:Ya._=db:cb._=db}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],8:[function(a,b,c){!function(a,c){"function"==typeof define&&define.amd?define([],c):"undefined"!=typeof b&&b.exports?b.exports=c():a.lscache=c()}(this,function(){function a(){var a="__lscachetest__",c=a;if(void 0!==m)return m;try{g(a,c),h(a),m=!0}catch(d){m=b(d)?!0:!1}return m}function b(a){return a&&"QUOTA_EXCEEDED_ERR"===a.name||"NS_ERROR_DOM_QUOTA_REACHED"===a.name||"QuotaExceededError"===a.name?!0:!1}function c(){return void 0===n&&(n=null!=window.JSON),n}function d(a){return a+p}function e(){return Math.floor((new Date).getTime()/r)}function f(a){return localStorage.getItem(o+t+a)}function g(a,b){localStorage.removeItem(o+t+a),localStorage.setItem(o+t+a,b)}function h(a){localStorage.removeItem(o+t+a)}function i(a){for(var b=new RegExp("^"+o+t+"(.*)"),c=localStorage.length-1;c>=0;--c){var e=localStorage.key(c);e=e&&e.match(b),e=e&&e[1],e&&e.indexOf(p)<0&&a(e,d(e))}}function j(a){var b=d(a);h(a),h(b)}function k(a){var b=d(a),c=f(b);if(c){var g=parseInt(c,q);if(e()>=g)return h(a),h(b),!0}}function l(a,b){u&&"console"in window&&"function"==typeof window.console.warn&&(window.console.warn("lscache - "+a),b&&window.console.warn("lscache - The error was: "+b.message))}var m,n,o="lscache-",p="-cacheexpiration",q=10,r=6e4,s=Math.floor(864e13/r),t="",u=!1,v={set:function(k,m,n){if(a()){if("string"!=typeof m){if(!c())return;try{m=JSON.stringify(m)}catch(o){return}}try{g(k,m)}catch(o){if(!b(o))return void l("Could not add item with key '"+k+"'",o);var p,r=[];i(function(a,b){var c=f(b);c=c?parseInt(c,q):s,r.push({key:a,size:(f(a)||"").length,expiration:c})}),r.sort(function(a,b){return b.expiration-a.expiration});for(var t=(m||"").length;r.length&&t>0;)p=r.pop(),l("Cache is full, removing item with key '"+k+"'"),j(p.key),t-=p.size;try{g(k,m)}catch(o){return void l("Could not add item with key '"+k+"', perhaps it's too big?",o)}}n?g(d(k),(e()+n).toString(q)):h(d(k))}},get:function(b){if(!a())return null;if(k(b))return null;var d=f(b);if(!d||!c())return d;try{return JSON.parse(d)}catch(e){return d}},remove:function(b){a()&&j(b)},supported:function(){return a()},flush:function(){a()&&i(function(a){j(a)})},flushExpired:function(){a()&&i(function(a){k(a)})},setBucket:function(a){t=a},resetBucket:function(){t=""},enableWarnings:function(a){u=a}};return v})},{}],9:[function(a,b,c){(function(a){(function(){function a(a){this.tokens=[],this.tokens.links={},this.options=a||l.defaults,this.rules=m.normal,this.options.gfm&&(this.options.tables?this.rules=m.tables:this.rules=m.gfm)}function d(a,b){if(this.options=b||l.defaults,this.links=a,this.rules=n.normal,this.renderer=this.options.renderer||new e,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.gfm?this.options.breaks?this.rules=n.breaks:this.rules=n.gfm:this.options.pedantic&&(this.rules=n.pedantic)}function e(a){this.options=a||{}}function f(a){this.tokens=[],this.token=null,this.options=a||l.defaults,this.options.renderer=this.options.renderer||new e,this.renderer=this.options.renderer,this.renderer.options=this.options}function g(a,b){return a.replace(b?/&/g:/&(?!#?\w+;)/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function h(a){return a.replace(/&([#\w]+);/g,function(a,b){return b=b.toLowerCase(),"colon"===b?":":"#"===b.charAt(0)?"x"===b.charAt(1)?String.fromCharCode(parseInt(b.substring(2),16)):String.fromCharCode(+b.substring(1)):""})}function i(a,b){return a=a.source,b=b||"",function c(d,e){return d?(e=e.source||e,e=e.replace(/(^|[^\[])\^/g,"$1"),a=a.replace(d,e),c):new RegExp(a,b)}}function j(){}function k(a){for(var b,c,d=1;dAn error occured:

"+g(m.message+"",!0)+"
";throw m}}var m={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:j,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:j,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:j,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};m.bullet=/(?:[*+-]|\d+\.)/,m.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,m.item=i(m.item,"gm")(/bull/g,m.bullet)(),m.list=i(m.list)(/bull/g,m.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+m.def.source+")")(),m.blockquote=i(m.blockquote)("def",m.def)(),m._tag="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b",m.html=i(m.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,m._tag)(),m.paragraph=i(m.paragraph)("hr",m.hr)("heading",m.heading)("lheading",m.lheading)("blockquote",m.blockquote)("tag","<"+m._tag)("def",m.def)(),m.normal=k({},m),m.gfm=k({},m.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),m.gfm.paragraph=i(m.paragraph)("(?!","(?!"+m.gfm.fences.source.replace("\\1","\\2")+"|"+m.list.source.replace("\\1","\\3")+"|")(),m.tables=k({},m.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/}),a.rules=m,a.lex=function(b,c){var d=new a(c);return d.lex(b)},a.prototype.lex=function(a){return a=a.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(a,!0)},a.prototype.token=function(a,b,c){for(var d,e,f,g,h,i,j,k,l,a=a.replace(/^ +$/gm,"");a;)if((f=this.rules.newline.exec(a))&&(a=a.substring(f[0].length),f[0].length>1&&this.tokens.push({type:"space"})),f=this.rules.code.exec(a))a=a.substring(f[0].length),f=f[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?f:f.replace(/\n+$/,"")});else if(f=this.rules.fences.exec(a))a=a.substring(f[0].length),this.tokens.push({type:"code",lang:f[2],text:f[3]||""});else if(f=this.rules.heading.exec(a))a=a.substring(f[0].length),this.tokens.push({type:"heading",depth:f[1].length,text:f[2]});else if(b&&(f=this.rules.nptable.exec(a))){for(a=a.substring(f[0].length),i={type:"table",header:f[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:f[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:f[3].replace(/\n$/,"").split("\n")},k=0;k ?/gm,""),this.token(f,b,!0),this.tokens.push({type:"blockquote_end"});else if(f=this.rules.list.exec(a)){for(a=a.substring(f[0].length),g=f[2],this.tokens.push({type:"list_start",ordered:g.length>1}),f=f[0].match(this.rules.item),d=!1,l=f.length,k=0;l>k;k++)i=f[k],j=i.length,i=i.replace(/^ *([*+-]|\d+\.) +/,""),~i.indexOf("\n ")&&(j-=i.length,i=this.options.pedantic?i.replace(/^ {1,4}/gm,""):i.replace(new RegExp("^ {1,"+j+"}","gm"),"")),this.options.smartLists&&k!==l-1&&(h=m.bullet.exec(f[k+1])[0],g===h||g.length>1&&h.length>1||(a=f.slice(k+1).join("\n")+a,k=l-1)),e=d||/\n\n(?!\s*$)/.test(i),k!==l-1&&(d="\n"===i.charAt(i.length-1),e||(e=d)),this.tokens.push({type:e?"loose_item_start":"list_item_start"}),this.token(i,!1,c),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(f=this.rules.html.exec(a))a=a.substring(f[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===f[1]||"script"===f[1]||"style"===f[1]),text:f[0]});else if(!c&&b&&(f=this.rules.def.exec(a)))a=a.substring(f[0].length),this.tokens.links[f[1].toLowerCase()]={href:f[2],title:f[3]};else if(b&&(f=this.rules.table.exec(a))){for(a=a.substring(f[0].length),i={type:"table",header:f[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:f[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:f[3].replace(/(?: *\| *)?\n$/,"").split("\n")},k=0;k])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:j,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:j,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/,n.link=i(n.link)("inside",n._inside)("href",n._href)(),n.reflink=i(n.reflink)("inside",n._inside)(),n.normal=k({},n),n.pedantic=k({},n.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/}),n.gfm=k({},n.normal,{escape:i(n.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:i(n.text)("]|","~]|")("|","|https?://|")()}),n.breaks=k({},n.gfm,{br:i(n.br)("{2,}","*")(),text:i(n.gfm.text)("{2,}","*")()}),d.rules=n,d.output=function(a,b,c){var e=new d(b,c);return e.output(a)},d.prototype.output=function(a){for(var b,c,d,e,f="";a;)if(e=this.rules.escape.exec(a))a=a.substring(e[0].length),f+=e[1];else if(e=this.rules.autolink.exec(a))a=a.substring(e[0].length),"@"===e[2]?(c=":"===e[1].charAt(6)?this.mangle(e[1].substring(7)):this.mangle(e[1]),d=this.mangle("mailto:")+c):(c=g(e[1]),d=c),f+=this.renderer.link(d,null,c);else if(this.inLink||!(e=this.rules.url.exec(a))){if(e=this.rules.tag.exec(a))!this.inLink&&/^/i.test(e[0])&&(this.inLink=!1),a=a.substring(e[0].length),f+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):g(e[0]):e[0];else if(e=this.rules.link.exec(a))a=a.substring(e[0].length),this.inLink=!0,f+=this.outputLink(e,{href:e[2],title:e[3]}),this.inLink=!1;else if((e=this.rules.reflink.exec(a))||(e=this.rules.nolink.exec(a))){if(a=a.substring(e[0].length),b=(e[2]||e[1]).replace(/\s+/g," "),b=this.links[b.toLowerCase()],!b||!b.href){f+=e[0].charAt(0),a=e[0].substring(1)+a;continue}this.inLink=!0,f+=this.outputLink(e,b),this.inLink=!1}else if(e=this.rules.strong.exec(a))a=a.substring(e[0].length),f+=this.renderer.strong(this.output(e[2]||e[1]));else if(e=this.rules.em.exec(a))a=a.substring(e[0].length),f+=this.renderer.em(this.output(e[2]||e[1]));else if(e=this.rules.code.exec(a))a=a.substring(e[0].length),f+=this.renderer.codespan(g(e[2],!0));else if(e=this.rules.br.exec(a))a=a.substring(e[0].length),f+=this.renderer.br();else if(e=this.rules.del.exec(a))a=a.substring(e[0].length),f+=this.renderer.del(this.output(e[1]));else if(e=this.rules.text.exec(a))a=a.substring(e[0].length),f+=this.renderer.text(g(this.smartypants(e[0])));else if(a)throw new Error("Infinite loop on byte: "+a.charCodeAt(0))}else a=a.substring(e[0].length),c=g(e[1]),d=c,f+=this.renderer.link(d,null,c);return f},d.prototype.outputLink=function(a,b){var c=g(b.href),d=b.title?g(b.title):null;return"!"!==a[0].charAt(0)?this.renderer.link(c,d,this.output(a[1])):this.renderer.image(c,d,g(a[1]))},d.prototype.smartypants=function(a){return this.options.smartypants?a.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):a},d.prototype.mangle=function(a){if(!this.options.mangle)return a;for(var b,c="",d=a.length,e=0;d>e;e++)b=a.charCodeAt(e),Math.random()>.5&&(b="x"+b.toString(16)),c+="&#"+b+";";return c},e.prototype.code=function(a,b,c){if(this.options.highlight){var d=this.options.highlight(a,b);null!=d&&d!==a&&(c=!0,a=d)}return b?'
'+(c?a:g(a,!0))+"\n
\n":"
"+(c?a:g(a,!0))+"\n
"},e.prototype.blockquote=function(a){return"
\n"+a+"
\n"},e.prototype.html=function(a){return a},e.prototype.heading=function(a,b,c){return"'+a+"\n"},e.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},e.prototype.list=function(a,b){var c=b?"ol":"ul";return"<"+c+">\n"+a+"\n"},e.prototype.listitem=function(a){return"
  • "+a+"
  • \n"},e.prototype.paragraph=function(a){return"

    "+a+"

    \n"},e.prototype.table=function(a,b){return"\n\n"+a+"\n\n"+b+"\n
    \n"},e.prototype.tablerow=function(a){return"\n"+a+"\n"},e.prototype.tablecell=function(a,b){var c=b.header?"th":"td",d=b.align?"<"+c+' style="text-align:'+b.align+'">':"<"+c+">";return d+a+"\n"},e.prototype.strong=function(a){return""+a+""},e.prototype.em=function(a){return""+a+""},e.prototype.codespan=function(a){return""+a+""},e.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},e.prototype.del=function(a){return""+a+""},e.prototype.link=function(a,b,c){if(this.options.sanitize){try{var d=decodeURIComponent(h(a)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0===d.indexOf("javascript:")||0===d.indexOf("vbscript:"))return""}var f='
    "},e.prototype.image=function(a,b,c){var d=''+c+'":">"},e.prototype.text=function(a){return a},f.parse=function(a,b,c){var d=new f(b,c);return d.parse(a)},f.prototype.parse=function(a){this.inline=new d(a.links,this.options,this.renderer),this.tokens=a.reverse();for(var b="";this.next();)b+=this.tok();return b},f.prototype.next=function(){return this.token=this.tokens.pop()},f.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},f.prototype.parseText=function(){for(var a=this.token.text;"text"===this.peek().type;)a+="\n"+this.next().text;return this.inline.output(a)},f.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var a,b,c,d,e,f="",g="";for(c="",a=0;a0)for(c in Yc)d=Yc[c], -e=b[d],o(e)||(a[d]=e);return a}function q(a){p(this,a),this._d=new Date(null!=a._d?a._d.getTime():NaN),Zc===!1&&(Zc=!0,c.updateOffset(this),Zc=!1)}function r(a){return a instanceof q||null!=a&&null!=a._isAMomentObject}function s(a){return 0>a?Math.ceil(a):Math.floor(a)}function t(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=s(b)),c}function u(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&t(a[d])!==t(b[d]))&&g++;return g+f}function v(){}function w(a){return a?a.toLowerCase().replace("_","-"):a}function x(a){for(var b,c,d,e,f=0;f0;){if(d=y(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&u(e,c,!0)>=b-1)break;b--}f++}return null}function y(c){var d=null;if(!$c[c]&&"undefined"!=typeof b&&b&&b.exports)try{d=Xc._abbr,a("./locale/"+c),z(d)}catch(e){}return $c[c]}function z(a,b){var c;return a&&(c=o(b)?B(a):A(a,b),c&&(Xc=c)),Xc._abbr}function A(a,b){return null!==b?(b.abbr=a,$c[a]=$c[a]||new v,$c[a].set(b),z(a),$c[a]):(delete $c[a],null)}function B(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Xc;if(!e(a)){if(b=y(a))return b;a=[a]}return x(a)}function C(a,b){var c=a.toLowerCase();_c[c]=_c[c+"s"]=_c[b]=a}function D(a){return"string"==typeof a?_c[a]||_c[a.toLowerCase()]:void 0}function E(a){var b,c,d={};for(c in a)h(a,c)&&(b=D(c),b&&(d[b]=a[c]));return d}function F(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function G(a,b){return function(d){return null!=d?(I(this,a,d),c.updateOffset(this,b),this):H(this,a)}}function H(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function I(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function J(a,b){var c;if("object"==typeof a)for(c in a)this.set(c,a[c]);else if(a=D(a),F(this[a]))return this[a](b);return this}function K(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function L(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(dd[a]=e),b&&(dd[b[0]]=function(){return K(e.apply(this,arguments),b[1],b[2])}),c&&(dd[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function M(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function N(a){var b,c,d=a.match(ad);for(b=0,c=d.length;c>b;b++)dd[d[b]]?d[b]=dd[d[b]]:d[b]=M(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function O(a,b){return a.isValid()?(b=P(b,a.localeData()),cd[b]=cd[b]||N(b),cd[b](a)):a.localeData().invalidDate()}function P(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(bd.lastIndex=0;d>=0&&bd.test(a);)a=a.replace(bd,c),bd.lastIndex=0,d-=1;return a}function Q(a,b,c){vd[a]=F(b)?b:function(a,d){return a&&c?c:b}}function R(a,b){return h(vd,a)?vd[a](b._strict,b._locale):new RegExp(S(a))}function S(a){return T(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function T(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function U(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),"number"==typeof b&&(d=function(a,c){c[b]=t(a)}),c=0;cd;d++){if(e=j([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function _(a,b){var c;return a.isValid()?"string"==typeof b&&(b=a.localeData().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),X(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a):a}function aa(a){return null!=a?(_(this,a),c.updateOffset(this,!0),this):H(this,"Month")}function ba(){return X(this.year(),this.month())}function ca(a){return this._monthsParseExact?(h(this,"_monthsRegex")||ea.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex}function da(a){return this._monthsParseExact?(h(this,"_monthsRegex")||ea.call(this),a?this._monthsStrictRegex:this._monthsRegex):this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex}function ea(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;12>b;b++)c=j([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;12>b;b++)d[b]=T(d[b]),e[b]=T(e[b]),f[b]=T(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")$","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")$","i")}function fa(a){var b,c=a._a;return c&&-2===l(a).overflow&&(b=c[yd]<0||c[yd]>11?yd:c[zd]<1||c[zd]>X(c[xd],c[yd])?zd:c[Ad]<0||c[Ad]>24||24===c[Ad]&&(0!==c[Bd]||0!==c[Cd]||0!==c[Dd])?Ad:c[Bd]<0||c[Bd]>59?Bd:c[Cd]<0||c[Cd]>59?Cd:c[Dd]<0||c[Dd]>999?Dd:-1,l(a)._overflowDayOfYear&&(xd>b||b>zd)&&(b=zd),l(a)._overflowWeeks&&-1===b&&(b=Ed),l(a)._overflowWeekday&&-1===b&&(b=Fd),l(a).overflow=b),a}function ga(a){c.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function ha(a,b){var c=!0;return i(function(){return c&&(ga(a+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack),c=!1),b.apply(this,arguments)},b)}function ia(a,b){Ld[a]||(ga(b),Ld[a]=!0)}function ja(a){var b,c,d,e,f,g,h=a._i,i=Md.exec(h)||Nd.exec(h);if(i){for(l(a).iso=!0,b=0,c=Pd.length;c>b;b++)if(Pd[b][1].exec(i[1])){e=Pd[b][0],d=Pd[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Qd.length;c>b;b++)if(Qd[b][1].exec(i[3])){f=(i[2]||" ")+Qd[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Od.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),ya(a)}else a._isValid=!1}function ka(a){var b=Rd.exec(a._i);return null!==b?void(a._d=new Date(+b[1])):(ja(a),void(a._isValid===!1&&(delete a._isValid,c.createFromInputFallback(a))))}function la(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 100>a&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ma(a){var b=new Date(Date.UTC.apply(null,arguments));return 100>a&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function na(a){return oa(a)?366:365}function oa(a){return a%4===0&&a%100!==0||a%400===0}function pa(){return oa(this.year())}function qa(a,b,c){var d=7+b-c,e=(7+ma(a,0,d).getUTCDay()-b)%7;return-e+d-1}function ra(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=qa(a,d,e),j=1+7*(b-1)+h+i;return 0>=j?(f=a-1,g=na(f)+j):j>na(a)?(f=a+1,g=j-na(a)):(f=a,g=j),{year:f,dayOfYear:g}}function sa(a,b,c){var d,e,f=qa(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return 1>g?(e=a.year()-1,d=g+ta(e,b,c)):g>ta(a.year(),b,c)?(d=g-ta(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function ta(a,b,c){var d=qa(a,b,c),e=qa(a+1,b,c);return(na(a)-d+e)/7}function ua(a,b,c){return null!=a?a:null!=b?b:c}function va(a){var b=new Date(c.now());return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function wa(a){var b,c,d,e,f=[];if(!a._d){for(d=va(a),a._w&&null==a._a[zd]&&null==a._a[yd]&&xa(a),a._dayOfYear&&(e=ua(a._a[xd],d[xd]),a._dayOfYear>na(e)&&(l(a)._overflowDayOfYear=!0),c=ma(e,0,a._dayOfYear),a._a[yd]=c.getUTCMonth(),a._a[zd]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;7>b;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[Ad]&&0===a._a[Bd]&&0===a._a[Cd]&&0===a._a[Dd]&&(a._nextDay=!0,a._a[Ad]=0),a._d=(a._useUTC?ma:la).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[Ad]=24)}}function xa(a){var b,c,d,e,f,g,h,i;b=a._w,null!=b.GG||null!=b.W||null!=b.E?(f=1,g=4,c=ua(b.GG,a._a[xd],sa(Ga(),1,4).year),d=ua(b.W,1),e=ua(b.E,1),(1>e||e>7)&&(i=!0)):(f=a._locale._week.dow,g=a._locale._week.doy,c=ua(b.gg,a._a[xd],sa(Ga(),f,g).year),d=ua(b.w,1),null!=b.d?(e=b.d,(0>e||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f),1>d||d>ta(c,f,g)?l(a)._overflowWeeks=!0:null!=i?l(a)._overflowWeekday=!0:(h=ra(c,d,e,f,g),a._a[xd]=h.year,a._dayOfYear=h.dayOfYear)}function ya(a){if(a._f===c.ISO_8601)return void ja(a);a._a=[],l(a).empty=!0;var b,d,e,f,g,h=""+a._i,i=h.length,j=0;for(e=P(a._f,a._locale).match(ad)||[],b=0;b0&&l(a).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),dd[f]?(d?l(a).empty=!1:l(a).unusedTokens.push(f),W(f,d,a)):a._strict&&!d&&l(a).unusedTokens.push(f);l(a).charsLeftOver=i-j,h.length>0&&l(a).unusedInput.push(h),l(a).bigHour===!0&&a._a[Ad]<=12&&a._a[Ad]>0&&(l(a).bigHour=void 0),a._a[Ad]=za(a._locale,a._a[Ad],a._meridiem),wa(a),fa(a)}function za(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&12>b&&(b+=12),d||12!==b||(b=0),b):b}function Aa(a){var b,c,d,e,f;if(0===a._f.length)return l(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ef)&&(d=f,c=b));i(a,c||b)}function Ba(a){if(!a._d){var b=E(a._i);a._a=g([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),wa(a)}}function Ca(a){var b=new q(fa(Da(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function Da(a){var b=a._i,c=a._f;return a._locale=a._locale||B(a._l),null===b||void 0===c&&""===b?n({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),r(b)?new q(fa(b)):(e(c)?Aa(a):c?ya(a):f(b)?a._d=b:Ea(a),m(a)||(a._d=null),a))}function Ea(a){var b=a._i;void 0===b?a._d=new Date(c.now()):f(b)?a._d=new Date(+b):"string"==typeof b?ka(a):e(b)?(a._a=g(b.slice(0),function(a){return parseInt(a,10)}),wa(a)):"object"==typeof b?Ba(a):"number"==typeof b?a._d=new Date(b):c.createFromInputFallback(a)}function Fa(a,b,c,d,e){var f={};return"boolean"==typeof c&&(d=c,c=void 0),f._isAMomentObject=!0,f._useUTC=f._isUTC=e,f._l=c,f._i=a,f._f=b,f._strict=d,Ca(f)}function Ga(a,b,c,d){return Fa(a,b,c,d,!1)}function Ha(a,b){var c,d;if(1===b.length&&e(b[0])&&(b=b[0]),!b.length)return Ga();for(c=b[0],d=1;da&&(a=-a,c="-"),c+K(~~(a/60),2)+b+K(~~a%60,2)})}function Na(a,b){var c=(b||"").match(a)||[],d=c[c.length-1]||[],e=(d+"").match(Wd)||["-",0,0],f=+(60*e[1])+t(e[2]);return"+"===e[0]?f:-f}function Oa(a,b){var d,e;return b._isUTC?(d=b.clone(),e=(r(a)||f(a)?+a:+Ga(a))-+d,d._d.setTime(+d._d+e),c.updateOffset(d,!1),d):Ga(a).local()}function Pa(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Qa(a,b){var d,e=this._offset||0;return this.isValid()?null!=a?("string"==typeof a?a=Na(sd,a):Math.abs(a)<16&&(a=60*a),!this._isUTC&&b&&(d=Pa(this)),this._offset=a,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==a&&(!b||this._changeInProgress?eb(this,_a(a-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?e:Pa(this):null!=a?this:NaN}function Ra(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Sa(a){return this.utcOffset(0,a)}function Ta(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Pa(this),"m")),this}function Ua(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(Na(rd,this._i)),this}function Va(a){return this.isValid()?(a=a?Ga(a).utcOffset():0,(this.utcOffset()-a)%60===0):!1}function Wa(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Xa(){if(!o(this._isDSTShifted))return this._isDSTShifted;var a={};if(p(a,this),a=Da(a),a._a){var b=a._isUTC?j(a._a):Ga(a._a);this._isDSTShifted=this.isValid()&&u(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Ya(){return this.isValid()?!this._isUTC:!1}function Za(){return this.isValid()?this._isUTC:!1}function $a(){return this.isValid()?this._isUTC&&0===this._offset:!1}function _a(a,b){var c,d,e,f=a,g=null;return La(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=Xd.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:t(g[zd])*c,h:t(g[Ad])*c,m:t(g[Bd])*c,s:t(g[Cd])*c,ms:t(g[Dd])*c}):(g=Yd.exec(a))?(c="-"===g[1]?-1:1,f={y:ab(g[2],c),M:ab(g[3],c),d:ab(g[4],c),h:ab(g[5],c),m:ab(g[6],c),s:ab(g[7],c),w:ab(g[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=cb(Ga(f.from),Ga(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ka(f),La(a)&&h(a,"_locale")&&(d._locale=a._locale),d}function ab(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function bb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function cb(a,b){var c;return a.isValid()&&b.isValid()?(b=Oa(b,a),a.isBefore(b)?c=bb(a,b):(c=bb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function db(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(ia(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period)."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=_a(c,d),eb(this,e,a),this}}function eb(a,b,d,e){var f=b._milliseconds,g=b._days,h=b._months;a.isValid()&&(e=null==e?!0:e,f&&a._d.setTime(+a._d+f*d),g&&I(a,"Date",H(a,"Date")+g*d),h&&_(a,H(a,"Month")+h*d),e&&c.updateOffset(a,g||h))}function fb(a,b){var c=a||Ga(),d=Oa(c,this).startOf("day"),e=this.diff(d,"days",!0),f=-6>e?"sameElse":-1>e?"lastWeek":0>e?"lastDay":1>e?"sameDay":2>e?"nextDay":7>e?"nextWeek":"sameElse",g=b&&(F(b[f])?b[f]():b[f]);return this.format(g||this.localeData().calendar(f,this,Ga(c)))}function gb(){return new q(this)}function hb(a,b){var c=r(a)?a:Ga(a);return this.isValid()&&c.isValid()?(b=D(o(b)?"millisecond":b),"millisecond"===b?+this>+c:+c<+this.clone().startOf(b)):!1}function ib(a,b){var c=r(a)?a:Ga(a);return this.isValid()&&c.isValid()?(b=D(o(b)?"millisecond":b),"millisecond"===b?+c>+this:+this.clone().endOf(b)<+c):!1}function jb(a,b,c){return this.isAfter(a,c)&&this.isBefore(b,c)}function kb(a,b){var c,d=r(a)?a:Ga(a);return this.isValid()&&d.isValid()?(b=D(b||"millisecond"),"millisecond"===b?+this===+d:(c=+d,+this.clone().startOf(b)<=c&&c<=+this.clone().endOf(b))):!1}function lb(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function mb(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function nb(a,b,c){var d,e,f,g;return this.isValid()?(d=Oa(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=D(b),"year"===b||"month"===b||"quarter"===b?(g=ob(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:s(g)):NaN):NaN}function ob(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return 0>b-f?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)}function pb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function qb(){var a=this.clone().utc();return 0f&&(b=f),Qb.call(this,a,b,c,d,e))}function Qb(a,b,c,d,e){var f=ra(a,b,c,d,e),g=ma(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Rb(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Sb(a){return sa(a,this._week.dow,this._week.doy).week}function Tb(){return this._week.dow}function Ub(){return this._week.doy}function Vb(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Wb(a){var b=sa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Xb(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Yb(a,b){return e(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]}function Zb(a){return this._weekdaysShort[a.day()]}function $b(a){return this._weekdaysMin[a.day()]}function _b(a,b,c){var d,e,f;for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;7>d;d++){if(e=Ga([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function ac(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Xb(a,this.localeData()),this.add(a-b,"d")):b}function bc(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function cc(a){return this.isValid()?null==a?this.day()||7:this.day(this.day()%7?a:a-7):null!=a?this:NaN}function dc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function ec(){return this.hours()%12||12}function fc(a,b){L(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function gc(a,b){return b._meridiemParse}function hc(a){return"p"===(a+"").toLowerCase().charAt(0)}function ic(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function jc(a,b){b[Dd]=t(1e3*("0."+a))}function kc(){return this._isUTC?"UTC":""}function lc(){return this._isUTC?"Coordinated Universal Time":""}function mc(a){return Ga(1e3*a)}function nc(){return Ga.apply(null,arguments).parseZone()}function oc(a,b,c){var d=this._calendar[a];return F(d)?d.call(b,c):d}function pc(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function qc(){return this._invalidDate}function rc(a){return this._ordinal.replace("%d",a)}function sc(a){return a}function tc(a,b,c,d){var e=this._relativeTime[c];return F(e)?e(a,b,c,d):e.replace(/%d/i,a)}function uc(a,b){var c=this._relativeTime[a>0?"future":"past"];return F(c)?c(b):c.replace(/%s/i,b)}function vc(a){var b,c;for(c in a)b=a[c],F(b)?this[c]=b:this["_"+c]=b;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function wc(a,b,c,d){var e=B(),f=j().set(d,b);return e[c](f,a)}function xc(a,b,c,d,e){if("number"==typeof a&&(b=a,a=void 0),a=a||"",null!=b)return wc(a,b,c,e);var f,g=[];for(f=0;d>f;f++)g[f]=wc(a,f,c,e);return g}function yc(a,b){return xc(a,b,"months",12,"month")}function zc(a,b){return xc(a,b,"monthsShort",12,"month")}function Ac(a,b){return xc(a,b,"weekdays",7,"day")}function Bc(a,b){return xc(a,b,"weekdaysShort",7,"day")}function Cc(a,b){return xc(a,b,"weekdaysMin",7,"day")}function Dc(){var a=this._data;return this._milliseconds=ue(this._milliseconds),this._days=ue(this._days),this._months=ue(this._months),a.milliseconds=ue(a.milliseconds),a.seconds=ue(a.seconds),a.minutes=ue(a.minutes),a.hours=ue(a.hours),a.months=ue(a.months),a.years=ue(a.years),this}function Ec(a,b,c,d){var e=_a(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function Fc(a,b){return Ec(this,a,b,1)}function Gc(a,b){return Ec(this,a,b,-1)}function Hc(a){return 0>a?Math.floor(a):Math.ceil(a)}function Ic(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||0>=f&&0>=g&&0>=h||(f+=864e5*Hc(Kc(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=s(f/1e3),i.seconds=a%60,b=s(a/60),i.minutes=b%60,c=s(b/60),i.hours=c%24,g+=s(c/24),e=s(Jc(g)),h+=e,g-=Hc(Kc(e)),d=s(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function Jc(a){return 4800*a/146097}function Kc(a){return 146097*a/4800}function Lc(a){var b,c,d=this._milliseconds;if(a=D(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+Jc(b),"month"===a?c:c/12;switch(b=this._days+Math.round(Kc(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function Mc(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*t(this._months/12)}function Nc(a){return function(){return this.as(a)}}function Oc(a){return a=D(a),this[a+"s"]()}function Pc(a){return function(){return this._data[a]}}function Qc(){return s(this.days()/7)}function Rc(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Sc(a,b,c){var d=_a(a).abs(),e=Ke(d.as("s")),f=Ke(d.as("m")),g=Ke(d.as("h")),h=Ke(d.as("d")),i=Ke(d.as("M")),j=Ke(d.as("y")),k=e=f&&["m"]||f=g&&["h"]||g=h&&["d"]||h=i&&["M"]||i=j&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,Rc.apply(null,k)}function Tc(a,b){return void 0===Le[a]?!1:void 0===b?Le[a]:(Le[a]=b,!0)}function Uc(a){var b=this.localeData(),c=Sc(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function Vc(){var a,b,c,d=Me(this._milliseconds)/1e3,e=Me(this._days),f=Me(this._months);a=s(d/60),b=s(a/60),d%=60,a%=60,c=s(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(0>m?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var Wc,Xc,Yc=c.momentProperties=[],Zc=!1,$c={},_c={},ad=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,bd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,cd={},dd={},ed=/\d/,fd=/\d\d/,gd=/\d{3}/,hd=/\d{4}/,id=/[+-]?\d{6}/,jd=/\d\d?/,kd=/\d\d\d\d?/,ld=/\d\d\d\d\d\d?/,md=/\d{1,3}/,nd=/\d{1,4}/,od=/[+-]?\d{1,6}/,pd=/\d+/,qd=/[+-]?\d+/,rd=/Z|[+-]\d\d:?\d\d/gi,sd=/Z|[+-]\d\d(?::?\d\d)?/gi,td=/[+-]?\d+(\.\d{1,3})?/,ud=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,vd={},wd={},xd=0,yd=1,zd=2,Ad=3,Bd=4,Cd=5,Dd=6,Ed=7,Fd=8;L("M",["MM",2],"Mo",function(){return this.month()+1}),L("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),L("MMMM",0,0,function(a){return this.localeData().months(this,a)}),C("month","M"),Q("M",jd),Q("MM",jd,fd),Q("MMM",function(a,b){return b.monthsShortRegex(a)}),Q("MMMM",function(a,b){return b.monthsRegex(a)}),U(["M","MM"],function(a,b){b[yd]=t(a)-1}),U(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[yd]=e:l(c).invalidMonth=a});var Gd=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/,Hd="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Id="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Jd=ud,Kd=ud,Ld={};c.suppressDeprecationWarnings=!1;var Md=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Nd=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/,Od=/Z|[+-]\d\d(?::?\d\d)?/,Pd=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Qd=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Rd=/^\/?Date\((\-?\d+)/i;c.createFromInputFallback=ha("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),L("Y",0,0,function(){var a=this.year();return 9999>=a?""+a:"+"+a}),L(0,["YY",2],0,function(){return this.year()%100}),L(0,["YYYY",4],0,"year"),L(0,["YYYYY",5],0,"year"),L(0,["YYYYYY",6,!0],0,"year"),C("year","y"),Q("Y",qd),Q("YY",jd,fd),Q("YYYY",nd,hd),Q("YYYYY",od,id),Q("YYYYYY",od,id),U(["YYYYY","YYYYYY"],xd),U("YYYY",function(a,b){b[xd]=2===a.length?c.parseTwoDigitYear(a):t(a)}),U("YY",function(a,b){b[xd]=c.parseTwoDigitYear(a)}),U("Y",function(a,b){b[xd]=parseInt(a,10)}),c.parseTwoDigitYear=function(a){return t(a)+(t(a)>68?1900:2e3)};var Sd=G("FullYear",!1);c.ISO_8601=function(){};var Td=ha("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(){var a=Ga.apply(null,arguments);return this.isValid()&&a.isValid()?this>a?this:a:n()}),Ud=ha("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(){var a=Ga.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:n()}),Vd=function(){return Date.now?Date.now():+new Date};Ma("Z",":"),Ma("ZZ",""),Q("Z",sd),Q("ZZ",sd),U(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Na(sd,a)});var Wd=/([\+\-]|\d\d)/gi;c.updateOffset=function(){};var Xd=/(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Yd=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;_a.fn=Ka.prototype;var Zd=db(1,"add"),$d=db(-1,"subtract");c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";var _d=ha("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});L(0,["gg",2],0,function(){return this.weekYear()%100}),L(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Kb("gggg","weekYear"),Kb("ggggg","weekYear"),Kb("GGGG","isoWeekYear"),Kb("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),Q("G",qd),Q("g",qd),Q("GG",jd,fd),Q("gg",jd,fd),Q("GGGG",nd,hd),Q("gggg",nd,hd),Q("GGGGG",od,id),Q("ggggg",od,id),V(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=t(a)}),V(["gg","GG"],function(a,b,d,e){b[e]=c.parseTwoDigitYear(a)}),L("Q",0,"Qo","quarter"),C("quarter","Q"),Q("Q",ed),U("Q",function(a,b){b[yd]=3*(t(a)-1)}),L("w",["ww",2],"wo","week"),L("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),Q("w",jd),Q("ww",jd,fd),Q("W",jd),Q("WW",jd,fd),V(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=t(a)});var ae={dow:0,doy:6};L("D",["DD",2],"Do","date"),C("date","D"),Q("D",jd),Q("DD",jd,fd),Q("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),U(["D","DD"],zd),U("Do",function(a,b){b[zd]=t(a.match(jd)[0],10)});var be=G("Date",!0);L("d",0,"do","day"),L("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),L("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),L("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),L("e",0,0,"weekday"),L("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),Q("d",jd),Q("e",jd),Q("E",jd),Q("dd",ud),Q("ddd",ud),Q("dddd",ud),V(["dd","ddd","dddd"],function(a,b,c,d){ -var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:l(c).invalidWeekday=a}),V(["d","e","E"],function(a,b,c,d){b[d]=t(a)});var ce="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),de="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),ee="Su_Mo_Tu_We_Th_Fr_Sa".split("_");L("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),Q("DDD",md),Q("DDDD",gd),U(["DDD","DDDD"],function(a,b,c){c._dayOfYear=t(a)}),L("H",["HH",2],0,"hour"),L("h",["hh",2],0,ec),L("hmm",0,0,function(){return""+ec.apply(this)+K(this.minutes(),2)}),L("hmmss",0,0,function(){return""+ec.apply(this)+K(this.minutes(),2)+K(this.seconds(),2)}),L("Hmm",0,0,function(){return""+this.hours()+K(this.minutes(),2)}),L("Hmmss",0,0,function(){return""+this.hours()+K(this.minutes(),2)+K(this.seconds(),2)}),fc("a",!0),fc("A",!1),C("hour","h"),Q("a",gc),Q("A",gc),Q("H",jd),Q("h",jd),Q("HH",jd,fd),Q("hh",jd,fd),Q("hmm",kd),Q("hmmss",ld),Q("Hmm",kd),Q("Hmmss",ld),U(["H","HH"],Ad),U(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),U(["h","hh"],function(a,b,c){b[Ad]=t(a),l(c).bigHour=!0}),U("hmm",function(a,b,c){var d=a.length-2;b[Ad]=t(a.substr(0,d)),b[Bd]=t(a.substr(d)),l(c).bigHour=!0}),U("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[Ad]=t(a.substr(0,d)),b[Bd]=t(a.substr(d,2)),b[Cd]=t(a.substr(e)),l(c).bigHour=!0}),U("Hmm",function(a,b,c){var d=a.length-2;b[Ad]=t(a.substr(0,d)),b[Bd]=t(a.substr(d))}),U("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[Ad]=t(a.substr(0,d)),b[Bd]=t(a.substr(d,2)),b[Cd]=t(a.substr(e))});var fe=/[ap]\.?m?\.?/i,ge=G("Hours",!0);L("m",["mm",2],0,"minute"),C("minute","m"),Q("m",jd),Q("mm",jd,fd),U(["m","mm"],Bd);var he=G("Minutes",!1);L("s",["ss",2],0,"second"),C("second","s"),Q("s",jd),Q("ss",jd,fd),U(["s","ss"],Cd);var ie=G("Seconds",!1);L("S",0,0,function(){return~~(this.millisecond()/100)}),L(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),L(0,["SSS",3],0,"millisecond"),L(0,["SSSS",4],0,function(){return 10*this.millisecond()}),L(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),L(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),L(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),L(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),L(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),Q("S",md,ed),Q("SS",md,fd),Q("SSS",md,gd);var je;for(je="SSSS";je.length<=9;je+="S")Q(je,pd);for(je="S";je.length<=9;je+="S")U(je,jc);var ke=G("Milliseconds",!1);L("z",0,0,"zoneAbbr"),L("zz",0,0,"zoneName");var le=q.prototype;le.add=Zd,le.calendar=fb,le.clone=gb,le.diff=nb,le.endOf=zb,le.format=rb,le.from=sb,le.fromNow=tb,le.to=ub,le.toNow=vb,le.get=J,le.invalidAt=Ib,le.isAfter=hb,le.isBefore=ib,le.isBetween=jb,le.isSame=kb,le.isSameOrAfter=lb,le.isSameOrBefore=mb,le.isValid=Gb,le.lang=_d,le.locale=wb,le.localeData=xb,le.max=Ud,le.min=Td,le.parsingFlags=Hb,le.set=J,le.startOf=yb,le.subtract=$d,le.toArray=Db,le.toObject=Eb,le.toDate=Cb,le.toISOString=qb,le.toJSON=Fb,le.toString=pb,le.unix=Bb,le.valueOf=Ab,le.creationData=Jb,le.year=Sd,le.isLeapYear=pa,le.weekYear=Lb,le.isoWeekYear=Mb,le.quarter=le.quarters=Rb,le.month=aa,le.daysInMonth=ba,le.week=le.weeks=Vb,le.isoWeek=le.isoWeeks=Wb,le.weeksInYear=Ob,le.isoWeeksInYear=Nb,le.date=be,le.day=le.days=ac,le.weekday=bc,le.isoWeekday=cc,le.dayOfYear=dc,le.hour=le.hours=ge,le.minute=le.minutes=he,le.second=le.seconds=ie,le.millisecond=le.milliseconds=ke,le.utcOffset=Qa,le.utc=Sa,le.local=Ta,le.parseZone=Ua,le.hasAlignedHourOffset=Va,le.isDST=Wa,le.isDSTShifted=Xa,le.isLocal=Ya,le.isUtcOffset=Za,le.isUtc=$a,le.isUTC=$a,le.zoneAbbr=kc,le.zoneName=lc,le.dates=ha("dates accessor is deprecated. Use date instead.",be),le.months=ha("months accessor is deprecated. Use month instead",aa),le.years=ha("years accessor is deprecated. Use year instead",Sd),le.zone=ha("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",Ra);var me=le,ne={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},oe={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},pe="Invalid date",qe="%d",re=/\d{1,2}/,se={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},te=v.prototype;te._calendar=ne,te.calendar=oc,te._longDateFormat=oe,te.longDateFormat=pc,te._invalidDate=pe,te.invalidDate=qc,te._ordinal=qe,te.ordinal=rc,te._ordinalParse=re,te.preparse=sc,te.postformat=sc,te._relativeTime=se,te.relativeTime=tc,te.pastFuture=uc,te.set=vc,te.months=Y,te._months=Hd,te.monthsShort=Z,te._monthsShort=Id,te.monthsParse=$,te._monthsRegex=Kd,te.monthsRegex=da,te._monthsShortRegex=Jd,te.monthsShortRegex=ca,te.week=Sb,te._week=ae,te.firstDayOfYear=Ub,te.firstDayOfWeek=Tb,te.weekdays=Yb,te._weekdays=ce,te.weekdaysMin=$b,te._weekdaysMin=ee,te.weekdaysShort=Zb,te._weekdaysShort=de,te.weekdaysParse=_b,te.isPM=hc,te._meridiemParse=fe,te.meridiem=ic,z("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===t(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),c.lang=ha("moment.lang is deprecated. Use moment.locale instead.",z),c.langData=ha("moment.langData is deprecated. Use moment.localeData instead.",B);var ue=Math.abs,ve=Nc("ms"),we=Nc("s"),xe=Nc("m"),ye=Nc("h"),ze=Nc("d"),Ae=Nc("w"),Be=Nc("M"),Ce=Nc("y"),De=Pc("milliseconds"),Ee=Pc("seconds"),Fe=Pc("minutes"),Ge=Pc("hours"),He=Pc("days"),Ie=Pc("months"),Je=Pc("years"),Ke=Math.round,Le={s:45,m:45,h:22,d:26,M:11},Me=Math.abs,Ne=Ka.prototype;Ne.abs=Dc,Ne.add=Fc,Ne.subtract=Gc,Ne.as=Lc,Ne.asMilliseconds=ve,Ne.asSeconds=we,Ne.asMinutes=xe,Ne.asHours=ye,Ne.asDays=ze,Ne.asWeeks=Ae,Ne.asMonths=Be,Ne.asYears=Ce,Ne.valueOf=Mc,Ne._bubble=Ic,Ne.get=Oc,Ne.milliseconds=De,Ne.seconds=Ee,Ne.minutes=Fe,Ne.hours=Ge,Ne.days=He,Ne.weeks=Qc,Ne.months=Ie,Ne.years=Je,Ne.humanize=Uc,Ne.toISOString=Vc,Ne.toString=Vc,Ne.toJSON=Vc,Ne.locale=wb,Ne.localeData=xb,Ne.toIsoString=ha("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vc),Ne.lang=_d,L("X",0,0,"unix"),L("x",0,0,"valueOf"),Q("x",qd),Q("X",td),U("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),U("x",function(a,b,c){c._d=new Date(t(a))}),c.version="2.11.1",d(Ga),c.fn=me,c.min=Ia,c.max=Ja,c.now=Vd,c.utc=j,c.unix=mc,c.months=yc,c.isDate=f,c.locale=z,c.invalid=n,c.duration=_a,c.isMoment=r,c.weekdays=Ac,c.parseZone=nc,c.localeData=B,c.isDuration=La,c.monthsShort=zc,c.weekdaysMin=Cc,c.defineLocale=A,c.weekdaysShort=Bc,c.normalizeUnits=D,c.relativeTimeThreshold=Tc,c.prototype=me;var Oe=c;return Oe})},{}],11:[function(a,b,c){!function(d,e){"function"==typeof define&&define.amd?define(["ractive"],e):"object"==typeof c?b.exports=e(a("ractive")):e(d.Ractive)}(this,function(a){function b(b,c,d){return b instanceof a?d&&d._ractiveWraps&&d._ractiveWraps[c]?!1:!0:!1}function c(a,b){if(!g[a])try{return g[a]=!0,b()}finally{delete g[a]}}function d(a,b,d,g){function h(){n(),o(),a.set(g(k())),b.on("change",j),f.fireWrapEvents&&(b.fire("wrap",a,d),a.fire("wrapchild",b,d))}function i(){delete a._ractiveWraps[d],b.off("change",j),f.fireWrapEvents&&(b.fire("unwrap",a,d),a.fire("unwrapchild",b,d))}function j(f){e(f,function(e,f){c(b._guid+f,function(){a.set(d+"."+f,e)})})}function k(){if(!b.computed)return b.get();var a={};return e(b.get(),function(b,c){a[c]=b}),e(b.computed,function(c,d){"undefined"==typeof a[d]&&(a[d]=b.get(d))}),a}function l(a,d){c(b._guid+a,function(){b.set(a,d)})}function m(a){return a&&a.constructor===Object?void b.set(a):!1}function n(){if(d&&d.length>f.maxKeyLength)throw new Error("Keypath too long (possible circular dependency)")}function o(){a._ractiveWraps||(a._ractiveWraps={}),a._ractiveWraps[d]=b}return h(),{get:k,set:l,reset:m,teardown:i}}function e(a,b){for(var c in a)a.hasOwnProperty(c)&&b(a[c],c)}var f=a.adaptors.Ractive={filter:b,wrap:d};f.fireWrapEvents=!0,f.maxKeyLength=2048;var g=f.locked={}})},{ractive:12}],12:[function(a,b,c){!function(a){"use strict";var c=a.Ractive,d=function(){var a={el:void 0,append:!1,template:{v:1,t:[]},"yield":null,preserveWhitespace:!1,sanitize:!1,stripComments:!0,data:{},computed:{},magic:!1,modifyArrays:!0,adapt:[],isolated:!1,twoway:!0,lazy:!1,noIntro:!1,transitionsEnabled:!0,complete:void 0,noCssTransform:!1,debug:!1};return a}(),e={linear:function(a){return a},easeIn:function(a){return Math.pow(a,3)},easeOut:function(a){return Math.pow(a-1,3)+1},easeInOut:function(a){return(a/=.5)<1?.5*Math.pow(a,3):.5*(Math.pow(a-2,3)+2)}},f=[],g=Object.prototype.hasOwnProperty,h=function(){var a=Object.prototype.toString;return function(b){return"[object Array]"===a.call(b)}}(),i=function(){var a=Object.prototype.toString;return function(b){return b&&"[object Object]"===a.call(b)}}(),j=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},k=function(a,b,c,d,e){var f,g,h;return a.push(function(){g=a.interpolate}),h=/^([+-]?[0-9]+\.?(?:[0-9]+)?)(px|em|ex|%|in|cm|mm|pt|pc)$/,f={number:function(a,b){var c;return e(a)&&e(b)?(a=+a,b=+b,c=b-a,c?function(b){return a+b*c}:function(){return a}):null},array:function(a,b){var d,e,f,h;if(!c(a)||!c(b))return null;for(d=[],e=[],h=f=Math.min(a.length,b.length);h--;)e[h]=g(a[h],b[h]);for(h=f;h{name}}}) cannot contain nested inline partials",evaluationError:'Error evaluating "{uniqueString}": {err}',badArguments:"Bad arguments \"{arguments}\". I'm not allowed to argue unless you've paid.",failedComputation:'Failed to compute "{key}": {err}',missingPlugin:'Missing "{name}" {plugin} plugin. You may need to download a {plugin} via http://docs.ractivejs.org/latest/plugins#{plugin}s',badRadioInputBinding:"A radio input can have two-way binding on its name attribute, or its checked attribute - not both",noRegistryFunctionReturn:'A function was specified for "{name}" {registry}, but no {registry} was returned',defaultElSpecified:"The <{name}/> component has a default `el` property; it has been disregarded",noElementProxyEventWildcards:'Only component proxy-events may contain "*" wildcards, <{element} on-{event}/> is not valid.',methodDeprecated:'The method "{deprecated}" has been deprecated in favor of "{replacement}" and will likely be removed in a future release. See http://docs.ractivejs.org/latest/migrating for more information.'},o=function(a,b){function c(a){var c=b[a.message]||a.message||"";return d(c,a.args)}function d(a,b){return a.replace(/{([^{}]*)}/g,function(a,c){return b[c]})}var e={warn:function(a,b){(a.debug||b)&&this.warnAlways(a)},warnAlways:function(a){this.logger(c(a),a.allowDuplicates)},error:function(a){this.errorOnly(a),a.debug||this.warn(a,!0)},errorOnly:function(a){a.debug&&this.critical(a)},critical:function(a){var b=a.err||new Error(c(a));this.thrower(b)},logger:a,thrower:function(a){throw a}};return e}(m,n),p=function(a){function b(a){this.event=a,this.method="on"+a,this.deprecate=c[a]}var c={construct:{deprecated:"beforeInit",replacement:"onconstruct"},render:{deprecated:"init",message:'The "init" method has been deprecated and will likely be removed in a future release. You can either use the "oninit" method which will fire only once prior to, and regardless of, any eventual ractive instance being rendered, or if you need to access the rendered DOM, use "onrender" instead. See http://docs.ractivejs.org/latest/migrating for more information.'},complete:{deprecated:"complete",replacement:"oncomplete"}};return b.prototype.fire=function(b,c){function d(a){return b[a]?(c?b[a](c):b[a](),!0):void 0}d(this.method),!b[this.method]&&this.deprecate&&d(this.deprecate.deprecated)&&a.warnAlways({debug:b.debug,message:this.deprecate.message||"methodDeprecated",args:this.deprecate}),c?b.fire(this.event,c):b.fire(this.event)},b}(o),q=function(a,b){var c=a.indexOf(b);-1!==c&&a.splice(c,1)},r=function(){function a(a){setTimeout(a,0)}function b(a,b){return function(){for(var c;c=a.shift();)c(b)}}function c(a,b,d,f){var g;if(b===a)throw new TypeError("A promise's fulfillment handler cannot return the same promise");if(b instanceof e)b.then(d,f);else if(!b||"object"!=typeof b&&"function"!=typeof b)d(b);else{try{g=b.then}catch(h){return void f(h)}if("function"==typeof g){var i,j,k;j=function(b){i||(i=!0,c(a,b,d,f))},k=function(a){i||(i=!0,f(a))};try{g.call(b,j,k)}catch(h){if(!i)return f(h),void(i=!0)}}else d(b)}}var d,e,f={},g={},h={};return"function"==typeof r?e=r:(e=function(d){var i,j,k,l,m,n,o=[],p=[],q=f;k=function(c){return function(d){q===f&&(i=d,q=c,j=b(q===g?o:p,i),a(j))}},l=k(g),m=k(h);try{d(l,m)}catch(r){m(r)}return n={then:function(b,d){var g=new e(function(e,h){var i=function(a,b,d){"function"==typeof a?b.push(function(b){var d;try{d=a(b),c(g,d,e,h)}catch(f){h(f)}}):b.push(d)};i(b,o,e),i(d,p,h),q!==f&&a(j)});return g}},n["catch"]=function(a){return this.then(null,a)},n},e.all=function(a){return new e(function(b,c){var d,e,f,g=[];if(!a.length)return void b(g);for(f=function(e){a[e].then(function(a){g[e]=a,--d||b(g)},c)},d=e=a.length;e--;)f(e)})},e.resolve=function(a){return new e(function(b){b(a)})},e.reject=function(a){return new e(function(b,c){c(a)})}),d=e}(),s=function(){var a=/\[\s*(\*|[0-9]|[1-9][0-9]+)\s*\]/g;return function(b){return(b||"").replace(a,".$1")}}(),t=function(a){do if(void 0!==a.context)return a.context;while(a=a.parent);return""},u=function(a,b){return null===a&&null===b?!0:"object"==typeof a||"object"==typeof b?!1:a===b},v=function(a,b){function c(a,b){var c=a.computations[b];return!c||c.setter}var d;a.push(function(){return d=a.runloop});var e=function(a,b,c,d){var e=this;this.root=a,this.keypath=b,this.otherInstance=c,this.otherKeypath=d,this.lock=function(){return e.updating=!0},this.unlock=function(){return e.updating=!1},this.bind(),this.value=this.root.viewmodel.get(this.keypath)};return e.prototype={isLocked:function(){return this.updating||this.counterpart&&this.counterpart.updating},shuffle:function(a,b){this.propagateChange(b,a)},setValue:function(a){this.propagateChange(a)},propagateChange:function(a,e){var f;return this.isLocked()?void(this.value=a):void(b(a,this.value)||(this.lock(),d.addViewmodel(f=this.otherInstance.viewmodel)||this.counterpart.value===a||d.scheduleTask(function(){return d.addViewmodel(f)}),e?f.smartUpdate(this.otherKeypath,a,e):c(f,this.otherKeypath)&&f.set(this.otherKeypath,a),this.value=a,d.scheduleTask(this.unlock)))},refineValue:function(a){var b,c=this;this.isLocked()||(this.lock(),d.addViewmodel(b=this.otherInstance.viewmodel),a.map(function(a){return c.otherKeypath+a.substr(c.keypath.length)}).forEach(function(a){return b.mark(a)}),d.scheduleTask(this.unlock))},bind:function(){this.root.viewmodel.register(this.keypath,this)},rebind:function(a){this.unbind(),this.keypath=a,this.counterpart.otherKeypath=a,this.bind()},unbind:function(){this.root.viewmodel.unregister(this.keypath,this)}},function(a,b,c,d){var f,g,h,i,j;f=c+"="+d,h=a.bindings,h[f]||(g=a.instance,i=new e(b,c,g,d),h.push(i),g.twoway&&(j=new e(g,d,b,c),h.push(j),i.counterpart=j,j.counterpart=i),h[f]=i)}}(f,u),w=function(a,b,c){function d(a,b){var c;if("."===b)return a;if(c=a?a.split("."):[],"../"===b.substr(0,3)){for(;"../"===b.substr(0,3);){if(!c.length)throw new Error(f);c.pop(),b=b.substring(3)}return c.push(b),c.join(".")}return a?a+b.replace(/^\.\//,"."):b.replace(/^\.\/?/,"")}var e,f,g;return f='Could not resolve reference - too many "../" prefixes',g={evaluateWrapped:!0},e=function h(e,f,i,j){var k,l,m,n,o,p,q,r,s,t;if(f=a(f),"~/"===f.substr(0,2))return f.substring(2);if("."===f.charAt(0))return d(b(i),f);l=f.split(".")[0],i=i||{};do if(k=i.context,k&&(p=!0,o=e.viewmodel.get(k,g),o&&("object"==typeof o||"function"==typeof o)&&l in o))return k+"."+f;while(i=i.parent);if(l in e.data||l in e.viewmodel.computations)return f;if(e._parent&&!e.isolated){if(p=!0,i=e.component.parentFragment,i.indexRefs&&void 0!==(m=i.indexRefs[f]))return e.component.indexRefBindings[f]=f,void e.viewmodel.set(f,m,!0);if(n=h(e._parent,f,i,!0)){for(q=n.split("."),r=f.split(".");q.length>1&&r.length>1&&q[q.length-1]===r[r.length-1];)q.pop(),r.pop();return s=q.join("."),t=r.join("."),e.viewmodel.set(t,e._parent.viewmodel.get(s),!0),c(e.component,e._parent,s,t),f}}return j||p?void 0!==e.viewmodel.get(f)?f:void 0:(e.viewmodel.set(f,void 0),f)}}(s,t,v),x=function(a){function b(a){a.detach()}function c(a){a.detachNodes()}function d(a){!a.ready||a.outros.length||a.outroChildren||(a.outrosComplete||(a.parent?a.parent.decrementOutros(a):a.detachNodes(),a.outrosComplete=!0),a.intros.length||a.totalChildren||("function"==typeof a.callback&&a.callback(),a.parent&&a.parent.decrementTotal()))}var e=function(a,b){this.callback=a,this.parent=b,this.intros=[],this.outros=[],this.children=[],this.totalChildren=this.outroChildren=0,this.detachQueue=[],this.outrosComplete=!1,b&&b.addChild(this)};return e.prototype={addChild:function(a){this.children.push(a),this.totalChildren+=1,this.outroChildren+=1},decrementOutros:function(){this.outroChildren-=1,d(this)},decrementTotal:function(){this.totalChildren-=1,d(this)},add:function(a){var b=a.isIntro?this.intros:this.outros;b.push(a)},remove:function(b){var c=b.isIntro?this.intros:this.outros;a(c,b),d(this)},init:function(){this.ready=!0,d(this)},detachNodes:function(){this.detachQueue.forEach(b),this.children.forEach(c)}},e}(q),y=function(a,b,c,d,e,f){function g(){var a,b,c;for(a=0;a\~:]))+)((?::[^\s\+\>\~]+)?\s*[\s\+\>\~]?)\s*/g,g=/^@media/,h=/\[data-rvcguid="[a-z0-9-]+"]/g;return c=function(c,i){var j,k;return k=function(a){var c,d,e,g,h,j,k,l,m=[];for(c=[];d=f.exec(a);)c.push({str:d[0],base:d[1],modifiers:d[2]});for(g='[data-rvcguid="'+i+'"]',h=c.map(b),l=c.length;l--;)k=h.slice(),e=c[l],k[l]=e.base+g+e.modifiers||"",j=h.slice(),j[l]=g+" "+j[l],m.push(k.join(" "),j.join(" "));return m.join(", ")},j=h.test(c)?c.replace(h,'[data-rvcguid="'+i+'"]'):c.replace(e,"").replace(d,function(b,c){var d,e;return g.test(c)?b:(d=c.split(",").map(a),e=d.map(k).join(", ")+" ",b.replace(c,e))})}}(),P=function(a){function b(a,b,d){var e,f=b.constructor._guid;(e=c(d.css,d,f)||c(a.css,a,f))&&(b.constructor.css=e)}function c(b,c,d){return b?c.noCssTransform?b:a(b,d):void 0}var d={name:"css",extend:b,init:function(){}};return d}(O),Q=function(){function a(a,b){return"function"==typeof b&&/_super/.test(a)}var b;return b=function(b,c,d){return d||a(b,c)?function(){var a,d="_super"in this,e=this._super;return this._super=c,a=b.apply(this,arguments),d&&(this._super=e),a}:b}}(),R=function(a){function b(a,b,c){var d=c.data||{},e=f(a.prototype.data);if("object"!=typeof d&&"function"!=typeof d)throw new TypeError('data option must be an object or a function, "'+d+'" is not valid');return g(e,d)}function c(a,c,d){c.data=b(a,c,d)}function d(a,c,d){var e=d.data,f=b(a,c,d);return"function"==typeof f&&(f=f.call(c,e)||e),c.data=f||{}}function e(a){var b=this.init(a.constructor,a,a);return b?(a.data=b,!0):void 0}function f(a){if("function"!=typeof a||!Object.keys(a).length)return a;var b={};return h(a,b),g(a,b)}function g(a,b){return"function"==typeof b?k(b,a):"function"==typeof a?j(b,a):i(b,a)}function h(a,b,c){for(var d in a)c&&d in b||(b[d]=a[d])}function i(a,b){return a=a||{},b?(h(b,a,!0),a):a}function j(a,b){return function(c){var d;if(a){d=[];for(var e in a)c&&e in c||d.push(e)}return c=b.call(this,c)||c,d&&d.length&&(c=c||{},d.forEach(function(b){c[b]=a[b]})),c}}function k(b,c){var d;return d="function"!=typeof c?function(a){i(a,c)}:function(b){return c=a(c,function(){},!0),c.call(this,b)||b},a(b,d)}var l,m={name:"data",extend:c,init:d,reset:e};return l=m}(Q),S={TEXT:1,INTERPOLATOR:2,TRIPLE:3,SECTION:4,INVERTED:5,CLOSING:6,ELEMENT:7,PARTIAL:8,COMMENT:9,DELIMCHANGE:10,MUSTACHE:11,TAG:12,ATTRIBUTE:13,CLOSING_TAG:14,COMPONENT:15,NUMBER_LITERAL:20,STRING_LITERAL:21,ARRAY_LITERAL:22,OBJECT_LITERAL:23,BOOLEAN_LITERAL:24,GLOBAL:26,KEY_VALUE_PAIR:27,REFERENCE:30,REFINEMENT:31,MEMBER:32,PREFIX_OPERATOR:33,BRACKETED:34,CONDITIONAL:35,INFIX_OPERATOR:36,INVOCATION:40,SECTION_IF:50,SECTION_UNLESS:51,SECTION_EACH:52,SECTION_WITH:53,SECTION_IF_WITH:54},T=function(){var a;try{Object.create(null),a=Object.create}catch(b){a=function(){var a=function(){};return function(b,c){var d;return null===b?{}:(a.prototype=b,d=new a,c&&Object.defineProperties(d,c),d)}}()}return a}(),U={expectedExpression:"Expected a JavaScript expression",expectedParen:"Expected closing paren"},V=function(a){var b=/^(?:[+-]?)(?:(?:(?:0|[1-9]\d*)?\.\d+)|(?:(?:0|[1-9]\d*)\.)|(?:0|[1-9]\d*))(?:[eE][+-]?\d+)?/;return function(c){var d;return(d=c.matchPattern(b))?{t:a.NUMBER_LITERAL,v:d}:null}}(S),W=function(a){return function(b){var c=b.remaining();return"true"===c.substr(0,4)?(b.pos+=4,{t:a.BOOLEAN_LITERAL,v:"true"}):"false"===c.substr(0,5)?(b.pos+=5,{t:a.BOOLEAN_LITERAL,v:"false"}):null}}(S),X=function(){var a,b,c;return a=/^(?=.)[^"'\\]+?(?:(?!.)|(?=["'\\]))/,b=/^\\(?:['"\\bfnrt]|0(?![0-9])|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|(?=.)[^ux0-9])/,c=/^\\(?:\r\n|[\u000A\u000D\u2028\u2029])/,function(d){return function(e){var f,g,h,i;for(f=e.pos,g='"',h=!1;!h;)i=e.matchPattern(a)||e.matchPattern(b)||e.matchString(d),i?g+='"'===i?'\\"':"\\'"===i?"'":i:(i=e.matchPattern(c),i?g+="\\u"+("000"+i.charCodeAt(1).toString(16)).slice(-4):h=!0);return g+='"',JSON.parse(g)}}}(),Y=function(a){return a('"')}(X),Z=function(a){return a("'")}(X),$=function(a,b,c){return function(d){var e,f;return e=d.pos,d.matchString('"')?(f=c(d),d.matchString('"')?{t:a.STRING_LITERAL,v:f}:(d.pos=e,null)):d.matchString("'")?(f=b(d),d.matchString("'")?{t:a.STRING_LITERAL,v:f}:(d.pos=e,null)):null}}(S,Y,Z),_={name:/^[a-zA-Z_$][a-zA-Z_$0-9]*/},aa=function(a,b,c){var d=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;return function(e){var f;return(f=a(e))?d.test(f.v)?f.v:'"'+f.v.replace(/"/g,'\\"')+'"':(f=b(e))?f.v:(f=e.matchPattern(c.name))?f:void 0}}($,V,_),ba=function(a,b){return function(c){var d,e,f;return d=c.pos,c.allowWhitespace(),e=b(c),null===e?(c.pos=d,null):(c.allowWhitespace(),c.matchString(":")?(c.allowWhitespace(),f=c.readExpression(),null===f?(c.pos=d,null):{t:a.KEY_VALUE_PAIR,k:e,v:f}):(c.pos=d,null))}}(S,aa),ca=function(a){return function b(c){var d,e,f,g;return d=c.pos,f=a(c),null===f?null:(e=[f],c.matchString(",")?(g=b(c),g?e.concat(g):(c.pos=d,null)):e)}}(ba),da=function(a,b){return function(c){var d,e;return d=c.pos,c.allowWhitespace(),c.matchString("{")?(e=b(c),c.allowWhitespace(),c.matchString("}")?{t:a.OBJECT_LITERAL,m:e}:(c.pos=d,null)):(c.pos=d,null)}}(S,ca),ea=function(a){return function b(c){function d(a){f.push(a)}var e,f,g,h;return e=c.pos,c.allowWhitespace(),g=c.readExpression(),null===g?null:(f=[g],c.allowWhitespace(),c.matchString(",")&&(h=b(c),null===h&&c.error(a.expectedExpression),h.forEach(d)),f)}}(U),fa=function(a,b){return function(c){var d,e;return d=c.pos,c.allowWhitespace(),c.matchString("[")?(e=b(c),c.matchString("]")?{t:a.ARRAY_LITERAL,m:e}:(c.pos=d,null)):(c.pos=d,null)}}(S,ea),ga=function(a,b,c,d,e){return function(f){var g=a(f)||b(f)||c(f)||d(f)||e(f);return g}}(V,W,$,da,fa),ha=function(a,b){var c,d,e,f,g;return c=/^\.[a-zA-Z_$0-9]+/,e=function(a){var b=a.matchPattern(d);return b?"."+b:null},d=/^\[(0|[1-9][0-9]*)\]/,f=/^(?:Array|console|Date|RegExp|decodeURIComponent|decodeURI|encodeURIComponent|encodeURI|isFinite|isNaN|parseFloat|parseInt|JSON|Math|NaN|undefined|null)$/,g=/^(?:break|case|catch|continue|debugger|default|delete|do|else|finally|for|function|if|in|instanceof|new|return|switch|throw|try|typeof|var|void|while|with)$/,function(d){var h,i,j,k,l,m,n;if(h=d.pos,d.matchString("~/"))i="~/";else for(i="";d.matchString("../");)i+="../";if(i||(k=d.matchString("./")||d.matchString(".")||""),j=d.matchPattern(/^@(?:keypath|index|key)/)||d.matchPattern(b.name)||"",g.test(j))return d.pos=h,null;if(!i&&!k&&f.test(j))return{t:a.GLOBAL,v:j};if(l=(i||k)+j,!l)return null;for(;m=d.matchPattern(c)||e(d);)l+=m;return d.matchString("(")&&(n=l.lastIndexOf("."),-1!==n?(l=l.substr(0,n),d.pos=h+l.length):d.pos-=1),{t:a.REFERENCE,n:l.replace(/^this\./,"./").replace(/^this$/,".")}}}(S,_),ia=function(a,b){return function(c){var d,e;return d=c.pos,c.matchString("(")?(c.allowWhitespace(),e=c.readExpression(),e||c.error(b.expectedExpression),c.allowWhitespace(),c.matchString(")")||c.error(b.expectedParen),{t:a.BRACKETED,x:e}):null}}(S,U),ja=function(a,b,c){ -return function(d){return a(d)||b(d)||c(d)}}(ga,ha,ia),ka=function(a,b,c){return function(d){var e,f,g;if(e=d.pos,d.allowWhitespace(),d.matchString(".")){if(d.allowWhitespace(),f=d.matchPattern(c.name))return{t:a.REFINEMENT,n:f};d.error("Expected a property name")}return d.matchString("[")?(d.allowWhitespace(),g=d.readExpression(),g||d.error(b.expectedExpression),d.allowWhitespace(),d.matchString("]")||d.error("Expected ']'"),{t:a.REFINEMENT,x:g}):null}}(S,U,_),la=function(a,b,c,d,e){return function(f){var g,h,i,j;if(h=b(f),!h)return null;for(;h;)if(g=f.pos,i=d(f))h={t:a.MEMBER,x:h,r:i};else{if(!f.matchString("("))break;f.allowWhitespace(),j=c(f),f.allowWhitespace(),f.matchString(")")||f.error(e.expectedParen),h={t:a.INVOCATION,x:h},j&&(h.o=j)}return h}}(S,ja,ea,ka,U),ma=function(a,b,c){var d,e;return e=function(c,d){return function(e){var f;return(f=d(e))?f:e.matchString(c)?(e.allowWhitespace(),f=e.readExpression(),f||e.error(b.expectedExpression),{s:c,o:f,t:a.PREFIX_OPERATOR}):null}},function(){var a,b,f,g,h;for(g="! ~ + - typeof".split(" "),h=c,a=0,b=g.length;b>a;a+=1)f=e(g[a],h),h=f;d=h}(),d}(S,U,la),na=function(a,b){var c,d;return d=function(b,c){return function(d){var e,f,g;if(f=c(d),!f)return null;for(;;){if(e=d.pos,d.allowWhitespace(),!d.matchString(b))return d.pos=e,f;if("in"===b&&/[a-zA-Z_$0-9]/.test(d.remaining().charAt(0)))return d.pos=e,f;if(d.allowWhitespace(),g=c(d),!g)return d.pos=e,f;f={t:a.INFIX_OPERATOR,s:b,o:[f,g]}}}},function(){var a,e,f,g,h;for(g="* / % + - << >> >>> < <= > >= in instanceof == != === !== & ^ | && ||".split(" "),h=b,a=0,e=g.length;e>a;a+=1)f=d(g[a],h),h=f;c=h}(),c}(S,ma),oa=function(a,b,c){return function(d){var e,f,g,h;return(f=b(d))?(e=d.pos,d.allowWhitespace(),d.matchString("?")?(d.allowWhitespace(),g=d.readExpression(),g||d.error(c.expectedExpression),d.allowWhitespace(),d.matchString(":")||d.error('Expected ":"'),d.allowWhitespace(),h=d.readExpression(),h||d.error(c.expectedExpression),{t:a.CONDITIONAL,o:[f,g,h]}):(d.pos=e,f)):null}}(S,na,U),pa=function(a,b){function c(a){return JSON.stringify(String(a))}function d(c,e){var f,g;if(c.t===a.REFERENCE&&-1===e.indexOf(c.n)&&e.unshift(c.n),g=c.o||c.m)if(b(g))d(g,e);else for(f=g.length;f--;)d(g[f],e);c.x&&d(c.x,e),c.r&&d(c.r,e),c.v&&d(c.v,e)}function e(b,d,f){var g=function(a){return e(b,a,f)};switch(d.t){case a.BOOLEAN_LITERAL:case a.GLOBAL:case a.NUMBER_LITERAL:return d.v;case a.STRING_LITERAL:return c(d.v);case a.ARRAY_LITERAL:return"["+(d.m?d.m.map(g).join(","):"")+"]";case a.OBJECT_LITERAL:return"{"+(d.m?d.m.map(g).join(","):"")+"}";case a.KEY_VALUE_PAIR:return d.k+":"+e(b,d.v,f);case a.PREFIX_OPERATOR:return("typeof"===d.s?"typeof ":d.s)+e(b,d.o,f);case a.INFIX_OPERATOR:return e(b,d.o[0],f)+("in"===d.s.substr(0,2)?" "+d.s+" ":d.s)+e(b,d.o[1],f);case a.INVOCATION:return e(b,d.x,f)+"("+(d.o?d.o.map(g).join(","):"")+")";case a.BRACKETED:return"("+e(b,d.x,f)+")";case a.MEMBER:return e(b,d.x,f)+e(b,d.r,f);case a.REFINEMENT:return d.n?"."+d.n:"["+e(b,d.x,f)+"]";case a.CONDITIONAL:return e(b,d.o[0],f)+"?"+e(b,d.o[1],f)+":"+e(b,d.o[2],f);case a.REFERENCE:return"_"+f.indexOf(d.n);default:b.error("Expected legal JavaScript")}}var f;return f=function(a){var b,c=[];return d(a,c),b={r:c,s:e(this,a,c)}}}(S,i),qa=function(a,b,c,d,e){var f,g,h=/^\s+/;return g=function(a){this.name="ParseError",this.message=a;try{throw new Error(a)}catch(b){this.stack=b.stack}},g.prototype=Error.prototype,f=function(a,b){var c,d,e=0;for(this.str=a,this.options=b||{},this.pos=0,this.lines=this.str.split("\n"),this.lineEnds=this.lines.map(function(a){var b=e+a.length+1;return e=b,b},0),this.init&&this.init(a,b),c=[];this.posc;c+=1)if(this.pos=b,e=a[c](this))return e;return null},readExpression:function(){return d(this)},flattenExpression:e,getLinePos:function(a){for(var b,c=0,d=0;a>=this.lineEnds[c];)d=this.lineEnds[c],c+=1;return b=a-d,[c+1,b+1,a]},error:function(a){var b,c,d,e,f,h;throw b=this.getLinePos(this.pos),c=b[0],d=b[1],e=this.lines[b[0]-1],f=e+"\n"+new Array(b[1]).join(" ")+"^----",h=new g(a+" at line "+c+" character "+d+":\n"+f),h.line=b[0],h.character=b[1],h.shortMessage=a,h},matchString:function(a){return this.str.substr(this.pos,a.length)===a?(this.pos+=a.length,a):void 0},matchPattern:function(a){var b;return(b=a.exec(this.remaining()))?(this.pos+=b[0].length,b[1]||b[0]):void 0},allowWhitespace:function(){this.matchPattern(h)},remaining:function(){return this.str.substring(this.pos)},nextChar:function(){return this.str.charAt(this.pos)}},f.extend=function(a){var d,e,g=this;d=function(a,b){f.call(this,a,b)},d.prototype=b(g.prototype);for(e in a)c.call(a,e)&&(d.prototype[e]=a[e]);return d.extend=f.extend,d},a.Parser=f,f}(f,T,g,oa,pa),ra=function(){var a=/^[^\s=]+/,b=/^\s+/;return function(c){var d,e,f;return c.matchString("=")?(d=c.pos,c.allowWhitespace(),(e=c.matchPattern(a))?c.matchPattern(b)?(f=c.matchPattern(a))?(c.allowWhitespace(),c.matchString("=")?[e,f]:(c.pos=d,null)):(c.pos=d,null):null:(c.pos=d,null)):null}}(),sa=[{delimiters:"delimiters",isTriple:!1,isStatic:!1},{delimiters:"tripleDelimiters",isTriple:!0,isStatic:!1},{delimiters:"staticDelimiters",isTriple:!1,isStatic:!0},{delimiters:"staticTripleDelimiters",isTriple:!0,isStatic:!0}],ta=function(a){var b={"#":a.SECTION,"^":a.INVERTED,"/":a.CLOSING,">":a.PARTIAL,"!":a.COMMENT,"&":a.TRIPLE};return function(a){var c=b[a.str.charAt(a.pos)];return c?(a.pos+=1,c):null}}(S),ua=function(a){return{each:a.SECTION_EACH,"if":a.SECTION_IF,"if-with":a.SECTION_IF_WITH,"with":a.SECTION_WITH,unless:a.SECTION_UNLESS}}(S),va=null,wa=function(a,b,c){function d(b,c,d){var f;if(c){for(;c.t===a.BRACKETED&&c.x;)c=c.x;return c.t===a.REFERENCE?d.r=c.n:c.t===a.NUMBER_LITERAL&&i.test(c.v)?d.r=c.v:(f=e(b,c))?d.rx=f:d.x=b.flattenExpression(c),d}}function e(b,c){for(var d,e=[];c.t===a.MEMBER&&c.r.t===a.REFINEMENT;)d=c.r,d.x?d.x.t===a.REFERENCE?e.unshift(d.x):e.unshift(b.flattenExpression(d.x)):e.unshift(d.n),c=c.x;return c.t!==a.REFERENCE?null:{r:c.n,m:e}}var f,g,h=/^\s*:\s*([a-zA-Z_$][a-zA-Z_$0-9]*)/,i=/^[0-9][1-9]*$/,j=new RegExp("^("+Object.keys(c).join("|")+")\\b");return g=/^[a-zA-Z$_0-9]+(?:(\.[a-zA-Z$_0-9]+)|(\[[a-zA-Z$_0-9]+\]))*$/,f=function(c,e){var f,i,k,l,m,n,o,p,q,r;if(f=c.pos,k={},r=c[e.delimiters],e.isStatic&&(k.s=!0),e.isTriple)k.t=a.TRIPLE;else{if("!"===c.remaining()[0]){try{n=c.readExpression(),c.allowWhitespace(),c.remaining().indexOf(r[1])?n=null:k.t=a.INTERPOLATOR}catch(s){}if(!n)return q=c.remaining().indexOf(r[1]),~q?c.pos+=q:c.error("Expected closing delimiter ('"+r[1]+"')"),{t:a.COMMENT}}if(!n)if(l=b(c),k.t=l||a.INTERPOLATOR,l===a.SECTION)(m=c.matchPattern(j))&&(k.n=m),c.allowWhitespace();else if((l===a.COMMENT||l===a.CLOSING)&&(p=c.remaining(),q=p.indexOf(r[1]),-1!==q))return k.r=p.substr(0,q).split(" ")[0],c.pos+=q,k}if(!n){c.allowWhitespace(),n=c.readExpression();var t;if(k.t===a.PARTIAL&&n&&(t=c.readExpression())&&(k={contextPartialExpression:n},n=t),p=c.remaining(),p.substr(0,r[1].length)!==r[1]&&":"!==p.charAt(0)){if(i=c.pos,c.pos=f,p=c.remaining(),q=p.indexOf(r[1]),-1!==q)return k.r=p.substr(0,q).trim(),g.test(k.r)||c.error("Expected a legal Mustache reference"),c.pos+=q,k;c.pos=i}}return d(c,n,k),k.contextPartialExpression&&(k.contextPartialExpression=[d(c,k.contextPartialExpression,{t:a.PARTIAL})]),(o=c.matchPattern(h))&&(k.i=o),k}}(S,ta,ua,va),xa=function(a,b,c,d,e){function f(a){var b;return a.interpolate[a.inside]===!1?null:(b=c.slice().sort(function(b,c){return a[c.delimiters][0].length-a[b.delimiters][0].length}),function d(c){return c?g(a,c)||d(b.shift()):null}(b.shift()))}function g(c,f){var g,i,k,l,m,n,o,p;if(g=c.pos,k=c[f.delimiters],!c.matchString(k[0]))return null;if(i=b(c))return c.matchString(k[1])?(c[f.delimiters]=i,j):null;if(c.allowWhitespace(),i=d(c,f),null===i)return c.pos=g,null;if(c.allowWhitespace(),c.matchString(k[1])||c.error("Expected closing delimiter '"+k[1]+"' after reference"),i.t===a.COMMENT&&(i.exclude=!0),i.t===a.CLOSING&&(c.sectionDepth-=1,c.sectionDepth<0&&(c.pos=g,c.error("Attempted to close a section that wasn't open"))),i.contextPartialExpression)i.f=i.contextPartialExpression,i.t=a.SECTION,i.n="with",delete i.contextPartialExpression;else if(h(i)){for(c.sectionDepth+=1,l=[],o=l,m=i.n;p=c.read();){if(p.t===a.CLOSING){m&&p.r!==m&&c.error("Expected {{/"+m+"}}");break}if(p.t===a.INTERPOLATOR&&"else"===p.r){if("unless"!==i.n){o=n=[];continue}c.error("{{else}} not allowed in {{#unless}}")}o.push(p)}l.length&&(i.f=l),n&&n.length&&(i.l=n,"with"===i.n&&(i.n="if-with"))}return c.includeLinePositions&&(i.p=c.getLinePos(g)),i.n?i.n=e[i.n]:i.t===a.INVERTED&&(i.t=a.SECTION,i.n=a.SECTION_UNLESS),i}function h(b){return b.t===a.SECTION||b.t===a.INVERTED}var i,j={t:a.DELIMCHANGE,exclude:!0};return i=f}(S,ra,sa,wa,ua),ya=function(a){var b="";return function(d){var e,f,g,h,i;return e=d.pos,d.matchString(b)?(g=d.remaining(),h=g.indexOf(c),-1===h&&d.error("Illegal HTML - expected closing comment sequence ('-->')"),f=g.substr(0,h),d.pos+=h+3,i={t:a.COMMENT,c:f},d.includeLinePositions&&(i.p=d.getLinePos(e)),i):null}}(S),za=function(){var a=/^(?:area|base|br|col|command|doctype|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;return a}(),Aa=function(a,b){var c,d,e;for(c=b.length;c--;){if(d=a.indexOf(b[c]),!d)return 0;-1!==d&&(!e||e>d)&&(e=d)}return e||-1},Ba=function(){function a(a){return a?10===a?32:128>a?a:159>=a?d[a-128]:55296>a?a:57343>=a?65533:65535>=a?a:65533:65533}var b,c,d,e;return c={quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,"int":8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},d=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376],e=new RegExp("&(#?(?:x[\\w\\d]+|\\d+|"+Object.keys(c).join("|")+"));?","g"),b=function(b){return b.replace(e,function(b,d){var e;return e="#"!==d[0]?c[d]:"x"===d[1]?parseInt(d.substring(2),16):parseInt(d.substring(1),10),e?String.fromCharCode(a(e)):b})}}(va),Ca=function(a,b){return function(c){var d,e,f,g;return e=c.remaining(),g=c.inside?"","`"):c.inAttribute?f.push(c.inAttribute):f.push(g),d=a(e,f)),d?(-1===d&&(d=e.length),c.pos+=d,c.inside?e.substr(0,d):b(e.substr(0,d))):null}}(Aa,Ba),Da=function(a){var b=/^([a-zA-Z]{1,}:?[a-zA-Z0-9\-]*)\s*\>/;return function(c){var d;return c.matchString("\/=]+/,l=/^[^\s"'=<>`]+/;return j=d}(Aa,xa,Ba),Fa=function(a,b,c){function d(a){var b,d,e;return a.allowWhitespace(),(b=c(a))?(e={key:b},a.allowWhitespace(),a.matchString(":")?(a.allowWhitespace(),(d=a.read())?(e.value=d.v,e):null):null):null}var e,f,g,h,i,j,k;return f={"true":!0,"false":!1,undefined:void 0,"null":null},g=new RegExp("^(?:"+Object.keys(f).join("|")+")"),h=/^(?:[+-]?)(?:(?:(?:0|[1-9]\d*)?\.\d+)|(?:(?:0|[1-9]\d*)\.)|(?:0|[1-9]\d*))(?:[eE][+-]?\d+)?/,i=/\$\{([^\}]+)\}/g,j=/^\$\{([^\}]+)\}/,k=/^\s*$/,e=a.extend({init:function(a,b){this.values=b.values,this.allowWhitespace()},postProcess:function(a){return 1===a.length&&k.test(this.leftover)?{value:a[0].v}:null},converters:[function(a){var b;return a.values?(b=a.matchPattern(j),b&&a.values.hasOwnProperty(b)?{v:a.values[b]}:void 0):null},function(a){var b;return(b=a.matchPattern(g))?{v:f[b]}:void 0},function(a){var b;return(b=a.matchPattern(h))?{v:+b}:void 0},function(a){var c,d=b(a);return d&&(c=a.values)?{v:d.v.replace(i,function(a,b){return b in c?c[b]:b})}:d},function(a){var b,c;if(!a.matchString("{"))return null;if(b={},a.allowWhitespace(),a.matchString("}"))return{v:b};for(;c=d(a);){if(b[c.key]=c.value,a.allowWhitespace(),a.matchString("}"))return{v:b};if(!a.matchString(","))return null}return null},function(a){var b,c;if(!a.matchString("["))return null;if(b=[],a.allowWhitespace(),a.matchString("]"))return{v:b};for(;c=a.read();){if(b.push(c.v),a.allowWhitespace(),a.matchString("]"))return{v:b};if(!a.matchString(","))return null;a.allowWhitespace()}return null}]}),function(a,b){var c=new e(a,{values:b});return c.result}}(qa,$,aa),Ga=function(a,b,c,d){var e,f=/^([a-zA-Z_$][a-zA-Z_$0-9]*)\(/;return e=a.extend({converters:[b]}),function(a){var b,g,h,i,j,k,l,m,n;if("string"==typeof a){if(g=f.exec(a))return b={m:g[1]},i="["+a.slice(b.m.length+1,-1)+"]",h=new e(i),b.a=c(h.result[0]),b;if(-1===a.indexOf(":"))return a.trim();a=[a]}if(b={},l=[],m=[],a){for(;a.length;)if(j=a.shift(),"string"==typeof j){if(k=j.indexOf(":"),-1!==k){k&&l.push(j.substr(0,k)),j.length>k+1&&(m[0]=j.substring(k+1));break}l.push(j)}else l.push(j);m=m.concat(a)}return l.length?m.length||"string"!=typeof l?(b={n:1===l.length&&"string"==typeof l[0]?l[0]:l},1===m.length&&"string"==typeof m[0]?(n=d("["+m[0]+"]"),b.a=n?n.value:m[0].trim()):b.d=m):b=l:b="",b}}(qa,oa,pa,Fa),Ha=function(a,b,c,d,e,f,g,h){function i(d){var e,f,i,k,m,u,v,w,x,y,z;if(e=d.pos,d.inside||d.inAttribute)return null;if(!d.matchString("<"))return null;if("/"===d.nextChar())return null;if(f={t:a.ELEMENT},d.includeLinePositions&&(f.p=d.getLinePos(e)),d.matchString("!")&&(f.y=1),f.e=d.matchPattern(n),!f.e)return null;for(o.test(d.nextChar())||d.error("Illegal tag name"),u=function(a,b){var c=b.n||b;r.test(c)&&(d.pos-=c.length,d.error("Cannot use reserved event names (change, reset, teardown, update, construct, config, init, render, unrender, detach, insert)")),f.v[a]=b},d.allowWhitespace();v=c(d)||g(d);)v.name?(k=s[v.name])?f[k]=h(v.value):(m=q.exec(v.name))?(f.v||(f.v={}),w=h(v.value),u(m[1],w)):d.sanitizeEventAttributes&&p.test(v.name)||(f.a||(f.a={}),f.a[v.name]=v.value||0):(f.m||(f.m=[]),f.m.push(v)),d.allowWhitespace();if(d.allowWhitespace(),d.matchString("/")&&(x=!0),!d.matchString(">"))return null;if(i=f.e.toLowerCase(),!x&&!b.test(f.e)){for(("script"===i||"style"===i)&&(d.inside=i),y=[];j(i,d.remaining())&&(z=d.read(l))&&z.t!==a.CLOSING&&z.t!==a.CLOSING_TAG;)y.push(z);y.length&&(f.f=y)}return d.inside=null,d.sanitizeElements&&-1!==d.sanitizeElements.indexOf(i)?t:f}function j(a,b){var c,d;return c=/^<([a-zA-Z][a-zA-Z0-9]*)/.exec(b),d=m[a],c&&d?!~d.indexOf(c[1].toLowerCase()):!0}var k,l,m,n=/^[a-zA-Z]{1,}:?[a-zA-Z0-9\-]*/,o=/^[\s\n\/>]/,p=/^on/,q=/^on-([a-zA-Z\\*\\.$_][a-zA-Z\\*\\.$_0-9\-]+)$/,r=/^(?:change|reset|teardown|update|construct|config|init|render|unrender|detach|insert)$/,s={"intro-outro":"t0",intro:"t1",outro:"t2",decorator:"o"},t={exclude:!0};return l=[c,d,i,e,f],m={li:["li"],dt:["dt","dd"],dd:["dt","dd"],p:"address article aside blockquote div dl fieldset footer form h1 h2 h3 h4 h5 h6 header hgroup hr main menu nav ol p pre section table ul".split(" "),rt:["rt","rp"],rp:["rt","rp"],optgroup:["optgroup"],option:["option","optgroup"],thead:["tbody","tfoot"],tbody:["tbody","tfoot"],tfoot:["tbody"],tr:["tr","tbody"],td:["td","th","tr"],th:["td","th","tr"]},k=i}(S,za,xa,ya,Ca,Da,Ea,Ga),Ia=function(){var a=/^[ \t\f\r\n]+/,b=/[ \t\f\r\n]+$/;return function(c,d,e){var f;d&&(f=c[0],"string"==typeof f&&(f=f.replace(a,""),f?c[0]=f:c.shift())),e&&(f=c[c.length-1],"string"==typeof f&&(f=f.replace(b,""),f?c[c.length-1]=f:c.pop()))}}(),Ja=function(a){function b(a){return"string"==typeof a}function c(b){return b.t===a.COMMENT||b.t===a.DELIMCHANGE}function d(b){return(b.t===a.SECTION||b.t===a.INVERTED)&&b.f}var e,f=/^\s*\r?\n/,g=/\r?\n\s*$/;return e=function(a){var e,h,i,j,k;for(e=1;e0&&this.error("A section was left open"),j(a,b.stripComments!==!1,b.preserveWhitespace,!b.preserveWhitespace,!b.preserveWhitespace,b.rewriteElse!==!1),a},converters:[c,d,e,f]}),n=function(a){var b=arguments[1];void 0===b&&(b={});var c,d,e,f,g,h,j,l;if(k(b),j=new RegExp(""),l=new RegExp(""),c={v:1},j.test(a)){for(d=a,a="";g=j.exec(d);){if(f=g[1],a+=d.substr(0,g.index),d=d.substring(g.index+g[0].length),h=l.exec(d),!h||h[1]!==f)throw new Error('Inline partials must have a closing delimiter, and cannot be nested. Expected closing for "'+f+'", but '+(h?'instead found "'+h[1]+'"':" no closing found"));(e||(e={}))[f]=new m(d.substr(0,h.index),b).result,d=d.substring(h.index+h[0].length)}a+=d,c.p=e}return c.t=new m(a,b).result,c},l=n}(S,qa,xa,ya,Ha,Ca,Ia,Ja,Ka),Ma=function(){return function(a,b){var c=a.map(b);return a.forEach(function(a,b){c[a]=c[b]}),c}}(va),Na=function(a){var b,c;return b=["preserveWhitespace","sanitize","stripComments","delimiters","tripleDelimiters","interpolate"],c=a(b,function(a){return a})}(Ma),Oa=function(a,b,c,d,e){function f(a){var b=d(l);return b.parse=function(b,c){return g(b,c||a)},b}function g(b,d){if(!c)throw new Error(a.missingParser);return c(b,d||this.options)}function h(a,c){var d;if(!b){if(c&&c.noThrow)return;throw new Error("Cannot retrieve template #"+a+" as Ractive is not running in a browser.")}if(i(a)&&(a=a.substring(1)),!(d=document.getElementById(a))){if(c&&c.noThrow)return;throw new Error("Could not find template element with id #"+a)}if("SCRIPT"!==d.tagName.toUpperCase()){if(c&&c.noThrow)return;throw new Error("Template element with id #"+a+", must be a ');a=""+a+"";try{this.Ea.eb.open(),this.Ea.eb.write(a),this.Ea.eb.close()}catch(f){Cb("frame writing exception"),f.stack&&Cb(f.stack),Cb(f)}}kh.prototype.close=function(){this.le=!1;if(this.Ea){this.Ea.eb.body.innerHTML="";var a=this;setTimeout(function(){null!==a.Ea&&(document.body.removeChild(a.Ea),a.Ea=null)},Math.floor(0))}var b=this.hb;b&&(this.hb=null,b())};function nh(a){if(a.le&&a.Xd&&a.Pe.count()<(0=a.ad[0].kf.length+30+c.length){var e=a.ad.shift(),c=c+"&seg"+d+"="+e.Mg+"&ts"+d+"="+e.Ug+"&d"+d+"="+e.kf;d++}else break;oh(a,b+c,a.te);return!0}return!1}function oh(a,b,c){function d(){a.Pe.remove(c);nh(a)}a.Pe.add(c,1);var e=setTimeout(d,Math.floor(25e3));mh(a,b,function(){clearTimeout(e);d()})}function mh(a,b,c){setTimeout(function(){try{if(a.Xd){var d=a.Ea.eb.createElement("script");d.type="text/javascript";d.async=!0;d.src=b;d.onload=d.onreadystatechange=function(){var a=d.readyState;a&&"loaded"!==a&&"complete"!==a||(d.onload=d.onreadystatechange=null,d.parentNode&&d.parentNode.removeChild(d),c())};d.onerror=function(){Cb("Long-poll script failed to load: "+b);a.Xd=!1;a.close()};a.Ea.eb.body.appendChild(d)}}catch(e){}},Math.floor(1))}var ph=null;"undefined"!==typeof MozWebSocket?ph=MozWebSocket:"undefined"!==typeof WebSocket&&(ph=WebSocket);function qh(a,b,c,d){this.re=a;this.f=Mc(this.re);this.frames=this.Kc=null;this.nb=this.ob=this.bf=0;this.Ua=Rb(b);a={v:"5"};"undefined"!==typeof location&&location.href&&-1!==location.href.indexOf("firebaseio.com")&&(a.r="f");c&&(a.s=c);d&&(a.ls=d);this.ef=Bc(b,Cc,a)}var rh;qh.prototype.open=function(a,b){this.hb=b;this.zg=a;this.f("Websocket connecting to "+this.ef);this.Hc=!1;xc.set("previous_websocket_failure",!0);try{this.ua=new ph(this.ef)}catch(c){this.f("Error instantiating WebSocket.");var d=c.message||c.data;d&&this.f(d);this.gb();return}var e=this;this.ua.onopen=function(){e.f("Websocket connected.");e.Hc=!0};this.ua.onclose=function(){e.f("Websocket connection was disconnected.");e.ua=null;e.gb()};this.ua.onmessage=function(a){if(null!==e.ua)if(a=a.data,e.nb+=a.length,Ob(e.Ua,"bytes_received",a.length),sh(e),null!==e.frames)th(e,a);else{a:{K(null===e.frames,"We already have a frame buffer");if(6>=a.length){var b=Number(a);if(!isNaN(b)){e.bf=b;e.frames=[];a=null;break a}}e.bf=1;e.frames=[]}null!==a&&th(e,a)}};this.ua.onerror=function(a){e.f("WebSocket error. Closing connection.");(a=a.message||a.data)&&e.f(a);e.gb()}};qh.prototype.start=function(){};qh.isAvailable=function(){var a=!1;if("undefined"!==typeof navigator&&navigator.userAgent){var b=navigator.userAgent.match(/Android ([0-9]{0,}\.[0-9]{0,})/);b&&1parseFloat(b[1])&&(a=!0)}return!a&&null!==ph&&!rh};qh.responsesRequiredToBeHealthy=2;qh.healthyTimeout=3e4;g=qh.prototype;g.Ed=function(){xc.remove("previous_websocket_failure")};function th(a,b){a.frames.push(b);if(a.frames.length==a.bf){var c=a.frames.join("");a.frames=null;c=nb(c);a.zg(c)}}g.send=function(a){sh(this);a=B(a);this.ob+=a.length;Ob(this.Ua,"bytes_sent",a.length);a=Vc(a,16384);1=a.Mf?(a.f("Secondary connection is healthy."),a.Ab=!0,a.D.Ed(),a.D.start(),a.f("sending client ack on secondary"),a.D.send({t:"c",d:{t:"a",d:{}}}),a.f("Ending transmission on primary"),a.J.send({t:"c",d:{t:"n",d:{}}}),a.hd=a.D,Eh(a)):(a.f("sending ping on secondary."),a.D.send({t:"c",d:{t:"p",d:{}}}))}yh.prototype.Id=function(a){Gh(this);this.jc(a)};function Gh(a){a.Ab||(a.Re--,0>=a.Re&&(a.f("Primary connection is healthy."),a.Ab=!0,a.J.Ed()))}function Dh(a,b){a.D=new b("c:"+a.id+":"+a.ff++,a.F,a.Nf);a.Mf=b.responsesRequiredToBeHealthy||0;a.D.open(Ah(a,a.D),Bh(a,a.D));setTimeout(function(){a.D&&(a.f("Timed out trying to upgrade."),a.D.close())},Math.floor(6e4))}function Ch(a,b,c){a.f("Realtime connection established.");a.J=b;a.Ta=1;a.Wc&&(a.Wc(c,a.Nf),a.Wc=null);0===a.Re?(a.f("Primary connection is healthy."),a.Ab=!0):setTimeout(function(){Hh(a)},Math.floor(5e3))}function Hh(a){a.Ab||1!==a.Ta||(a.f("sending ping on primary."),Jh(a,{t:"c",d:{t:"p",d:{}}}))}function Jh(a,b){if(1!==a.Ta)throw"Connection is not connected";a.hd.send(b)}yh.prototype.close=function(){2!==this.Ta&&(this.f("Closing realtime connection."),this.Ta=2,Fh(this),this.la&&(this.la(),this.la=null))};function Fh(a){a.f("Shutting down all connections");a.J&&(a.J.close(),a.J=null);a.D&&(a.D.close(),a.D=null);a.yd&&(clearTimeout(a.yd),a.yd=null)}function Kh(a,b,c,d){this.id=Lh++;this.f=Mc("p:"+this.id+":");this.xf=this.Ee=!1;this.$={};this.qa=[];this.Yc=0;this.Vc=[];this.oa=!1;this.Za=1e3;this.Fd=3e5;this.Gb=b;this.Uc=c;this.Oe=d;this.F=a;this.sb=this.Aa=this.Ia=this.Bb=this.We=null;this.Ob=!1;this.Td={};this.Lg=0;this.nf=!0;this.Lc=this.Ge=null;Mh(this,0);He.ub().Eb("visible",this.Cg,this);-1===a.host.indexOf("fblocal")&&Ge.ub().Eb("online",this.Ag,this)}var Lh=0,Nh=0;g=Kh.prototype;g.Fa=function(a,b,c){var d=++this.Lg;a={r:d,a:a,b:b};this.f(B(a));K(this.oa,"sendRequest call when we're not connected not allowed.");this.Ia.Fa(a);c&&(this.Td[d]=c)};g.yf=function(a,b,c,d){var e=a.va(),f=a.path.toString();this.f("Listen called for "+f+" "+e);this.$[f]=this.$[f]||{};K(fe(a.n)||!S(a.n),"listen() called for non-default but complete query");K(!this.$[f][e],"listen() called twice for same path/queryId.");a={H:d,xd:b,Ig:a,tag:c};this.$[f][e]=a;this.oa&&Oh(this,a)};function Oh(a,b){var c=b.Ig,d=c.path.toString(),e=c.va();a.f("Listen on "+d+" for "+e);var f={p:d};b.tag&&(f.q=ee(c.n),f.t=b.tag);f.h=b.xd();a.Fa("q",f,function(f){var k=f.d,l=f.s;if(k&&"object"===typeof k&&v(k,"w")){var m=w(k,"w");ea(m)&&0<=Na(m,"no_index")&&O("Using an unspecified index. Consider adding "+('".indexOn": "'+c.n.g.toString()+'"')+" at "+c.path.toString()+" to your security rules for better performance")}(a.$[d]&&a.$[d][e])===b&&(a.f("listen response",f),"ok"!==l&&Ph(a,d,e),b.H&&b.H(l,k))})}g.M=function(a,b,c){this.Aa={ig:a,of:!1,zc:b,md:c};this.f("Authenticating using credential: "+a);Qh(this);(b=40==a.length)||(a=$c(a).Bc,b="object"===typeof a&&!0===w(a,"admin"));b&&(this.f("Admin auth credential detected. Reducing max reconnect time."),this.Fd=3e4)};g.ge=function(a){delete this.Aa;this.oa&&this.Fa("unauth",{},function(b){a(b.s,b.d)})};function Qh(a){var b=a.Aa;a.oa&&b&&a.Fa("auth",{cred:b.ig},function(c){var d=c.s;c=c.d||"error";"ok"!==d&&a.Aa===b&&delete a.Aa;b.of?"ok"!==d&&b.md&&b.md(d,c):(b.of=!0,b.zc&&b.zc(d,c))})}g.Rf=function(a,b){var c=a.path.toString(),d=a.va();this.f("Unlisten called for "+c+" "+d);K(fe(a.n)||!S(a.n),"unlisten() called for non-default but complete query");if(Ph(this,c,d)&&this.oa){var e=ee(a.n);this.f("Unlisten on "+c+" for "+d);c={p:c};b&&(c.q=e,c.t=b);this.Fa("n",c)}};g.Me=function(a,b,c){this.oa?Rh(this,"o",a,b,c):this.Vc.push({$c:a,action:"o",data:b,H:c})};g.Cf=function(a,b,c){this.oa?Rh(this,"om",a,b,c):this.Vc.push({$c:a,action:"om",data:b,H:c})};g.Jd=function(a,b){this.oa?Rh(this,"oc",a,null,b):this.Vc.push({$c:a,action:"oc",data:null,H:b})};function Rh(a,b,c,d,e){c={p:c,d:d};a.f("onDisconnect "+b,c);a.Fa(b,c,function(a){e&&setTimeout(function(){e(a.s,a.d)},Math.floor(0))})}g.put=function(a,b,c,d){Sh(this,"p",a,b,c,d)};g.zf=function(a,b,c,d){Sh(this,"m",a,b,c,d)};function Sh(a,b,c,d,e,f){d={p:c,d:d};n(f)&&(d.h=f);a.qa.push({action:b,Jf:d,H:e});a.Yc++;b=a.qa.length-1;a.oa?Th(a,b):a.f("Buffering put: "+c)}function Th(a,b){var c=a.qa[b].action,d=a.qa[b].Jf,e=a.qa[b].H;a.qa[b].Jg=a.oa;a.Fa(c,d,function(d){a.f(c+" response",d);delete a.qa[b];a.Yc--;0===a.Yc&&(a.qa=[]);e&&e(d.s,d.d)})}g.Ue=function(a){this.oa&&(a={c:a},this.f("reportStats",a),this.Fa("s",a,function(a){"ok"!==a.s&&this.f("reportStats","Error sending stats: "+a.d)}))};g.Id=function(a){if("r"in a){this.f("from server: "+B(a));var b=a.r,c=this.Td[b];c&&(delete this.Td[b],c(a.b))}else{if("error"in a)throw"A server-side error has occurred: "+a.error;"a"in a&&(b=a.a,c=a.b,this.f("handleServerMessage",b,c),"d"===b?this.Gb(c.p,c.d,!1,c.t):"m"===b?this.Gb(c.p,c.d,!0,c.t):"c"===b?Uh(this,c.p,c.q):"ac"===b?(a=c.s,b=c.d,c=this.Aa,delete this.Aa,c&&c.md&&c.md(a,b)):"sd"===b?this.We?this.We(c):"msg"in c&&"undefined"!==typeof console&&console.log("FIREBASE: "+c.msg.replace("\n","\nFIREBASE: ")):Nc("Unrecognized action received from server: "+B(b)+"\nAre you using the latest client?"))}};g.Wc=function(a,b){this.f("connection ready");this.oa=!0;this.Lc=(new Date).getTime();this.Oe({serverTimeOffset:a-(new Date).getTime()});this.Bb=b;if(this.nf){var c={};c["sdk.js."+hb.replace(/\./g,"-")]=1;yg()&&(c["framework.cordova"]=1);this.Ue(c)}Vh(this);this.nf=!1;this.Uc(!0)};function Mh(a,b){K(!a.Ia,"Scheduling a connect when we're already connected/ing?");a.sb&&clearTimeout(a.sb);a.sb=setTimeout(function(){a.sb=null;Wh(a)},Math.floor(b))}g.Cg=function(a){a&&!this.Ob&&this.Za===this.Fd&&(this.f("Window became visible. Reducing delay."),this.Za=1e3,this.Ia||Mh(this,0));this.Ob=a};g.Ag=function(a){a?(this.f("Browser went online."),this.Za=1e3,this.Ia||Mh(this,0)):(this.f("Browser went offline. Killing connection."),this.Ia&&this.Ia.close())};g.Df=function(){this.f("data client disconnected");this.oa=!1;this.Ia=null;for(var a=0;a=a)throw Error("Query.limit: First argument must be a positive integer.");if(this.n.ja)throw Error("Query.limit: Limit was already set (by another call to limit, limitToFirst, orlimitToLast.");var b=this.n.He(a);ti(b);return new Y(this.k,this.path,b,this.lc)};g.Ie=function(a){x("Query.limitToFirst",1,1,arguments.length);if(!ga(a)||Math.floor(a)!==a||0>=a)throw Error("Query.limitToFirst: First argument must be a positive integer.");if(this.n.ja)throw Error("Query.limitToFirst: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new Y(this.k,this.path,this.n.Ie(a),this.lc)};g.Je=function(a){x("Query.limitToLast",1,1,arguments.length);if(!ga(a)||Math.floor(a)!==a||0>=a)throw Error("Query.limitToLast: First argument must be a positive integer.");if(this.n.ja)throw Error("Query.limitToLast: Limit was already set (by another call to limit, limitToFirst, or limitToLast).");return new Y(this.k,this.path,this.n.Je(a),this.lc)};g.Eg=function(a){x("Query.orderByChild",1,1,arguments.length);if("$key"===a)throw Error('Query.orderByChild: "$key" is invalid. Use Query.orderByKey() instead.');if("$priority"===a)throw Error('Query.orderByChild: "$priority" is invalid. Use Query.orderByPriority() instead.');if("$value"===a)throw Error('Query.orderByChild: "$value" is invalid. Use Query.orderByValue() instead.');ig("Query.orderByChild",a);ui(this,"Query.orderByChild");var b=new L(a);if(b.e())throw Error("Query.orderByChild: cannot pass in empty path. Use Query.orderByValue() instead.");b=new Ud(b);b=de(this.n,b);si(b);return new Y(this.k,this.path,b,!0)};g.Fg=function(){x("Query.orderByKey",0,0,arguments.length);ui(this,"Query.orderByKey");var a=de(this.n,Qd);si(a);return new Y(this.k,this.path,a,!0)};g.Gg=function(){x("Query.orderByPriority",0,0,arguments.length);ui(this,"Query.orderByPriority");var a=de(this.n,N);si(a);return new Y(this.k,this.path,a,!0)};g.Hg=function(){x("Query.orderByValue",0,0,arguments.length);ui(this,"Query.orderByValue");var a=de(this.n,$d);si(a);return new Y(this.k,this.path,a,!0)};g.$d=function(a,b){x("Query.startAt",0,2,arguments.length);bg("Query.startAt",a,this.path,!0);hg("Query.startAt",b);var c=this.n.$d(a,b);ti(c);si(c);if(this.n.ma)throw Error("Query.startAt: Starting point was already set (by another call to startAt or equalTo).");n(a)||(b=a=null);return new Y(this.k,this.path,c,this.lc)};g.td=function(a,b){x("Query.endAt",0,2,arguments.length);bg("Query.endAt",a,this.path,!0);hg("Query.endAt",b);var c=this.n.td(a,b);ti(c);si(c);if(this.n.pa)throw Error("Query.endAt: Ending point was already set (by another call to endAt or equalTo).");return new Y(this.k,this.path,c,this.lc)};g.kg=function(a,b){x("Query.equalTo",1,2,arguments.length);bg("Query.equalTo",a,this.path,!1);hg("Query.equalTo",b);if(this.n.ma)throw Error("Query.equalTo: Starting point was already set (by another call to endAt or equalTo).");if(this.n.pa)throw Error("Query.equalTo: Ending point was already set (by another call to endAt or equalTo).");return this.$d(a,b).td(a,b)};g.toString=function(){x("Query.toString",0,0,arguments.length);for(var a=this.path,b="",c=a.Z;c.firebaseio.com instead");c&&"undefined"!=c||Oc("Cannot parse Firebase url. Please use https://.firebaseio.com");d.kb||"undefined"!==typeof window&&window.location&&window.location.protocol&&-1!==window.location.protocol.indexOf("https:")&&O("Insecure Firebase access from a secure page. Please use https in calls to new Firebase().");c=new zc(d.host,d.kb,c,"ws"===d.scheme||"wss"===d.scheme);d=new L(d.$c);e=d.toString();var f;!(f=!p(c.host)||0===c.host.length||!$f(c.hc))&&(f=0!==e.length)&&(e&&(e=e.replace(/^\/*\.info(\/|$)/,"/")),f=!(p(e)&&0!==e.length&&!Yf.test(e)));if(f)throw Error(y("new Firebase",1,!1)+'must be a valid firebase URL and the path can\'t contain ".", "#", "$", "[", or "]".');if(b)if(b instanceof W)e=b;else if(p(b))e=W.ub(),c.Od=b;else throw Error("Expected a valid Firebase.Context for second argument to new Firebase()");else e=W.ub();f=c.toString();var h=w(e.oc,f);h||(h=new Yh(c,e.Sf),e.oc[f]=h);c=h}Y.call(this,c,d,be,!1)}ma(U,Y);var wi=U,xi=["Firebase"],yi=aa;xi[0]in yi||!yi.execScript||yi.execScript("var "+xi[0]);for(var zi;xi.length&&(zi=xi.shift());)!xi.length&&n(wi)?yi[zi]=wi:yi=yi[zi]?yi[zi]:yi[zi]={};U.goOffline=function(){x("Firebase.goOffline",0,0,arguments.length);W.ub().yb()};U.goOnline=function(){x("Firebase.goOnline",0,0,arguments.length);W.ub().rc()};function Lc(a,b){K(!b||!0===a||!1===a,"Can't turn on custom loggers persistently.");!0===a?("undefined"!==typeof console&&("function"===typeof console.log?Bb=q(console.log,console):"object"===typeof console.log&&(Bb=function(a){console.log(a)})),b&&yc.set("logging_enabled",!0)):a?Bb=a:(Bb=null,yc.remove("logging_enabled"))}U.enableLogging=Lc;U.ServerValue={TIMESTAMP:{".sv":"timestamp"}};U.SDK_VERSION=hb;U.INTERNAL=V;U.Context=W;U.TEST_ACCESS=Z;U.prototype.name=function(){O("Firebase.name() being deprecated. Please use Firebase.key() instead.");x("Firebase.name",0,0,arguments.length);return this.key()};U.prototype.name=U.prototype.name;U.prototype.key=function(){x("Firebase.key",0,0,arguments.length);return this.path.e()?null:Ld(this.path)};U.prototype.key=U.prototype.key;U.prototype.u=function(a){x("Firebase.child",1,1,arguments.length);if(ga(a))a=String(a);else if(!(a instanceof L))if(null===E(this.path)){var b=a;b&&(b=b.replace(/^\/*\.info(\/|$)/,"/"));ig("Firebase.child",b)}else ig("Firebase.child",a);return new U(this.k,this.path.u(a))};U.prototype.child=U.prototype.u;U.prototype.parent=function(){x("Firebase.parent",0,0,arguments.length);var a=this.path.parent();return null===a?null:new U(this.k,a)};U.prototype.parent=U.prototype.parent;U.prototype.root=function(){x("Firebase.ref",0,0,arguments.length);for(var a=this;null!==a.parent();)a=a.parent();return a};U.prototype.root=U.prototype.root;U.prototype.set=function(a,b){x("Firebase.set",1,2,arguments.length);jg("Firebase.set",this.path);bg("Firebase.set",a,this.path,!1);A("Firebase.set",2,b,!0);this.k.Kb(this.path,a,null,b||null)};U.prototype.set=U.prototype.set;U.prototype.update=function(a,b){x("Firebase.update",1,2,arguments.length);jg("Firebase.update",this.path);if(ea(a)){for(var c={},d=0;d"'`]/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source);var reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g;var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reRegExpChars=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reComboMark=/[\u0300-\u036f\ufe20-\ufe23]/g;var reEscapeChar=/\\(\\)?/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reHasHexPrefix=/^0[xX]/;var reIsHostCtor=/^\[object .+?Constructor\]$/;var reIsUint=/^\d+$/;var reLatin1=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;var reNoMatch=/($^)/;var reUnescapedString=/['\n\r\u2028\u2029\\]/g;var reWords=function(){var upper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",lower="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(upper+"+(?="+upper+lower+")|"+upper+"?"+lower+"|"+upper+"+|[0-9]+","g")}();var contextProps=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"];var templateCounter=-1;var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"};var htmlEscapes={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var htmlUnescapes={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"};var objectTypes={"function":true,object:true};var regexpEscapes={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var freeGlobal=freeExports&&freeModule&&typeof global=="object"&&global&&global.Object&&global;var freeSelf=objectTypes[typeof self]&&self&&self.Object&&self;var freeWindow=objectTypes[typeof window]&&window&&window.Object&&window;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this;function baseCompareAscending(value,other){if(value!==other){var valIsNull=value===null,valIsUndef=value===undefined,valIsReflexive=value===value;var othIsNull=other===null,othIsUndef=other===undefined,othIsReflexive=other===other;if(value>other&&!othIsNull||!valIsReflexive||valIsNull&&!othIsUndef&&othIsReflexive||valIsUndef&&othIsReflexive){return 1}if(value-1){}return index}function charsRightIndex(string,chars){var index=string.length;while(index--&&chars.indexOf(string.charAt(index))>-1){}return index}function compareAscending(object,other){return baseCompareAscending(object.criteria,other.criteria)||object.index-other.index}function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index=ordersLength){return result}var order=orders[index];return result*(order==="asc"||order===true?1:-1)}}return object.index-other.index}function deburrLetter(letter){return deburredLetters[letter]}function escapeHtmlChar(chr){return htmlEscapes[chr]}function escapeRegExpChar(chr,leadingChar,whitespaceChar){if(leadingChar){chr=regexpEscapes[chr]}else if(whitespaceChar){chr=stringEscapes[chr]}return"\\"+chr}function escapeStringChar(chr){return"\\"+stringEscapes[chr]}function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index=9&&charCode<=13)||charCode==32||charCode==160||charCode==5760||charCode==6158||charCode>=8192&&(charCode<=8202||charCode==8232||charCode==8233||charCode==8239||charCode==8287||charCode==12288||charCode==65279)}function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index>>1;var MAX_SAFE_INTEGER=9007199254740991;var metaMap=WeakMap&&new WeakMap;var realNames={};function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__chain__")&&hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}function baseLodash(){}function LodashWrapper(value,chainAll,actions){this.__wrapped__=value;this.__actions__=actions||[];this.__chain__=!!chainAll}var support=lodash.support={};lodash.templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=POSITIVE_INFINITY;this.__views__=[]}function lazyClone(){var result=new LazyWrapper(this.__wrapped__);result.__actions__=arrayCopy(this.__actions__);result.__dir__=this.__dir__;result.__filtered__=this.__filtered__;result.__iteratees__=arrayCopy(this.__iteratees__);result.__takeCount__=this.__takeCount__;result.__views__=arrayCopy(this.__views__);return result}function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1;result.__filtered__=true}else{result=this.clone();result.__dir__*=-1}return result}function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||arrLength=LARGE_ARRAY_SIZE?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++indexlength?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end>>>0;start>>>=0;while(startlength?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index=LARGE_ARRAY_SIZE,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index>>1,computed=array[mid];if((retHighest?computed<=value:computed2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}function createFindIndex(fromRight){return function(array,predicate,thisArg){if(!(array&&array.length)){return-1}predicate=getCallback(predicate,thisArg,3);return baseFindIndex(array,predicate,fromRight)}}function createFindKey(objectFunc){return function(object,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);return baseFind(object,predicate,objectFunc,true)}}function createFlow(fromRight){return function(){var wrapper,length=arguments.length,index=fromRight?length:-1,leftIndex=0,funcs=Array(length);while(fromRight?index--:++index=LARGE_ARRAY_SIZE){return wrapper.plant(value).value()}var index=0,result=length?funcs[index].apply(this,args):value;while(++index=length||!nativeIsFinite(length)){return""}var padLength=length-strLength;chars=chars==null?" ":chars+"";return repeat(chars,nativeCeil(padLength/chars.length)).slice(0,padLength)}function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength);while(++leftIndexarrLength)){return false}while(++index-1&&value%1==0&&value-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isStrictComparable(value){return value===value&&!isObject(value)}function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask0){if(++count>=HOT_COUNT){return key}}else{count=0}return baseSetData(key,value)}}();function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index=120?createCache(othIndex&&value):null}var array=arrays[0],index=-1,length=array?array.length:0,seen=caches[0];outer:while(++index-1){splice.call(array,fromIndex,1)}}return array}var pullAt=restParam(function(array,indexes){indexes=baseFlatten(indexes);var result=baseAt(array,indexes);basePullAt(array,indexes.sort(baseCompareAscending));return result});function remove(array,predicate,thisArg){var result=[];if(!(array&&array.length)){return result}var index=-1,indexes=[],length=array.length;predicate=getCallback(predicate,thisArg,3);while(++index2?arrays[length-2]:undefined,thisArg=length>1?arrays[length-1]:undefined;if(length>2&&typeof iteratee=="function"){length-=2}else{iteratee=length>1&&typeof thisArg=="function"?(--length,thisArg):undefined;thisArg=undefined}arrays.length=length;return unzipWith(arrays,iteratee,thisArg)});function chain(value){var result=lodash(value);result.__chain__=true;return result}function tap(value,interceptor,thisArg){interceptor.call(thisArg,value);return value}function thru(value,interceptor,thisArg){return interceptor.call(thisArg,value)}function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}var wrapperConcat=restParam(function(values){values=baseFlatten(values);return this.thru(function(array){return arrayConcat(isArray(array)?array:[toObject(array)],values)})});function wrapperPlant(value){var result,parent=this;while(parent instanceof baseLodash){var clone=wrapperClone(parent);if(result){previous.__wrapped__=clone}else{result=clone}var previous=clone;parent=parent.__wrapped__}previous.__wrapped__=value;return result}function wrapperReverse(){var value=this.__wrapped__;var interceptor=function(value){return wrapped&&wrapped.__dir__<0?value:value.reverse()};if(value instanceof LazyWrapper){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({func:thru,args:[interceptor],thisArg:undefined});return new LodashWrapper(wrapped,this.__chain__)}return this.thru(interceptor)}function wrapperToString(){return this.value()+""}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}var at=restParam(function(collection,props){return baseAt(collection,baseFlatten(props))});var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:result[key]=1});function every(collection,predicate,thisArg){var func=isArray(collection)?arrayEvery:baseEvery;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}function filter(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,predicate)}var find=createFind(baseEach);var findLast=createFind(baseEachRight,true);function findWhere(collection,source){return find(collection,baseMatches(source))}var forEach=createForEach(arrayEach,baseEach);var forEachRight=createForEach(arrayEachRight,baseEachRight);var groupBy=createAggregator(function(result,value,key){if(hasOwnProperty.call(result,key)){result[key].push(value)}else{result[key]=[value]}});function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<=length&&collection.indexOf(target,fromIndex)>-1:!!length&&getIndexOf(collection,target,fromIndex)>-1}var indexBy=createAggregator(function(result,value,key){result[key]=value});var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:undefined;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;iteratee=getCallback(iteratee,thisArg,3);return func(collection,iteratee)}var partition=createAggregator(function(result,value,key){result[key?0:1].push(value)},function(){return[[],[]]});function pluck(collection,path){return map(collection,property(path))}var reduce=createReduce(arrayReduce,baseEach);var reduceRight=createReduce(arrayReduceRight,baseEachRight);function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function sample(collection,n,guard){if(guard?isIterateeCall(collection,n,guard):n==null){collection=toIterable(collection);var length=collection.length;return length>0?collection[baseRandom(0,length-1)]:undefined}var index=-1,result=toArray(collection),length=result.length,lastIndex=length-1;n=nativeMin(n<0?0:+n||0,length);while(++index0){result=func.apply(this,arguments)}if(n<=1){func=undefined}return result}}var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});var bindAll=restParam(function(object,methodNames){methodNames=methodNames.length?baseFlatten(methodNames):functions(object);var index=-1,length=methodNames.length;while(++indexwait){complete(trailingCall,maxTimeoutId)}else{timeoutId=setTimeout(delayed,remaining)}}function maxDelayed(){complete(trailing,timeoutId)}function debounced(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){ +lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0||remaining>maxWait;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=undefined}return result}debounced.cancel=cancel;return debounced}var defer=restParam(function(func,args){return baseDelay(func,1,args)});var delay=restParam(function(func,wait,args){return baseDelay(func,wait,args)});var flow=createFlow();var flowRight=createFlow(true);function memoize(func,resolver){if(typeof func!="function"||resolver&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result);return result};memoized.cache=new memoize.Cache;return memoized}var modArgs=restParam(function(func,transforms){transforms=baseFlatten(transforms);if(typeof func!="function"||!arrayEvery(transforms,baseIsFunction)){throw new TypeError(FUNC_ERROR_TEXT)}var length=transforms.length;return restParam(function(args){var index=nativeMin(args.length,length);while(index--){args[index]=transforms[index](args[index])}return func.apply(this,args)})});function negate(predicate){if(typeof predicate!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(){return!predicate.apply(this,arguments)}}function once(func){return before(2,func)}var partial=createPartial(PARTIAL_FLAG);var partialRight=createPartial(PARTIAL_RIGHT_FLAG);var rearg=restParam(function(func,indexes){return createWrapper(func,REARG_FLAG,undefined,undefined,undefined,baseFlatten(indexes))});function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++indexother}function gte(value,other){return value>=other}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};function isBoolean(value){return value===true||value===false||isObjectLike(value)&&objToString.call(value)==boolTag}function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}function isElement(value){return!!value&&value.nodeType===1&&isObjectLike(value)&&!isPlainObject(value)}function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}function isError(value){return isObjectLike(value)&&typeof value.message=="string"&&objToString.call(value)==errorTag}function isFinite(value){return typeof value=="number"&&nativeIsFinite(value)}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isMatch(object,source,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;return baseIsMatch(object,getMatchData(source),customizer)}function isNaN(value){return isNumber(value)&&value!=+value}function isNative(value){if(value==null){return false}if(isFunction(value)){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function isNull(value){return value===null}function isNumber(value){return typeof value=="number"||isObjectLike(value)&&objToString.call(value)==numberTag}function isPlainObject(value){var Ctor;if(!(isObjectLike(value)&&objToString.call(value)==objectTag&&!isArguments(value))||!hasOwnProperty.call(value,"constructor")&&(Ctor=value.constructor,typeof Ctor=="function"&&!(Ctor instanceof Ctor))){return false}var result;baseForIn(value,function(subValue,key){result=key});return result===undefined||hasOwnProperty.call(value,result)}function isRegExp(value){return isObject(value)&&objToString.call(value)==regexpTag}function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function isUndefined(value){return value===undefined}function lt(value,other){return value0;while(++index=nativeMin(start,end)&&value=0&&string.indexOf(target,position)==position}function escape(string){string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,escapeRegExpChar):string||"(?:)"}var kebabCase=createCompounder(function(result,word,index){return result+(index?"-":"")+word.toLowerCase()});function pad(string,length,chars){string=baseToString(string);length=+length;var strLength=string.length;if(strLength>=length||!nativeIsFinite(length)){return string}var mid=(length-strLength)/2,leftLength=nativeFloor(mid),rightLength=nativeCeil(mid);chars=createPadding("",rightLength,chars);return chars.slice(0,leftLength)+string+chars}var padLeft=createPadDir();var padRight=createPadDir(true);function parseInt(string,radix,guard){if(guard?isIterateeCall(string,radix,guard):radix==null){radix=0}else if(radix){radix=+radix}string=trim(string);return nativeParseInt(string,radix||(reHasHexPrefix.test(string)?16:10))}function repeat(string,n){var result="";string=baseToString(string);n=+n;if(n<1||!string||!nativeIsFinite(n)){return result}do{if(n%2){result+=string}n=nativeFloor(n/2);string+=string}while(n);return result}var snakeCase=createCompounder(function(result,word,index){return result+(index?"_":"")+word.toLowerCase()});var startCase=createCompounder(function(result,word,index){return result+(index?" ":"")+(word.charAt(0).toUpperCase()+word.slice(1))});function startsWith(string,target,position){string=baseToString(string);position=position==null?0:nativeMin(position<0?0:+position||0,string.length);return string.lastIndexOf(target,position)==position}function template(string,options,otherOptions){var settings=lodash.templateSettings;if(otherOptions&&isIterateeCall(string,options,otherOptions)){options=otherOptions=undefined}string=baseToString(string);options=assignWith(baseAssign({},otherOptions||options),settings,assignOwnDefaults);var imports=assignWith(baseAssign({},options.imports),settings.imports,assignOwnDefaults),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");var sourceURL="//# sourceURL="+("sourceURL"in options?options.sourceURL:"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt(function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)});result.source=source;if(isError(result)){throw result}return result}function trim(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string),trimmedRightIndex(string)+1)}chars=chars+"";return string.slice(charsLeftIndex(string,chars),charsRightIndex(string,chars)+1)}function trimLeft(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string))}return string.slice(charsLeftIndex(string,chars+""))}function trimRight(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(0,trimmedRightIndex(string)+1)}return string.slice(0,charsRightIndex(string,chars+"")+1)}function trunc(string,options,guard){if(guard&&isIterateeCall(string,options,guard)){options=undefined}var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(options!=null){if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?+options.length||0:length;omission="omission"in options?baseToString(options.omission):omission}else{length=+options||0}}string=baseToString(string);if(length>=string.length){return string}var end=length-omission.length;if(end<1){return omission}var result=string.slice(0,end);if(separator==null){return result+omission}if(isRegExp(separator)){if(string.slice(end).search(separator)){var match,newEnd,substring=string.slice(0,end);if(!separator.global){separator=RegExp(separator.source,(reFlags.exec(separator)||"")+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){newEnd=match.index}result=result.slice(0,newEnd==null?end:newEnd)}}else if(string.indexOf(separator,end)!=end){var index=result.lastIndexOf(separator);if(index>-1){result=result.slice(0,index)}}return result+omission}function unescape(string){string=baseToString(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}function words(string,pattern,guard){if(guard&&isIterateeCall(string,pattern,guard)){pattern=undefined}string=baseToString(string);return string.match(pattern||reWords)||[]}var attempt=restParam(function(func,args){try{return func.apply(undefined,args)}catch(e){return isError(e)?e:new Error(e)}});function callback(func,thisArg,guard){if(guard&&isIterateeCall(func,thisArg,guard)){thisArg=undefined}return isObjectLike(func)?matches(func):baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function matches(source){return baseMatches(baseClone(source,true))}function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,true))}var method=restParam(function(path,args){return function(object){return invokePath(object,path,args)}});var methodOf=restParam(function(object,args){return function(path){return invokePath(object,path,args)}});function mixin(object,source,options){if(options==null){var isObj=isObject(source),props=isObj?keys(source):undefined,methodNames=props&&props.length?baseFunctions(source,props):undefined;if(!(methodNames?methodNames.length:isObj)){methodNames=false;options=source;source=object;object=this}}if(!methodNames){methodNames=baseFunctions(source,keys(source))}var chain=true,index=-1,isFunc=isFunction(object),length=methodNames.length;if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}while(++index0||end<0)){return new LazyWrapper(result)}if(start<0){result=result.takeRight(-start)}else if(start){result=result.drop(start)}if(end!==undefined){end=+end||0;result=end<0?result.dropRight(-end):result.take(end-start)}return result};LazyWrapper.prototype.takeRightWhile=function(predicate,thisArg){return this.reverse().takeWhile(predicate,thisArg).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(POSITIVE_INFINITY)};baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|map|reject)|While$/.test(methodName),retUnwrapped=/^(?:first|last)$/.test(methodName),lodashFunc=lodash[retUnwrapped?"take"+(methodName=="last"?"Right":""):methodName];if(!lodashFunc){return}lodash.prototype[methodName]=function(){var args=retUnwrapped?[1]:arguments,chainAll=this.__chain__,value=this.__wrapped__,isHybrid=!!this.__actions__.length,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value);if(useLazy&&checkIteratee&&typeof iteratee=="function"&&iteratee.length!=1){isLazy=useLazy=false}var interceptor=function(value){return retUnwrapped&&chainAll?lodashFunc(value,1)[0]:lodashFunc.apply(undefined,arrayPush([value],args))};var action={func:thru,args:[interceptor],thisArg:undefined},onlyLazy=isLazy&&!isHybrid;if(retUnwrapped&&!chainAll){if(onlyLazy){value=value.clone();value.__actions__.push(action);return func.call(value)}return lodashFunc.call(undefined,this.value())[0]}if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);result.__actions__.push(action);return new LodashWrapper(result,chainAll)}return this.thru(interceptor)}});arrayEach(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(methodName){ +var func=(/^(?:replace|split)$/.test(methodName)?stringProto:arrayProto)[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:join|pop|replace|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){return func.apply(this.value(),args)}return this[chainName](function(value){return func.apply(value,args)})}});baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name,names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}});realNames[createHybridWrapper(undefined,BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}];LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.concat=wrapperConcat;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toString=wrapperToString;lodash.prototype.run=lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;lodash.prototype.collect=lodash.prototype.map;lodash.prototype.head=lodash.prototype.first;lodash.prototype.select=lodash.prototype.filter;lodash.prototype.tail=lodash.prototype.rest;return lodash}var _=runInContext();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){root._=_;define(function(){return _})}else if(freeExports&&freeModule){if(moduleExports){(freeModule.exports=_)._=_}else{freeExports._=_}}else{root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],9:[function(require,module,exports){(function(root,factory){if(typeof define==="function"&&define.amd){define([],factory)}else if(typeof module!=="undefined"&&module.exports){module.exports=factory()}else{root.lscache=factory()}})(this,function(){var CACHE_PREFIX="lscache-";var CACHE_SUFFIX="-cacheexpiration";var EXPIRY_RADIX=10;var EXPIRY_UNITS=60*1e3;var MAX_DATE=Math.floor(864e13/EXPIRY_UNITS);var cachedStorage;var cachedJSON;var cacheBucket="";var warnings=false;function supportsStorage(){var key="__lscachetest__";var value=key;if(cachedStorage!==undefined){return cachedStorage}try{setItem(key,value);removeItem(key);cachedStorage=true}catch(e){if(isOutOfSpace(e)){cachedStorage=true}else{cachedStorage=false}}return cachedStorage}function isOutOfSpace(e){if(e&&e.name==="QUOTA_EXCEEDED_ERR"||e.name==="NS_ERROR_DOM_QUOTA_REACHED"||e.name==="QuotaExceededError"){return true}return false}function supportsJSON(){if(cachedJSON===undefined){cachedJSON=window.JSON!=null}return cachedJSON}function expirationKey(key){return key+CACHE_SUFFIX}function currentTime(){return Math.floor((new Date).getTime()/EXPIRY_UNITS)}function getItem(key){return localStorage.getItem(CACHE_PREFIX+cacheBucket+key)}function setItem(key,value){localStorage.removeItem(CACHE_PREFIX+cacheBucket+key);localStorage.setItem(CACHE_PREFIX+cacheBucket+key,value)}function removeItem(key){localStorage.removeItem(CACHE_PREFIX+cacheBucket+key)}function eachKey(fn){var prefixRegExp=new RegExp("^"+CACHE_PREFIX+cacheBucket+"(.*)");for(var i=localStorage.length-1;i>=0;--i){var key=localStorage.key(i);key=key&&key.match(prefixRegExp);key=key&&key[1];if(key&&key.indexOf(CACHE_SUFFIX)<0){fn(key,expirationKey(key))}}}function flushItem(key){var exprKey=expirationKey(key);removeItem(key);removeItem(exprKey)}function flushExpiredItem(key){var exprKey=expirationKey(key);var expr=getItem(exprKey);if(expr){var expirationTime=parseInt(expr,EXPIRY_RADIX);if(currentTime()>=expirationTime){removeItem(key);removeItem(exprKey);return true}}}function warn(message,err){if(!warnings)return;if(!("console"in window)||typeof window.console.warn!=="function")return;window.console.warn("lscache - "+message);if(err)window.console.warn("lscache - The error was: "+err.message)}var lscache={set:function(key,value,time){if(!supportsStorage())return;if(typeof value!=="string"){if(!supportsJSON())return;try{value=JSON.stringify(value)}catch(e){return}}try{setItem(key,value)}catch(e){if(isOutOfSpace(e)){var storedKeys=[];var storedKey;eachKey(function(key,exprKey){var expiration=getItem(exprKey);if(expiration){expiration=parseInt(expiration,EXPIRY_RADIX)}else{expiration=MAX_DATE}storedKeys.push({key:key,size:(getItem(key)||"").length,expiration:expiration})});storedKeys.sort(function(a,b){return b.expiration-a.expiration});var targetSize=(value||"").length;while(storedKeys.length&&targetSize>0){storedKey=storedKeys.pop();warn("Cache is full, removing item with key '"+key+"'");flushItem(storedKey.key);targetSize-=storedKey.size}try{setItem(key,value)}catch(e){warn("Could not add item with key '"+key+"', perhaps it's too big?",e);return}}else{warn("Could not add item with key '"+key+"'",e);return}}if(time){setItem(expirationKey(key),(currentTime()+time).toString(EXPIRY_RADIX))}else{removeItem(expirationKey(key))}},get:function(key){if(!supportsStorage())return null;if(flushExpiredItem(key)){return null}var value=getItem(key);if(!value||!supportsJSON()){return value}try{return JSON.parse(value)}catch(e){return value}},remove:function(key){if(!supportsStorage())return;flushItem(key)},supported:function(){return supportsStorage()},flush:function(){if(!supportsStorage())return;eachKey(function(key){flushItem(key)})},flushExpired:function(){if(!supportsStorage())return;eachKey(function(key){flushExpiredItem(key)})},setBucket:function(bucket){cacheBucket=bucket},resetBucket:function(){cacheBucket=""},enableWarnings:function(enabled){warnings=enabled}};return lscache})},{}],10:[function(require,module,exports){(function(global){(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,blockquote:/^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr","\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))")("def","\\n+(?="+block.def.source+")")();block.blockquote=replace(block.blockquote)("def",block.def)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b";block.html=replace(block.html)("comment",//)("closed",/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1","\\2")+"|"+block.list.source.replace("\\1","\\3")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm){if(this.options.tables){this.rules=block.tables}else{this.rules=block.gfm}}}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)};Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top,bq){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1){this.tokens.push({type:"space"})}}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm,"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]||""});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i ?/gm,"");this.token(cap,top,true);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length);bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i1&&b.length>1)){src=cap.slice(i+1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item.charAt(item.length-1)==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false,bq);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&(cap[1]==="pre"||cap[1]==="script"||cap[1]==="style"),text:cap[0]});continue}if(!bq&&top&&(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal;this.renderer=this.options.renderer||new Renderer;this.renderer.options=this.options;if(!this.links){throw new Error("Tokens array requires a `links` property.")}if(this.options.gfm){if(this.options.breaks){this.rules=inline.breaks}else{this.rules=inline.gfm}}else if(this.options.pedantic){this.rules=inline.pedantic}}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length);out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1].charAt(6)===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=this.renderer.link(href,null,text);continue}if(!this.inLink&&(cap=this.rules.url.exec(src))){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=this.renderer.link(href,null,text);continue}if(cap=this.rules.tag.exec(src)){if(!this.inLink&&/^/i.test(cap[0])){this.inLink=false}src=src.substring(cap[0].length);out+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(cap[0]):escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);this.inLink=true;out+=this.outputLink(cap,{href:cap[2],title:cap[3]});this.inLink=false;continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0].charAt(0);src=cap[0].substring(1)+src;continue}this.inLink=true;out+=this.outputLink(cap,link);this.inLink=false;continue}if(cap=this.rules.strong.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.strong(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.em(this.output(cap[2]||cap[1]));continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.codespan(escape(cap[2],true));continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.br();continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.del(this.output(cap[1]));continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=this.renderer.text(escape(this.smartypants(cap[0])));continue}if(src){throw new Error("Infinite loop on byte: "+src.charCodeAt(0))}}return out};InlineLexer.prototype.outputLink=function(cap,link){var href=escape(link.href),title=link.title?escape(link.title):null;return cap[0].charAt(0)!=="!"?this.renderer.link(href,title,this.output(cap[1])):this.renderer.image(href,title,escape(cap[1]))};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…")};InlineLexer.prototype.mangle=function(text){if(!this.options.mangle)return text;var out="",l=text.length,i=0,ch;for(;i.5){ch="x"+ch.toString(16)}out+="&#"+ch+";"}return out};function Renderer(options){this.options=options||{}}Renderer.prototype.code=function(code,lang,escaped){if(this.options.highlight){var out=this.options.highlight(code,lang);if(out!=null&&out!==code){escaped=true;code=out}}if(!lang){return"
    "+(escaped?code:escape(code,true))+"\n
    "}return'
    '+(escaped?code:escape(code,true))+"\n
    \n"};Renderer.prototype.blockquote=function(quote){return"
    \n"+quote+"
    \n"};Renderer.prototype.html=function(html){return html};Renderer.prototype.heading=function(text,level,raw){return"'+text+"\n"};Renderer.prototype.hr=function(){return this.options.xhtml?"
    \n":"
    \n"};Renderer.prototype.list=function(body,ordered){var type=ordered?"ol":"ul";return"<"+type+">\n"+body+"\n"};Renderer.prototype.listitem=function(text){return"
  • "+text+"
  • \n"};Renderer.prototype.paragraph=function(text){return"

    "+text+"

    \n"};Renderer.prototype.table=function(header,body){return"\n"+"\n"+header+"\n"+"\n"+body+"\n"+"
    \n"};Renderer.prototype.tablerow=function(content){return"\n"+content+"\n"};Renderer.prototype.tablecell=function(content,flags){var type=flags.header?"th":"td";var tag=flags.align?"<"+type+' style="text-align:'+flags.align+'">':"<"+type+">";return tag+content+"\n"};Renderer.prototype.strong=function(text){return""+text+""};Renderer.prototype.em=function(text){return""+text+""};Renderer.prototype.codespan=function(text){return""+text+""};Renderer.prototype.br=function(){return this.options.xhtml?"
    ":"
    "};Renderer.prototype.del=function(text){return""+text+""};Renderer.prototype.link=function(href,title,text){if(this.options.sanitize){try{var prot=decodeURIComponent(unescape(href)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(prot.indexOf("javascript:")===0||prot.indexOf("vbscript:")===0){return""}}var out='
    ";return out};Renderer.prototype.image=function(href,title,text){var out=''+text+'":">";return out};Renderer.prototype.text=function(text){return text};function Parser(options){this.tokens=[];this.token=null;this.options=options||marked.defaults;this.options.renderer=this.options.renderer||new Renderer;this.renderer=this.options.renderer;this.renderer.options=this.options}Parser.parse=function(src,options,renderer){var parser=new Parser(options,renderer);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options,this.renderer);this.tokens=src.reverse();var out="";while(this.next()){out+=this.tok()}return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text;while(this.peek().type==="text"){body+="\n"+this.next().text}return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case"space":{return""}case"hr":{return this.renderer.hr()}case"heading":{return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,this.token.text)}case"code":{return this.renderer.code(this.token.text,this.token.lang,this.token.escaped)}case"table":{var header="",body="",i,row,cell,flags,j;cell="";for(i=0;i/g,">").replace(/"/g,""").replace(/'/g,"'")}function unescape(html){return html.replace(/&([#\w]+);/g,function(_,n){n=n.toLowerCase();if(n==="colon")return":";if(n.charAt(0)==="#"){return n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1))}return""})}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i=1,target,key;for(;iAn error occured:

    "+escape(e.message+"",true)+"
    "}throw e}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,sanitizer:null,mangle:true,smartLists:false,silent:false,highlight:null,langPrefix:"lang-",smartypants:false,headerPrefix:"",renderer:new Renderer,xhtml:false};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output;marked.parse=marked;if(typeof module!=="undefined"&&typeof exports==="object"){module.exports=marked}else if(typeof define==="function"&&define.amd){define(function(){return marked})}else{this.marked=marked}}).call(function(){return this||(typeof window!=="undefined"?window:global)}())}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],11:[function(require,module,exports){(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?module.exports=factory():typeof define==="function"&&define.amd?define(factory):global.moment=factory()})(this,function(){"use strict";var hookCallback;function utils_hooks__hooks(){return hookCallback.apply(null,arguments)}function setHookCallback(callback){hookCallback=callback}function isArray(input){return Object.prototype.toString.call(input)==="[object Array]"}function isDate(input){return input instanceof Date||Object.prototype.toString.call(input)==="[object Date]"}function map(arr,fn){var res=[],i;for(i=0;i0){for(i in momentProperties){prop=momentProperties[i];val=from[prop];if(!isUndefined(val)){to[prop]=val}}}return to}var updateInProgress=false;function Moment(config){copyConfig(this,config);this._d=new Date(config._d!=null?config._d.getTime():NaN);if(updateInProgress===false){updateInProgress=true;utils_hooks__hooks.updateOffset(this);updateInProgress=false}}function isMoment(obj){return obj instanceof Moment||obj!=null&&obj._isAMomentObject!=null}function absFloor(number){if(number<0){return Math.ceil(number)}else{return Math.floor(number)}}function toInt(argumentForCoercion){var coercedNumber=+argumentForCoercion,value=0;if(coercedNumber!==0&&isFinite(coercedNumber)){value=absFloor(coercedNumber)}return value}function compareArrays(array1,array2,dontConvert){var len=Math.min(array1.length,array2.length),lengthDiff=Math.abs(array1.length-array2.length),diffs=0,i;for(i=0;i0){locale=loadLocale(split.slice(0,j).join("-"));if(locale){return locale}if(next&&next.length>=j&&compareArrays(split,next,true)>=j-1){break}j--}i++}return null}function loadLocale(name){var oldLocale=null;if(!locales[name]&&typeof module!=="undefined"&&module&&module.exports){try{oldLocale=globalLocale._abbr;require("./locale/"+name);locale_locales__getSetGlobalLocale(oldLocale)}catch(e){}}return locales[name]}function locale_locales__getSetGlobalLocale(key,values){var data;if(key){if(isUndefined(values)){data=locale_locales__getLocale(key)}else{data=defineLocale(key,values)}if(data){globalLocale=data}}return globalLocale._abbr}function defineLocale(name,values){if(values!==null){values.abbr=name;locales[name]=locales[name]||new Locale;locales[name].set(values);locale_locales__getSetGlobalLocale(name);return locales[name]}else{delete locales[name];return null}}function locale_locales__getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr){key=key._locale._abbr}if(!key){return globalLocale}if(!isArray(key)){locale=loadLocale(key);if(locale){return locale}key=[key]}return chooseLocale(key)}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return typeof units==="string"?aliases[units]||aliases[units.toLowerCase()]:undefined}function normalizeObjectUnits(inputObject){var normalizedInput={},normalizedProp,prop;for(prop in inputObject){if(hasOwnProp(inputObject,prop)){normalizedProp=normalizeUnits(prop);if(normalizedProp){normalizedInput[normalizedProp]=inputObject[prop]}}}return normalizedInput}function isFunction(input){return input instanceof Function||Object.prototype.toString.call(input)==="[object Function]"}function makeGetSet(unit,keepTime){return function(value){if(value!=null){get_set__set(this,unit,value);utils_hooks__hooks.updateOffset(this,keepTime);return this}else{return get_set__get(this,unit)}}}function get_set__get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function get_set__set(mom,unit,value){if(mom.isValid()){mom._d["set"+(mom._isUTC?"UTC":"")+unit](value)}}function getSet(units,value){var unit;if(typeof units==="object"){for(unit in units){this.set(unit,units[unit])}}else{units=normalizeUnits(units);if(isFunction(this[units])){return this[units](value)}}return this}function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length,sign=number>=0;return(sign?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; +var localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;var formatFunctions={};var formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;if(typeof callback==="string"){func=function(){return this[callback]()}}if(token){formatTokenFunctions[token]=func}if(padded){formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}}if(ordinal){formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)}}}function removeFormattingTokens(input){if(input.match(/\[[\s\S]/)){return input.replace(/^\[|\]$/g,"")}return input.replace(/\\/g,"")}function makeFormatFunction(format){var array=format.match(formattingTokens),i,length;for(i=0,length=array.length;i=0&&localFormattingTokens.test(format)){format=format.replace(localFormattingTokens,replaceLongDateFormatTokens);localFormattingTokens.lastIndex=0;i-=1}return format}var match1=/\d/;var match2=/\d\d/;var match3=/\d{3}/;var match4=/\d{4}/;var match6=/[+-]?\d{6}/;var match1to2=/\d\d?/;var match3to4=/\d\d\d\d?/;var match5to6=/\d\d\d\d\d\d?/;var match1to3=/\d{1,3}/;var match1to4=/\d{1,4}/;var match1to6=/[+-]?\d{1,6}/;var matchUnsigned=/\d+/;var matchSigned=/[+-]?\d+/;var matchOffset=/Z|[+-]\d\d:?\d\d/gi;var matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi;var matchTimestamp=/[+-]?\d+(\.\d{1,3})?/;var matchWord=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i;var regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){if(!hasOwnProp(regexes,token)){return new RegExp(unescapeFormat(token))}return regexes[token](config._strict,config._locale)}function unescapeFormat(s){return regexEscape(s.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(matched,p1,p2,p3,p4){return p1||p2||p3||p4}))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var tokens={};function addParseToken(token,callback){var i,func=callback;if(typeof token==="string"){token=[token]}if(typeof callback==="number"){func=function(input,array){array[callback]=toInt(input)}}for(i=0;i11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||a[HOUR]===24&&(a[MINUTE]!==0||a[SECOND]!==0||a[MILLISECOND]!==0)?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1;if(getParsingFlags(m)._overflowDayOfYear&&(overflowDATE)){overflow=DATE}if(getParsingFlags(m)._overflowWeeks&&overflow===-1){overflow=WEEK}if(getParsingFlags(m)._overflowWeekday&&overflow===-1){overflow=WEEKDAY}getParsingFlags(m).overflow=overflow}return m}function warn(msg){if(utils_hooks__hooks.suppressDeprecationWarnings===false&&typeof console!=="undefined"&&console.warn){console.warn("Deprecation warning: "+msg)}}function deprecate(msg,fn){var firstTime=true;return extend(function(){if(firstTime){warn(msg+"\nArguments: "+Array.prototype.slice.call(arguments).join(", ")+"\n"+(new Error).stack);firstTime=false}return fn.apply(this,arguments)},fn)}var deprecations={};function deprecateSimple(name,msg){if(!deprecations[name]){warn(msg);deprecations[name]=true}}utils_hooks__hooks.suppressDeprecationWarnings=false;var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;var basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;var tzRegex=/Z|[+-]\d\d(?::?\d\d)?/;var isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,false],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,false],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,false],["YYYYDDD",/\d{7}/]];var isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]];var aspNetJsonRegex=/^\/?Date\((\-?\d+)/i;function configFromISO(config){var i,l,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string),allowTime,dateFormat,timeFormat,tzFormat;if(match){getParsingFlags(config).iso=true;for(i=0,l=isoDates.length;i=0&&isFinite(date.getFullYear())){date.setFullYear(y)}return date}function createUTCDate(y){var date=new Date(Date.UTC.apply(null,arguments));if(y<100&&y>=0&&isFinite(date.getUTCFullYear())){date.setUTCFullYear(y)}return date}addFormatToken("Y",0,0,function(){var y=this.year();return y<=9999?""+y:"+"+y});addFormatToken(0,["YY",2],0,function(){return this.year()%100});addFormatToken(0,["YYYY",4],0,"year");addFormatToken(0,["YYYYY",5],0,"year");addFormatToken(0,["YYYYYY",6,true],0,"year");addUnitAlias("year","y");addRegexToken("Y",matchSigned);addRegexToken("YY",match1to2,match2);addRegexToken("YYYY",match1to4,match4);addRegexToken("YYYYY",match1to6,match6);addRegexToken("YYYYYY",match1to6,match6);addParseToken(["YYYYY","YYYYYY"],YEAR);addParseToken("YYYY",function(input,array){array[YEAR]=input.length===2?utils_hooks__hooks.parseTwoDigitYear(input):toInt(input)});addParseToken("YY",function(input,array){array[YEAR]=utils_hooks__hooks.parseTwoDigitYear(input)});addParseToken("Y",function(input,array){array[YEAR]=parseInt(input,10)});function daysInYear(year){return isLeapYear(year)?366:365}function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0}utils_hooks__hooks.parseTwoDigitYear=function(input){return toInt(input)+(toInt(input)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",false);function getIsLeapYear(){return isLeapYear(this.year())}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy,fwdlw=(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7;return-fwdlw+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var localWeekday=(7+weekday-dow)%7,weekOffset=firstWeekOffset(year,dow,doy),dayOfYear=1+7*(week-1)+localWeekday+weekOffset,resYear,resDayOfYear;if(dayOfYear<=0){resYear=year-1;resDayOfYear=daysInYear(resYear)+dayOfYear}else if(dayOfYear>daysInYear(year)){resYear=year+1;resDayOfYear=dayOfYear-daysInYear(year)}else{resYear=year;resDayOfYear=dayOfYear}return{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1,resWeek,resYear;if(week<1){resYear=mom.year()-1;resWeek=week+weeksInYear(resYear,dow,doy)}else if(week>weeksInYear(mom.year(),dow,doy)){resWeek=week-weeksInYear(mom.year(),dow,doy);resYear=mom.year()+1}else{resYear=mom.year();resWeek=week}return{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}function defaults(a,b,c){if(a!=null){return a}if(b!=null){return b}return c}function currentDateArray(config){var nowValue=new Date(utils_hooks__hooks.now());if(config._useUTC){return[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]}return[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}function configFromArray(config){var i,date,input=[],currentDate,yearToUse;if(config._d){return}currentDate=currentDateArray(config);if(config._w&&config._a[DATE]==null&&config._a[MONTH]==null){dayOfYearFromWeekInfo(config)}if(config._dayOfYear){yearToUse=defaults(config._a[YEAR],currentDate[YEAR]);if(config._dayOfYear>daysInYear(yearToUse)){getParsingFlags(config)._overflowDayOfYear=true}date=createUTCDate(yearToUse,0,config._dayOfYear);config._a[MONTH]=date.getUTCMonth();config._a[DATE]=date.getUTCDate()}for(i=0;i<3&&config._a[i]==null;++i){config._a[i]=input[i]=currentDate[i]}for(;i<7;i++){config._a[i]=input[i]=config._a[i]==null?i===2?1:0:config._a[i]}if(config._a[HOUR]===24&&config._a[MINUTE]===0&&config._a[SECOND]===0&&config._a[MILLISECOND]===0){config._nextDay=true;config._a[HOUR]=0}config._d=(config._useUTC?createUTCDate:createDate).apply(null,input);if(config._tzm!=null){config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm)}if(config._nextDay){config._a[HOUR]=24}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow;w=config._w;if(w.GG!=null||w.W!=null||w.E!=null){dow=1;doy=4;weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(local__createLocal(),1,4).year);week=defaults(w.W,1);weekday=defaults(w.E,1);if(weekday<1||weekday>7){weekdayOverflow=true}}else{dow=config._locale._week.dow;doy=config._locale._week.doy;weekYear=defaults(w.gg,config._a[YEAR],weekOfYear(local__createLocal(),dow,doy).year);week=defaults(w.w,1);if(w.d!=null){weekday=w.d;if(weekday<0||weekday>6){weekdayOverflow=true}}else if(w.e!=null){weekday=w.e+dow;if(w.e<0||w.e>6){weekdayOverflow=true}}else{weekday=dow}}if(week<1||week>weeksInYear(weekYear,dow,doy)){getParsingFlags(config)._overflowWeeks=true}else if(weekdayOverflow!=null){getParsingFlags(config)._overflowWeekday=true}else{temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy);config._a[YEAR]=temp.year;config._dayOfYear=temp.dayOfYear}}utils_hooks__hooks.ISO_8601=function(){};function configFromStringAndFormat(config){if(config._f===utils_hooks__hooks.ISO_8601){configFromISO(config);return}config._a=[];getParsingFlags(config).empty=true;var string=""+config._i,i,parsedInput,tokens,token,skipped,stringLength=string.length,totalParsedInputLength=0;tokens=expandFormat(config._f,config._locale).match(formattingTokens)||[];for(i=0;i0){getParsingFlags(config).unusedInput.push(skipped)}string=string.slice(string.indexOf(parsedInput)+parsedInput.length);totalParsedInputLength+=parsedInput.length}if(formatTokenFunctions[token]){if(parsedInput){getParsingFlags(config).empty=false}else{getParsingFlags(config).unusedTokens.push(token)}addTimeToArrayFromToken(token,parsedInput,config)}else if(config._strict&&!parsedInput){getParsingFlags(config).unusedTokens.push(token)}}getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength;if(string.length>0){getParsingFlags(config).unusedInput.push(string)}if(getParsingFlags(config).bigHour===true&&config._a[HOUR]<=12&&config._a[HOUR]>0){getParsingFlags(config).bigHour=undefined}config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem);configFromArray(config);checkOverflow(config)}function meridiemFixWrap(locale,hour,meridiem){var isPm;if(meridiem==null){return hour}if(locale.meridiemHour!=null){return locale.meridiemHour(hour,meridiem)}else if(locale.isPM!=null){isPm=locale.isPM(meridiem);if(isPm&&hour<12){hour+=12}if(!isPm&&hour===12){hour=0}return hour}else{return hour}}function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(config._f.length===0){getParsingFlags(config).invalidFormat=true;config._d=new Date(NaN);return}for(i=0;ithis?this:other}else{return valid__createInvalid()}});function pickBy(fn,moments){var res,i;if(moments.length===1&&isArray(moments[0])){moments=moments[0]}if(!moments.length){return local__createLocal()}res=moments[0];for(i=1;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted)){return this._isDSTShifted}var c={};copyConfig(c,this);c=prepareConfig(c);if(c._a){var other=c._isUTC?create_utc__createUTC(c._a):local__createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0}else{this._isDSTShifted=false}return this._isDSTShifted}function isLocal(){return this.isValid()?!this._isUTC:false}function isUtcOffset(){return this.isValid()?this._isUTC:false}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:false}var aspNetRegex=/(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/;var isoRegex=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/;function create__createDuration(input,key){var duration=input,match=null,sign,ret,diffRes;if(isDuration(input)){duration={ms:input._milliseconds,d:input._days,M:input._months}}else if(typeof input==="number"){duration={};if(key){duration[key]=input}else{duration.milliseconds=input}}else if(!!(match=aspNetRegex.exec(input))){sign=match[1]==="-"?-1:1;duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(match[MILLISECOND])*sign}}else if(!!(match=isoRegex.exec(input))){sign=match[1]==="-"?-1:1;duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),d:parseIso(match[4],sign),h:parseIso(match[5],sign),m:parseIso(match[6],sign),s:parseIso(match[7],sign),w:parseIso(match[8],sign)}}else if(duration==null){duration={}}else if(typeof duration==="object"&&("from"in duration||"to"in duration)){diffRes=momentsDifference(local__createLocal(duration.from),local__createLocal(duration.to));duration={};duration.ms=diffRes.milliseconds;duration.M=diffRes.months}ret=new Duration(duration);if(isDuration(input)&&hasOwnProp(input,"_locale")){ret._locale=input._locale}return ret}create__createDuration.fn=Duration.prototype;function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={milliseconds:0,months:0};res.months=other.month()-base.month()+(other.year()-base.year())*12;if(base.clone().add(res.months,"M").isAfter(other)){--res.months}res.milliseconds=+other-+base.clone().add(res.months,"M");return res}function momentsDifference(base,other){var res;if(!(base.isValid()&&other.isValid())){return{milliseconds:0,months:0}}other=cloneWithOffset(other,base);if(base.isBefore(other)){res=positiveMomentsDifference(base,other)}else{res=positiveMomentsDifference(other,base);res.milliseconds=-res.milliseconds;res.months=-res.months}return res}function createAdder(direction,name){return function(val,period){var dur,tmp;if(period!==null&&!isNaN(+period)){deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period).");tmp=val;val=period;period=tmp}val=typeof val==="string"?+val:val;dur=create__createDuration(val,period);add_subtract__addSubtract(this,dur,direction);return this}}function add_subtract__addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=duration._days,months=duration._months;if(!mom.isValid()){return}updateOffset=updateOffset==null?true:updateOffset;if(milliseconds){mom._d.setTime(+mom._d+milliseconds*isAdding)}if(days){get_set__set(mom,"Date",get_set__get(mom,"Date")+days*isAdding)}if(months){setMonth(mom,get_set__get(mom,"Month")+months*isAdding)}if(updateOffset){utils_hooks__hooks.updateOffset(mom,days||months)}}var add_subtract__add=createAdder(1,"add");var add_subtract__subtract=createAdder(-1,"subtract");function moment_calendar__calendar(time,formats){var now=time||local__createLocal(),sod=cloneWithOffset(now,this).startOf("day"),diff=this.diff(sod,"days",true),format=diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse";var output=formats&&(isFunction(formats[format])?formats[format]():formats[format]);return this.format(output||this.localeData().calendar(format,this,local__createLocal(now)))}function clone(){return new Moment(this)}function isAfter(input,units){var localInput=isMoment(input)?input:local__createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false}units=normalizeUnits(!isUndefined(units)?units:"millisecond");if(units==="millisecond"){return+this>+localInput}else{return+localInput<+this.clone().startOf(units)}}function isBefore(input,units){var localInput=isMoment(input)?input:local__createLocal(input);if(!(this.isValid()&&localInput.isValid())){return false}units=normalizeUnits(!isUndefined(units)?units:"millisecond");if(units==="millisecond"){return+this<+localInput}else{return+this.clone().endOf(units)<+localInput}}function isBetween(from,to,units){return this.isAfter(from,units)&&this.isBefore(to,units)}function isSame(input,units){var localInput=isMoment(input)?input:local__createLocal(input),inputMs;if(!(this.isValid()&&localInput.isValid())){return false}units=normalizeUnits(units||"millisecond");if(units==="millisecond"){return+this===+localInput}else{inputMs=+localInput;return+this.clone().startOf(units)<=inputMs&&inputMs<=+this.clone().endOf(units)}}function isSameOrAfter(input,units){return this.isSame(input,units)||this.isAfter(input,units)}function isSameOrBefore(input,units){return this.isSame(input,units)||this.isBefore(input,units)}function diff(input,units,asFloat){var that,zoneDelta,delta,output;if(!this.isValid()){return NaN}that=cloneWithOffset(input,this);if(!that.isValid()){return NaN}zoneDelta=(that.utcOffset()-this.utcOffset())*6e4;units=normalizeUnits(units);if(units==="year"||units==="month"||units==="quarter"){output=monthDiff(this,that);if(units==="quarter"){output=output/3}else if(units==="year"){output=output/12}}else{delta=this-that;output=units==="second"?delta/1e3:units==="minute"?delta/6e4:units==="hour"?delta/36e5:units==="day"?(delta-zoneDelta)/864e5:units==="week"?(delta-zoneDelta)/6048e5:delta}return asFloat?output:absFloor(output)}function monthDiff(a,b){var wholeMonthDiff=(b.year()-a.year())*12+(b.month()-a.month()),anchor=a.clone().add(wholeMonthDiff,"months"),anchor2,adjust;if(b-anchor<0){anchor2=a.clone().add(wholeMonthDiff-1,"months");adjust=(b-anchor)/(anchor-anchor2)}else{anchor2=a.clone().add(wholeMonthDiff+1,"months");adjust=(b-anchor)/(anchor2-anchor)}return-(wholeMonthDiff+adjust)}utils_hooks__hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ";function toString(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function moment_format__toISOString(){var m=this.clone().utc(); +if(0weeksTarget){week=weeksTarget}return setWeekAll.call(this,input,week,weekday,dow,doy)}}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);this.year(date.getUTCFullYear());this.month(date.getUTCMonth());this.date(date.getUTCDate());return this}addFormatToken("Q",0,"Qo","quarter");addUnitAlias("quarter","Q");addRegexToken("Q",match1);addParseToken("Q",function(input,array){array[MONTH]=(toInt(input)-1)*3});function getSetQuarter(input){return input==null?Math.ceil((this.month()+1)/3):this.month((input-1)*3+this.month()%3)}addFormatToken("w",["ww",2],"wo","week");addFormatToken("W",["WW",2],"Wo","isoWeek");addUnitAlias("week","w");addUnitAlias("isoWeek","W");addRegexToken("w",match1to2);addRegexToken("ww",match1to2,match2);addRegexToken("W",match1to2);addRegexToken("WW",match1to2,match2);addWeekParseToken(["w","ww","W","WW"],function(input,week,config,token){week[token.substr(0,1)]=toInt(input)});function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week}var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(input){var week=this.localeData().week(this);return input==null?week:this.add((input-week)*7,"d")}function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return input==null?week:this.add((input-week)*7,"d")}addFormatToken("D",["DD",2],"Do","date");addUnitAlias("date","D");addRegexToken("D",match1to2);addRegexToken("DD",match1to2,match2);addRegexToken("Do",function(isStrict,locale){return isStrict?locale._ordinalParse:locale._ordinalParseLenient});addParseToken(["D","DD"],DATE);addParseToken("Do",function(input,array){array[DATE]=toInt(input.match(match1to2)[0],10)});var getSetDayOfMonth=makeGetSet("Date",true);addFormatToken("d",0,"do","day");addFormatToken("dd",0,0,function(format){return this.localeData().weekdaysMin(this,format)});addFormatToken("ddd",0,0,function(format){return this.localeData().weekdaysShort(this,format)});addFormatToken("dddd",0,0,function(format){return this.localeData().weekdays(this,format)});addFormatToken("e",0,0,"weekday");addFormatToken("E",0,0,"isoWeekday");addUnitAlias("day","d");addUnitAlias("weekday","e");addUnitAlias("isoWeekday","E");addRegexToken("d",match1to2);addRegexToken("e",match1to2);addRegexToken("E",match1to2);addRegexToken("dd",matchWord);addRegexToken("ddd",matchWord);addRegexToken("dddd",matchWord);addWeekParseToken(["dd","ddd","dddd"],function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);if(weekday!=null){week.d=weekday}else{getParsingFlags(config).invalidWeekday=input}});addWeekParseToken(["d","e","E"],function(input,week,config,token){week[token]=toInt(input)});function parseWeekday(input,locale){if(typeof input!=="string"){return input}if(!isNaN(input)){return parseInt(input,10)}input=locale.weekdaysParse(input);if(typeof input==="number"){return input}return null}var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");function localeWeekdays(m,format){return isArray(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(format)?"format":"standalone"][m.day()]}var defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function localeWeekdaysShort(m){return this._weekdaysShort[m.day()]}var defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function localeWeekdaysMin(m){return this._weekdaysMin[m.day()]}function localeWeekdaysParse(weekdayName,format,strict){var i,mom,regex;if(!this._weekdaysParse){this._weekdaysParse=[];this._minWeekdaysParse=[];this._shortWeekdaysParse=[];this._fullWeekdaysParse=[]}for(i=0;i<7;i++){mom=local__createLocal([2e3,1]).day(i);if(strict&&!this._fullWeekdaysParse[i]){this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".",".?")+"$","i");this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".",".?")+"$","i");this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".",".?")+"$","i")}if(!this._weekdaysParse[i]){regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,"");this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")}if(strict&&format==="dddd"&&this._fullWeekdaysParse[i].test(weekdayName)){return i}else if(strict&&format==="ddd"&&this._shortWeekdaysParse[i].test(weekdayName)){return i}else if(strict&&format==="dd"&&this._minWeekdaysParse[i].test(weekdayName)){return i}else if(!strict&&this._weekdaysParse[i].test(weekdayName)){return i}}}function getSetDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN}var day=this._isUTC?this._d.getUTCDay():this._d.getDay();if(input!=null){input=parseWeekday(input,this.localeData());return this.add(input-day,"d")}else{return day}}function getSetLocaleDayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN}var weekday=(this.day()+7-this.localeData()._week.dow)%7;return input==null?weekday:this.add(input-weekday,"d")}function getSetISODayOfWeek(input){if(!this.isValid()){return input!=null?this:NaN}return input==null?this.day()||7:this.day(this.day()%7?input:input-7)}addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear");addUnitAlias("dayOfYear","DDD");addRegexToken("DDD",match1to3);addRegexToken("DDDD",match3);addParseToken(["DDD","DDDD"],function(input,array,config){config._dayOfYear=toInt(input)});function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return input==null?dayOfYear:this.add(input-dayOfYear,"d")}function hFormat(){return this.hours()%12||12}addFormatToken("H",["HH",2],0,"hour");addFormatToken("h",["hh",2],0,hFormat);addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)});addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)});addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});function meridiem(token,lowercase){addFormatToken(token,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)})}meridiem("a",true);meridiem("A",false);addUnitAlias("hour","h");function matchMeridiem(isStrict,locale){return locale._meridiemParse}addRegexToken("a",matchMeridiem);addRegexToken("A",matchMeridiem);addRegexToken("H",match1to2);addRegexToken("h",match1to2);addRegexToken("HH",match1to2,match2);addRegexToken("hh",match1to2,match2);addRegexToken("hmm",match3to4);addRegexToken("hmmss",match5to6);addRegexToken("Hmm",match3to4);addRegexToken("Hmmss",match5to6);addParseToken(["H","HH"],HOUR);addParseToken(["a","A"],function(input,array,config){config._isPm=config._locale.isPM(input);config._meridiem=input});addParseToken(["h","hh"],function(input,array,config){array[HOUR]=toInt(input);getParsingFlags(config).bigHour=true});addParseToken("hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos));getParsingFlags(config).bigHour=true});addParseToken("hmmss",function(input,array,config){var pos1=input.length-4;var pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2));getParsingFlags(config).bigHour=true});addParseToken("Hmm",function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos));array[MINUTE]=toInt(input.substr(pos))});addParseToken("Hmmss",function(input,array,config){var pos1=input.length-4;var pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1));array[MINUTE]=toInt(input.substr(pos1,2));array[SECOND]=toInt(input.substr(pos2))});function localeIsPM(input){return(input+"").toLowerCase().charAt(0)==="p"}var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i;function localeMeridiem(hours,minutes,isLower){if(hours>11){return isLower?"pm":"PM"}else{return isLower?"am":"AM"}}var getSetHour=makeGetSet("Hours",true);addFormatToken("m",["mm",2],0,"minute");addUnitAlias("minute","m");addRegexToken("m",match1to2);addRegexToken("mm",match1to2,match2);addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",false);addFormatToken("s",["ss",2],0,"second");addUnitAlias("second","s");addRegexToken("s",match1to2);addRegexToken("ss",match1to2,match2);addParseToken(["s","ss"],SECOND);var getSetSecond=makeGetSet("Seconds",false);addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)});addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)});addFormatToken(0,["SSS",3],0,"millisecond");addFormatToken(0,["SSSS",4],0,function(){return this.millisecond()*10});addFormatToken(0,["SSSSS",5],0,function(){return this.millisecond()*100});addFormatToken(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3});addFormatToken(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4});addFormatToken(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5});addFormatToken(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6});addUnitAlias("millisecond","ms");addRegexToken("S",match1to3,match1);addRegexToken("SS",match1to3,match2);addRegexToken("SSS",match1to3,match3);var token;for(token="SSSS";token.length<=9;token+="S"){addRegexToken(token,matchUnsigned)}function parseMs(input,array){array[MILLISECOND]=toInt(("0."+input)*1e3)}for(token="S";token.length<=9;token+="S"){addParseToken(token,parseMs)}var getSetMillisecond=makeGetSet("Milliseconds",false);addFormatToken("z",0,0,"zoneAbbr");addFormatToken("zz",0,0,"zoneName");function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}var momentPrototype__proto=Moment.prototype;momentPrototype__proto.add=add_subtract__add;momentPrototype__proto.calendar=moment_calendar__calendar;momentPrototype__proto.clone=clone;momentPrototype__proto.diff=diff;momentPrototype__proto.endOf=endOf;momentPrototype__proto.format=format;momentPrototype__proto.from=from;momentPrototype__proto.fromNow=fromNow;momentPrototype__proto.to=to;momentPrototype__proto.toNow=toNow;momentPrototype__proto.get=getSet;momentPrototype__proto.invalidAt=invalidAt;momentPrototype__proto.isAfter=isAfter;momentPrototype__proto.isBefore=isBefore;momentPrototype__proto.isBetween=isBetween;momentPrototype__proto.isSame=isSame;momentPrototype__proto.isSameOrAfter=isSameOrAfter;momentPrototype__proto.isSameOrBefore=isSameOrBefore;momentPrototype__proto.isValid=moment_valid__isValid;momentPrototype__proto.lang=lang;momentPrototype__proto.locale=locale;momentPrototype__proto.localeData=localeData;momentPrototype__proto.max=prototypeMax;momentPrototype__proto.min=prototypeMin;momentPrototype__proto.parsingFlags=parsingFlags;momentPrototype__proto.set=getSet;momentPrototype__proto.startOf=startOf;momentPrototype__proto.subtract=add_subtract__subtract;momentPrototype__proto.toArray=toArray;momentPrototype__proto.toObject=toObject;momentPrototype__proto.toDate=toDate;momentPrototype__proto.toISOString=moment_format__toISOString;momentPrototype__proto.toJSON=toJSON;momentPrototype__proto.toString=toString;momentPrototype__proto.unix=unix;momentPrototype__proto.valueOf=to_type__valueOf;momentPrototype__proto.creationData=creationData;momentPrototype__proto.year=getSetYear;momentPrototype__proto.isLeapYear=getIsLeapYear;momentPrototype__proto.weekYear=getSetWeekYear;momentPrototype__proto.isoWeekYear=getSetISOWeekYear;momentPrototype__proto.quarter=momentPrototype__proto.quarters=getSetQuarter;momentPrototype__proto.month=getSetMonth;momentPrototype__proto.daysInMonth=getDaysInMonth;momentPrototype__proto.week=momentPrototype__proto.weeks=getSetWeek;momentPrototype__proto.isoWeek=momentPrototype__proto.isoWeeks=getSetISOWeek;momentPrototype__proto.weeksInYear=getWeeksInYear;momentPrototype__proto.isoWeeksInYear=getISOWeeksInYear;momentPrototype__proto.date=getSetDayOfMonth;momentPrototype__proto.day=momentPrototype__proto.days=getSetDayOfWeek;momentPrototype__proto.weekday=getSetLocaleDayOfWeek;momentPrototype__proto.isoWeekday=getSetISODayOfWeek;momentPrototype__proto.dayOfYear=getSetDayOfYear;momentPrototype__proto.hour=momentPrototype__proto.hours=getSetHour;momentPrototype__proto.minute=momentPrototype__proto.minutes=getSetMinute;momentPrototype__proto.second=momentPrototype__proto.seconds=getSetSecond;momentPrototype__proto.millisecond=momentPrototype__proto.milliseconds=getSetMillisecond;momentPrototype__proto.utcOffset=getSetOffset;momentPrototype__proto.utc=setOffsetToUTC;momentPrototype__proto.local=setOffsetToLocal;momentPrototype__proto.parseZone=setOffsetToParsedOffset;momentPrototype__proto.hasAlignedHourOffset=hasAlignedHourOffset;momentPrototype__proto.isDST=isDaylightSavingTime;momentPrototype__proto.isDSTShifted=isDaylightSavingTimeShifted;momentPrototype__proto.isLocal=isLocal;momentPrototype__proto.isUtcOffset=isUtcOffset;momentPrototype__proto.isUtc=isUtc;momentPrototype__proto.isUTC=isUtc;momentPrototype__proto.zoneAbbr=getZoneAbbr;momentPrototype__proto.zoneName=getZoneName;momentPrototype__proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth);momentPrototype__proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth);momentPrototype__proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear);momentPrototype__proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",getSetZone);var momentPrototype=momentPrototype__proto;function moment__createUnix(input){return local__createLocal(input*1e3)}function moment__createInZone(){return local__createLocal.apply(null,arguments).parseZone()}var defaultCalendar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function locale_calendar__calendar(key,mom,now){var output=this._calendar[key];return isFunction(output)?output.call(mom,now):output}var defaultLongDateFormat={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function longDateFormat(key){var format=this._longDateFormat[key],formatUpper=this._longDateFormat[key.toUpperCase()];if(format||!formatUpper){return format}this._longDateFormat[key]=formatUpper.replace(/MMMM|MM|DD|dddd/g,function(val){return val.slice(1)});return this._longDateFormat[key]}var defaultInvalidDate="Invalid date";function invalidDate(){return this._invalidDate}var defaultOrdinal="%d";var defaultOrdinalParse=/\d{1,2}/;function ordinal(number){return this._ordinal.replace("%d",number)}function preParsePostFormat(string){return string}var defaultRelativeTime={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function relative__relativeTime(number,withoutSuffix,string,isFuture){var output=this._relativeTime[string];return isFunction(output)?output(number,withoutSuffix,string,isFuture):output.replace(/%d/i,number)}function pastFuture(diff,output){var format=this._relativeTime[diff>0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)}function locale_set__set(config){var prop,i;for(i in config){prop=config[i];if(isFunction(prop)){this[i]=prop}else{this["_"+i]=prop}}this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}var prototype__proto=Locale.prototype;prototype__proto._calendar=defaultCalendar;prototype__proto.calendar=locale_calendar__calendar;prototype__proto._longDateFormat=defaultLongDateFormat;prototype__proto.longDateFormat=longDateFormat;prototype__proto._invalidDate=defaultInvalidDate;prototype__proto.invalidDate=invalidDate;prototype__proto._ordinal=defaultOrdinal;prototype__proto.ordinal=ordinal;prototype__proto._ordinalParse=defaultOrdinalParse;prototype__proto.preparse=preParsePostFormat;prototype__proto.postformat=preParsePostFormat;prototype__proto._relativeTime=defaultRelativeTime;prototype__proto.relativeTime=relative__relativeTime;prototype__proto.pastFuture=pastFuture;prototype__proto.set=locale_set__set;prototype__proto.months=localeMonths;prototype__proto._months=defaultLocaleMonths;prototype__proto.monthsShort=localeMonthsShort;prototype__proto._monthsShort=defaultLocaleMonthsShort;prototype__proto.monthsParse=localeMonthsParse;prototype__proto._monthsRegex=defaultMonthsRegex;prototype__proto.monthsRegex=monthsRegex;prototype__proto._monthsShortRegex=defaultMonthsShortRegex;prototype__proto.monthsShortRegex=monthsShortRegex;prototype__proto.week=localeWeek;prototype__proto._week=defaultLocaleWeek;prototype__proto.firstDayOfYear=localeFirstDayOfYear;prototype__proto.firstDayOfWeek=localeFirstDayOfWeek;prototype__proto.weekdays=localeWeekdays;prototype__proto._weekdays=defaultLocaleWeekdays;prototype__proto.weekdaysMin=localeWeekdaysMin;prototype__proto._weekdaysMin=defaultLocaleWeekdaysMin;prototype__proto.weekdaysShort=localeWeekdaysShort;prototype__proto._weekdaysShort=defaultLocaleWeekdaysShort;prototype__proto.weekdaysParse=localeWeekdaysParse;prototype__proto.isPM=localeIsPM;prototype__proto._meridiemParse=defaultLocaleMeridiemParse;prototype__proto.meridiem=localeMeridiem;function lists__get(format,index,field,setter){var locale=locale_locales__getLocale();var utc=create_utc__createUTC().set(setter,index);return locale[field](utc,format)}function list(format,index,field,count,setter){if(typeof format==="number"){index=format;format=undefined}format=format||"";if(index!=null){return lists__get(format,index,field,setter)}var i;var out=[];for(i=0;i=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0)){milliseconds+=absCeil(monthsToDays(months)+days)*864e5;days=0;months=0}data.milliseconds=milliseconds%1e3;seconds=absFloor(milliseconds/1e3);data.seconds=seconds%60;minutes=absFloor(seconds/60);data.minutes=minutes%60;hours=absFloor(minutes/60);data.hours=hours%24;days+=absFloor(hours/24);monthsFromDays=absFloor(daysToMonths(days));months+=monthsFromDays;days-=absCeil(monthsToDays(monthsFromDays));years=absFloor(months/12);months%=12;data.days=days;data.months=months;data.years=years;return this}function daysToMonths(days){return days*4800/146097}function monthsToDays(months){return months*146097/4800}function as(units){var days;var months;var milliseconds=this._milliseconds;units=normalizeUnits(units);if(units==="month"||units==="year"){days=this._days+milliseconds/864e5;months=this._months+daysToMonths(days);return units==="month"?months:months/12}else{days=this._days+Math.round(monthsToDays(this._months));switch(units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return days*24+milliseconds/36e5;case"minute":return days*1440+milliseconds/6e4;case"second":return days*86400+milliseconds/1e3;case"millisecond":return Math.floor(days*864e5)+milliseconds;default:throw new Error("Unknown unit "+units)}}}function duration_as__valueOf(){return this._milliseconds+this._days*864e5+this._months%12*2592e6+toInt(this._months/12)*31536e6}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms");var asSeconds=makeAs("s");var asMinutes=makeAs("m");var asHours=makeAs("h");var asDays=makeAs("d");var asWeeks=makeAs("w");var asMonths=makeAs("M");var asYears=makeAs("y");function duration_get__get(units){units=normalizeUnits(units);return this[units+"s"]()}function makeGetter(name){return function(){return this._data[name]}}var milliseconds=makeGetter("milliseconds");var seconds=makeGetter("seconds");var minutes=makeGetter("minutes");var hours=makeGetter("hours");var days=makeGetter("days");var months=makeGetter("months");var years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var round=Math.round;var thresholds={s:45,m:45,h:22,d:26,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}function duration_humanize__relativeTime(posNegDuration,withoutSuffix,locale){var duration=create__createDuration(posNegDuration).abs();var seconds=round(duration.as("s"));var minutes=round(duration.as("m"));var hours=round(duration.as("h"));var days=round(duration.as("d"));var months=round(duration.as("M"));var years=round(duration.as("y"));var a=seconds0;a[4]=locale;return substituteTimeAgo.apply(null,a)}function duration_humanize__getSetRelativeTimeThreshold(threshold,limit){if(thresholds[threshold]===undefined){return false}if(limit===undefined){return thresholds[threshold]}thresholds[threshold]=limit;return true}function humanize(withSuffix){var locale=this.localeData();var output=duration_humanize__relativeTime(this,!withSuffix,locale);if(withSuffix){output=locale.pastFuture(+this,output)}return locale.postformat(output)}var iso_string__abs=Math.abs;function iso_string__toISOString(){var seconds=iso_string__abs(this._milliseconds)/1e3;var days=iso_string__abs(this._days);var months=iso_string__abs(this._months);var minutes,hours,years;minutes=absFloor(seconds/60);hours=absFloor(minutes/60);seconds%=60;minutes%=60;years=absFloor(months/12);months%=12;var Y=years;var M=months;var D=days;var h=hours;var m=minutes;var s=seconds;var total=this.asSeconds();if(!total){return"P0D"}return(total<0?"-":"")+"P"+(Y?Y+"Y":"")+(M?M+"M":"")+(D?D+"D":"")+(h||m||s?"T":"")+(h?h+"H":"")+(m?m+"M":"")+(s?s+"S":"")}var duration_prototype__proto=Duration.prototype;duration_prototype__proto.abs=duration_abs__abs;duration_prototype__proto.add=duration_add_subtract__add;duration_prototype__proto.subtract=duration_add_subtract__subtract;duration_prototype__proto.as=as;duration_prototype__proto.asMilliseconds=asMilliseconds;duration_prototype__proto.asSeconds=asSeconds;duration_prototype__proto.asMinutes=asMinutes;duration_prototype__proto.asHours=asHours;duration_prototype__proto.asDays=asDays;duration_prototype__proto.asWeeks=asWeeks;duration_prototype__proto.asMonths=asMonths;duration_prototype__proto.asYears=asYears;duration_prototype__proto.valueOf=duration_as__valueOf;duration_prototype__proto._bubble=bubble;duration_prototype__proto.get=duration_get__get;duration_prototype__proto.milliseconds=milliseconds;duration_prototype__proto.seconds=seconds;duration_prototype__proto.minutes=minutes;duration_prototype__proto.hours=hours;duration_prototype__proto.days=days;duration_prototype__proto.weeks=weeks;duration_prototype__proto.months=months;duration_prototype__proto.years=years;duration_prototype__proto.humanize=humanize;duration_prototype__proto.toISOString=iso_string__toISOString;duration_prototype__proto.toString=iso_string__toISOString;duration_prototype__proto.toJSON=iso_string__toISOString;duration_prototype__proto.locale=locale;duration_prototype__proto.localeData=localeData;duration_prototype__proto.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",iso_string__toISOString);duration_prototype__proto.lang=lang;addFormatToken("X",0,0,"unix");addFormatToken("x",0,0,"valueOf");addRegexToken("x",matchSigned);addRegexToken("X",matchTimestamp);addParseToken("X",function(input,array,config){config._d=new Date(parseFloat(input,10)*1e3)});addParseToken("x",function(input,array,config){config._d=new Date(toInt(input))});utils_hooks__hooks.version="2.11.1";setHookCallback(local__createLocal);utils_hooks__hooks.fn=momentPrototype;utils_hooks__hooks.min=min;utils_hooks__hooks.max=max;utils_hooks__hooks.now=now;utils_hooks__hooks.utc=create_utc__createUTC;utils_hooks__hooks.unix=moment__createUnix;utils_hooks__hooks.months=lists__listMonths;utils_hooks__hooks.isDate=isDate;utils_hooks__hooks.locale=locale_locales__getSetGlobalLocale;utils_hooks__hooks.invalid=valid__createInvalid;utils_hooks__hooks.duration=create__createDuration;utils_hooks__hooks.isMoment=isMoment;utils_hooks__hooks.weekdays=lists__listWeekdays;utils_hooks__hooks.parseZone=moment__createInZone;utils_hooks__hooks.localeData=locale_locales__getLocale;utils_hooks__hooks.isDuration=isDuration;utils_hooks__hooks.monthsShort=lists__listMonthsShort;utils_hooks__hooks.weekdaysMin=lists__listWeekdaysMin;utils_hooks__hooks.defineLocale=defineLocale;utils_hooks__hooks.weekdaysShort=lists__listWeekdaysShort;utils_hooks__hooks.normalizeUnits=normalizeUnits;utils_hooks__hooks.relativeTimeThreshold=duration_humanize__getSetRelativeTimeThreshold;utils_hooks__hooks.prototype=momentPrototype;var _moment=utils_hooks__hooks;return _moment}); +},{}],12:[function(require,module,exports){"use strict";var hasOwnProperty=Object.prototype.hasOwnProperty;var propIsEnumerable=Object.prototype.propertyIsEnumerable;function toObject(val){if(val===null||val===undefined){throw new TypeError("Object.assign cannot be called with null or undefined")}return Object(val)}module.exports=Object.assign||function(target,source){var from;var to=toObject(target);var symbols;for(var s=1;s8&&documentMode<=11);function isPresto(){var opera=window.opera;return typeof opera==="object"&&typeof opera.version==="function"&&parseInt(opera.version(),10)<=12}var SPACEBAR_CODE=32;var SPACEBAR_CHAR=String.fromCharCode(SPACEBAR_CODE);var topLevelTypes=EventConstants.topLevelTypes;var eventTypes={beforeInput:{phasedRegistrationNames:{bubbled:keyOf({onBeforeInput:null}),captured:keyOf({onBeforeInputCapture:null})},dependencies:[topLevelTypes.topCompositionEnd,topLevelTypes.topKeyPress,topLevelTypes.topTextInput,topLevelTypes.topPaste]},compositionEnd:{phasedRegistrationNames:{bubbled:keyOf({onCompositionEnd:null}),captured:keyOf({onCompositionEndCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topCompositionEnd,topLevelTypes.topKeyDown,topLevelTypes.topKeyPress,topLevelTypes.topKeyUp,topLevelTypes.topMouseDown]},compositionStart:{phasedRegistrationNames:{bubbled:keyOf({onCompositionStart:null}),captured:keyOf({onCompositionStartCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topCompositionStart,topLevelTypes.topKeyDown,topLevelTypes.topKeyPress,topLevelTypes.topKeyUp,topLevelTypes.topMouseDown]},compositionUpdate:{phasedRegistrationNames:{bubbled:keyOf({onCompositionUpdate:null}),captured:keyOf({onCompositionUpdateCapture:null})},dependencies:[topLevelTypes.topBlur,topLevelTypes.topCompositionUpdate,topLevelTypes.topKeyDown,topLevelTypes.topKeyPress,topLevelTypes.topKeyUp,topLevelTypes.topMouseDown]}};var hasSpaceKeypress=false;function isKeypressCommand(nativeEvent){return(nativeEvent.ctrlKey||nativeEvent.altKey||nativeEvent.metaKey)&&!(nativeEvent.ctrlKey&&nativeEvent.altKey)}function getCompositionEventType(topLevelType){switch(topLevelType){case topLevelTypes.topCompositionStart:return eventTypes.compositionStart;case topLevelTypes.topCompositionEnd:return eventTypes.compositionEnd;case topLevelTypes.topCompositionUpdate:return eventTypes.compositionUpdate}}function isFallbackCompositionStart(topLevelType,nativeEvent){return topLevelType===topLevelTypes.topKeyDown&&nativeEvent.keyCode===START_KEYCODE}function isFallbackCompositionEnd(topLevelType,nativeEvent){switch(topLevelType){case topLevelTypes.topKeyUp:return END_KEYCODES.indexOf(nativeEvent.keyCode)!==-1;case topLevelTypes.topKeyDown:return nativeEvent.keyCode!==START_KEYCODE;case topLevelTypes.topKeyPress:case topLevelTypes.topMouseDown:case topLevelTypes.topBlur:return true;default:return false}}function getDataFromCustomEvent(nativeEvent){var detail=nativeEvent.detail;if(typeof detail==="object"&&"data"in detail){return detail.data}return null}var currentComposition=null;function extractCompositionEvent(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget){var eventType;var fallbackData;if(canUseCompositionEvent){eventType=getCompositionEventType(topLevelType)}else if(!currentComposition){if(isFallbackCompositionStart(topLevelType,nativeEvent)){eventType=eventTypes.compositionStart}}else if(isFallbackCompositionEnd(topLevelType,nativeEvent)){eventType=eventTypes.compositionEnd}if(!eventType){return null}if(useFallbackCompositionData){if(!currentComposition&&eventType===eventTypes.compositionStart){currentComposition=FallbackCompositionState.getPooled(topLevelTarget)}else if(eventType===eventTypes.compositionEnd){if(currentComposition){fallbackData=currentComposition.getData()}}}var event=SyntheticCompositionEvent.getPooled(eventType,topLevelTargetID,nativeEvent,nativeEventTarget);if(fallbackData){event.data=fallbackData}else{var customData=getDataFromCustomEvent(nativeEvent);if(customData!==null){event.data=customData}}EventPropagators.accumulateTwoPhaseDispatches(event);return event}function getNativeBeforeInputChars(topLevelType,nativeEvent){switch(topLevelType){case topLevelTypes.topCompositionEnd:return getDataFromCustomEvent(nativeEvent);case topLevelTypes.topKeyPress:var which=nativeEvent.which;if(which!==SPACEBAR_CODE){return null}hasSpaceKeypress=true;return SPACEBAR_CHAR;case topLevelTypes.topTextInput:var chars=nativeEvent.data;if(chars===SPACEBAR_CHAR&&hasSpaceKeypress){return null}return chars;default:return null}}function getFallbackBeforeInputChars(topLevelType,nativeEvent){if(currentComposition){if(topLevelType===topLevelTypes.topCompositionEnd||isFallbackCompositionEnd(topLevelType,nativeEvent)){var chars=currentComposition.getData();FallbackCompositionState.release(currentComposition);currentComposition=null;return chars}return null}switch(topLevelType){case topLevelTypes.topPaste:return null;case topLevelTypes.topKeyPress:if(nativeEvent.which&&!isKeypressCommand(nativeEvent)){return String.fromCharCode(nativeEvent.which)}return null;case topLevelTypes.topCompositionEnd:return useFallbackCompositionData?null:nativeEvent.data;default:return null}}function extractBeforeInputEvent(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget){var chars;if(canUseTextInputEvent){chars=getNativeBeforeInputChars(topLevelType,nativeEvent)}else{chars=getFallbackBeforeInputChars(topLevelType,nativeEvent)}if(!chars){return null}var event=SyntheticInputEvent.getPooled(eventTypes.beforeInput,topLevelTargetID,nativeEvent,nativeEventTarget);event.data=chars;EventPropagators.accumulateTwoPhaseDispatches(event);return event}var BeforeInputEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget){return[extractCompositionEvent(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget),extractBeforeInputEvent(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget)]}};module.exports=BeforeInputEventPlugin},{"./EventConstants":39,"./EventPropagators":43,"./FallbackCompositionState":44,"./SyntheticCompositionEvent":120,"./SyntheticInputEvent":124,"fbjs/lib/ExecutionEnvironment":161,"fbjs/lib/keyOf":179}],28:[function(require,module,exports){"use strict";var isUnitlessNumber={animationIterationCount:true,boxFlex:true,boxFlexGroup:true,boxOrdinalGroup:true,columnCount:true,flex:true,flexGrow:true,flexPositive:true,flexShrink:true,flexNegative:true,flexOrder:true,fontWeight:true,lineClamp:true,lineHeight:true,opacity:true,order:true,orphans:true,tabSize:true,widows:true,zIndex:true,zoom:true,fillOpacity:true,stopOpacity:true,strokeDashoffset:true,strokeOpacity:true,strokeWidth:true};function prefixKey(prefix,key){return prefix+key.charAt(0).toUpperCase()+key.substring(1)}var prefixes=["Webkit","ms","Moz","O"];Object.keys(isUnitlessNumber).forEach(function(prop){prefixes.forEach(function(prefix){isUnitlessNumber[prefixKey(prefix,prop)]=isUnitlessNumber[prop]})});var shorthandPropertyExpansions={background:{backgroundAttachment:true,backgroundColor:true,backgroundImage:true,backgroundPositionX:true,backgroundPositionY:true,backgroundRepeat:true},backgroundPosition:{backgroundPositionX:true,backgroundPositionY:true},border:{borderWidth:true,borderStyle:true,borderColor:true},borderBottom:{borderBottomWidth:true,borderBottomStyle:true,borderBottomColor:true},borderLeft:{borderLeftWidth:true,borderLeftStyle:true,borderLeftColor:true},borderRight:{borderRightWidth:true,borderRightStyle:true,borderRightColor:true},borderTop:{borderTopWidth:true,borderTopStyle:true,borderTopColor:true},font:{fontStyle:true,fontVariant:true,fontWeight:true,fontSize:true,lineHeight:true,fontFamily:true},outline:{outlineWidth:true,outlineStyle:true,outlineColor:true}};var CSSProperty={isUnitlessNumber:isUnitlessNumber,shorthandPropertyExpansions:shorthandPropertyExpansions};module.exports=CSSProperty},{}],29:[function(require,module,exports){(function(process){"use strict";var CSSProperty=require("./CSSProperty");var ExecutionEnvironment=require("fbjs/lib/ExecutionEnvironment");var ReactPerf=require("./ReactPerf");var camelizeStyleName=require("fbjs/lib/camelizeStyleName");var dangerousStyleValue=require("./dangerousStyleValue");var hyphenateStyleName=require("fbjs/lib/hyphenateStyleName");var memoizeStringOnly=require("fbjs/lib/memoizeStringOnly");var warning=require("fbjs/lib/warning");var processStyleName=memoizeStringOnly(function(styleName){return hyphenateStyleName(styleName)});var hasShorthandPropertyBug=false;var styleFloatAccessor="cssFloat";if(ExecutionEnvironment.canUseDOM){var tempStyle=document.createElement("div").style;try{tempStyle.font=""}catch(e){hasShorthandPropertyBug=true}if(document.documentElement.style.cssFloat===undefined){styleFloatAccessor="styleFloat"}}if(process.env.NODE_ENV!=="production"){var badVendoredStyleNamePattern=/^(?:webkit|moz|o)[A-Z]/;var badStyleValueWithSemicolonPattern=/;\s*$/;var warnedStyleNames={};var warnedStyleValues={};var warnHyphenatedStyleName=function(name){if(warnedStyleNames.hasOwnProperty(name)&&warnedStyleNames[name]){return}warnedStyleNames[name]=true;process.env.NODE_ENV!=="production"?warning(false,"Unsupported style property %s. Did you mean %s?",name,camelizeStyleName(name)):undefined};var warnBadVendoredStyleName=function(name){if(warnedStyleNames.hasOwnProperty(name)&&warnedStyleNames[name]){return}warnedStyleNames[name]=true;process.env.NODE_ENV!=="production"?warning(false,"Unsupported vendor-prefixed style property %s. Did you mean %s?",name,name.charAt(0).toUpperCase()+name.slice(1)):undefined};var warnStyleValueWithSemicolon=function(name,value){if(warnedStyleValues.hasOwnProperty(value)&&warnedStyleValues[value]){return}warnedStyleValues[value]=true;process.env.NODE_ENV!=="production"?warning(false,"Style property values shouldn't contain a semicolon. "+'Try "%s: %s" instead.',name,value.replace(badStyleValueWithSemicolonPattern,"")):undefined};var warnValidStyle=function(name,value){if(name.indexOf("-")>-1){warnHyphenatedStyleName(name)}else if(badVendoredStyleNamePattern.test(name)){warnBadVendoredStyleName(name)}else if(badStyleValueWithSemicolonPattern.test(value)){warnStyleValueWithSemicolon(name,value)}}}var CSSPropertyOperations={createMarkupForStyles:function(styles){var serialized="";for(var styleName in styles){if(!styles.hasOwnProperty(styleName)){continue}var styleValue=styles[styleName];if(process.env.NODE_ENV!=="production"){warnValidStyle(styleName,styleValue)}if(styleValue!=null){serialized+=processStyleName(styleName)+":";serialized+=dangerousStyleValue(styleName,styleValue)+";"}}return serialized||null},setValueForStyles:function(node,styles){var style=node.style;for(var styleName in styles){if(!styles.hasOwnProperty(styleName)){continue}if(process.env.NODE_ENV!=="production"){warnValidStyle(styleName,styles[styleName])}var styleValue=dangerousStyleValue(styleName,styles[styleName]);if(styleName==="float"){styleName=styleFloatAccessor}if(styleValue){style[styleName]=styleValue}else{var expansion=hasShorthandPropertyBug&&CSSProperty.shorthandPropertyExpansions[styleName];if(expansion){for(var individualStyleName in expansion){style[individualStyleName]=""}}else{style[styleName]=""}}}}};ReactPerf.measureMethods(CSSPropertyOperations,"CSSPropertyOperations",{setValueForStyles:"setValueForStyles"});module.exports=CSSPropertyOperations}).call(this,require("_process"))},{"./CSSProperty":28,"./ReactPerf":98,"./dangerousStyleValue":135,_process:2,"fbjs/lib/ExecutionEnvironment":161,"fbjs/lib/camelizeStyleName":163,"fbjs/lib/hyphenateStyleName":174,"fbjs/lib/memoizeStringOnly":181,"fbjs/lib/warning":186}],30:[function(require,module,exports){(function(process){"use strict";var PooledClass=require("./PooledClass");var assign=require("./Object.assign");var invariant=require("fbjs/lib/invariant");function CallbackQueue(){this._callbacks=null;this._contexts=null}assign(CallbackQueue.prototype,{enqueue:function(callback,context){this._callbacks=this._callbacks||[];this._contexts=this._contexts||[];this._callbacks.push(callback);this._contexts.push(context)},notifyAll:function(){var callbacks=this._callbacks; +var contexts=this._contexts;if(callbacks){!(callbacks.length===contexts.length)?process.env.NODE_ENV!=="production"?invariant(false,"Mismatched list of contexts in callback queue"):invariant(false):undefined;this._callbacks=null;this._contexts=null;for(var i=0;i8)}function manualDispatchChangeEvent(nativeEvent){var event=SyntheticEvent.getPooled(eventTypes.change,activeElementID,nativeEvent,getEventTarget(nativeEvent));EventPropagators.accumulateTwoPhaseDispatches(event);ReactUpdates.batchedUpdates(runEventInBatch,event)}function runEventInBatch(event){EventPluginHub.enqueueEvents(event);EventPluginHub.processEventQueue(false)}function startWatchingForChangeEventIE8(target,targetID){activeElement=target;activeElementID=targetID;activeElement.attachEvent("onchange",manualDispatchChangeEvent)}function stopWatchingForChangeEventIE8(){if(!activeElement){return}activeElement.detachEvent("onchange",manualDispatchChangeEvent);activeElement=null;activeElementID=null}function getTargetIDForChangeEvent(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topChange){return topLevelTargetID}}function handleEventsForChangeEventIE8(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topFocus){stopWatchingForChangeEventIE8();startWatchingForChangeEventIE8(topLevelTarget,topLevelTargetID)}else if(topLevelType===topLevelTypes.topBlur){stopWatchingForChangeEventIE8()}}var isInputEventSupported=false;if(ExecutionEnvironment.canUseDOM){isInputEventSupported=isEventSupported("input")&&(!("documentMode"in document)||document.documentMode>9)}var newValueProp={get:function(){return activeElementValueProp.get.call(this)},set:function(val){activeElementValue=""+val;activeElementValueProp.set.call(this,val)}};function startWatchingForValueChange(target,targetID){activeElement=target;activeElementID=targetID;activeElementValue=target.value;activeElementValueProp=Object.getOwnPropertyDescriptor(target.constructor.prototype,"value");Object.defineProperty(activeElement,"value",newValueProp);activeElement.attachEvent("onpropertychange",handlePropertyChange)}function stopWatchingForValueChange(){if(!activeElement){return}delete activeElement.value;activeElement.detachEvent("onpropertychange",handlePropertyChange);activeElement=null;activeElementID=null;activeElementValue=null;activeElementValueProp=null}function handlePropertyChange(nativeEvent){if(nativeEvent.propertyName!=="value"){return}var value=nativeEvent.srcElement.value;if(value===activeElementValue){return}activeElementValue=value;manualDispatchChangeEvent(nativeEvent)}function getTargetIDForInputEvent(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topInput){return topLevelTargetID}}function handleEventsForInputEventIE(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topFocus){stopWatchingForValueChange();startWatchingForValueChange(topLevelTarget,topLevelTargetID)}else if(topLevelType===topLevelTypes.topBlur){stopWatchingForValueChange()}}function getTargetIDForInputEventIE(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topSelectionChange||topLevelType===topLevelTypes.topKeyUp||topLevelType===topLevelTypes.topKeyDown){if(activeElement&&activeElement.value!==activeElementValue){activeElementValue=activeElement.value;return activeElementID}}}function shouldUseClickEvent(elem){return elem.nodeName&&elem.nodeName.toLowerCase()==="input"&&(elem.type==="checkbox"||elem.type==="radio")}function getTargetIDForClickEvent(topLevelType,topLevelTarget,topLevelTargetID){if(topLevelType===topLevelTypes.topClick){return topLevelTargetID}}var ChangeEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget){var getTargetIDFunc,handleEventFunc;if(shouldUseChangeEvent(topLevelTarget)){if(doesChangeEventBubble){getTargetIDFunc=getTargetIDForChangeEvent}else{handleEventFunc=handleEventsForChangeEventIE8}}else if(isTextInputElement(topLevelTarget)){if(isInputEventSupported){getTargetIDFunc=getTargetIDForInputEvent}else{getTargetIDFunc=getTargetIDForInputEventIE;handleEventFunc=handleEventsForInputEventIE}}else if(shouldUseClickEvent(topLevelTarget)){getTargetIDFunc=getTargetIDForClickEvent}if(getTargetIDFunc){var targetID=getTargetIDFunc(topLevelType,topLevelTarget,topLevelTargetID);if(targetID){var event=SyntheticEvent.getPooled(eventTypes.change,targetID,nativeEvent,nativeEventTarget);event.type="change";EventPropagators.accumulateTwoPhaseDispatches(event);return event}}if(handleEventFunc){handleEventFunc(topLevelType,topLevelTarget,topLevelTargetID)}}};module.exports=ChangeEventPlugin},{"./EventConstants":39,"./EventPluginHub":40,"./EventPropagators":43,"./ReactUpdates":113,"./SyntheticEvent":122,"./getEventTarget":144,"./isEventSupported":149,"./isTextInputElement":150,"fbjs/lib/ExecutionEnvironment":161,"fbjs/lib/keyOf":179}],32:[function(require,module,exports){"use strict";var nextReactRootIndex=0;var ClientReactRootIndex={createReactRootIndex:function(){return nextReactRootIndex++}};module.exports=ClientReactRootIndex},{}],33:[function(require,module,exports){(function(process){"use strict";var Danger=require("./Danger");var ReactMultiChildUpdateTypes=require("./ReactMultiChildUpdateTypes");var ReactPerf=require("./ReactPerf");var setInnerHTML=require("./setInnerHTML");var setTextContent=require("./setTextContent");var invariant=require("fbjs/lib/invariant");function insertChildAt(parentNode,childNode,index){var beforeChild=index>=parentNode.childNodes.length?null:parentNode.childNodes.item(index);parentNode.insertBefore(childNode,beforeChild)}var DOMChildrenOperations={dangerouslyReplaceNodeWithMarkup:Danger.dangerouslyReplaceNodeWithMarkup,updateTextContent:setTextContent,processUpdates:function(updates,markupList){var update;var initialChildren=null;var updatedChildren=null;for(var i=0;i when using tables, "+"nesting tags like
    ,

    , or , or using non-SVG elements "+"in an parent. Try inspecting the child nodes of the element "+"with React ID `%s`.",updatedIndex,parentID):invariant(false):undefined;initialChildren=initialChildren||{};initialChildren[parentID]=initialChildren[parentID]||[];initialChildren[parentID][updatedIndex]=updatedChild;updatedChildren=updatedChildren||[];updatedChildren.push(updatedChild)}}var renderedMarkup;if(markupList.length&&typeof markupList[0]==="string"){renderedMarkup=Danger.dangerouslyRenderMarkup(markupList)}else{renderedMarkup=markupList}if(updatedChildren){for(var j=0;j]+)/;var RESULT_INDEX_ATTR="data-danger-index";function getNodeName(markup){return markup.substring(1,markup.indexOf(" "))}var Danger={dangerouslyRenderMarkup:function(markupList){!ExecutionEnvironment.canUseDOM?process.env.NODE_ENV!=="production"?invariant(false,"dangerouslyRenderMarkup(...): Cannot render markup in a worker "+"thread. Make sure `window` and `document` are available globally "+"before requiring React when unit testing or use "+"ReactDOMServer.renderToString for server rendering."):invariant(false):undefined;var nodeName;var markupByNodeName={};for(var i=0;i node. This is because browser quirks make this unreliable "+"and/or slow. If you want to render to the root you must use "+"server rendering. See ReactDOMServer.renderToString()."):invariant(false):undefined;var newChild;if(typeof markup==="string"){newChild=createNodesFromMarkup(markup,emptyFunction)[0]}else{newChild=markup}oldChild.parentNode.replaceChild(newChild,oldChild)}};module.exports=Danger}).call(this,require("_process"))},{_process:2,"fbjs/lib/ExecutionEnvironment":161,"fbjs/lib/createNodesFromMarkup":166,"fbjs/lib/emptyFunction":167,"fbjs/lib/getMarkupWrap":171,"fbjs/lib/invariant":175}],37:[function(require,module,exports){"use strict";var keyOf=require("fbjs/lib/keyOf");var DefaultEventPluginOrder=[keyOf({ResponderEventPlugin:null}),keyOf({SimpleEventPlugin:null}),keyOf({TapEventPlugin:null}),keyOf({EnterLeaveEventPlugin:null}),keyOf({ChangeEventPlugin:null}),keyOf({SelectEventPlugin:null}),keyOf({BeforeInputEventPlugin:null})];module.exports=DefaultEventPluginOrder},{"fbjs/lib/keyOf":179}],38:[function(require,module,exports){"use strict";var EventConstants=require("./EventConstants");var EventPropagators=require("./EventPropagators");var SyntheticMouseEvent=require("./SyntheticMouseEvent");var ReactMount=require("./ReactMount");var keyOf=require("fbjs/lib/keyOf");var topLevelTypes=EventConstants.topLevelTypes;var getFirstReactDOM=ReactMount.getFirstReactDOM;var eventTypes={mouseEnter:{registrationName:keyOf({onMouseEnter:null}),dependencies:[topLevelTypes.topMouseOut,topLevelTypes.topMouseOver]},mouseLeave:{registrationName:keyOf({onMouseLeave:null}),dependencies:[topLevelTypes.topMouseOut,topLevelTypes.topMouseOver]}};var extractedEvents=[null,null];var EnterLeaveEventPlugin={eventTypes:eventTypes,extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget){if(topLevelType===topLevelTypes.topMouseOver&&(nativeEvent.relatedTarget||nativeEvent.fromElement)){return null}if(topLevelType!==topLevelTypes.topMouseOut&&topLevelType!==topLevelTypes.topMouseOver){return null}var win;if(topLevelTarget.window===topLevelTarget){win=topLevelTarget}else{var doc=topLevelTarget.ownerDocument;if(doc){win=doc.defaultView||doc.parentWindow}else{win=window}}var from;var to;var fromID="";var toID="";if(topLevelType===topLevelTypes.topMouseOut){from=topLevelTarget;fromID=topLevelTargetID;to=getFirstReactDOM(nativeEvent.relatedTarget||nativeEvent.toElement);if(to){toID=ReactMount.getID(to)}else{to=win}to=to||win}else{from=win;to=topLevelTarget;toID=topLevelTargetID}if(from===to){return null}var leave=SyntheticMouseEvent.getPooled(eventTypes.mouseLeave,fromID,nativeEvent,nativeEventTarget);leave.type="mouseleave";leave.target=from;leave.relatedTarget=to;var enter=SyntheticMouseEvent.getPooled(eventTypes.mouseEnter,toID,nativeEvent,nativeEventTarget);enter.type="mouseenter";enter.target=to;enter.relatedTarget=from;EventPropagators.accumulateEnterLeaveDispatches(leave,enter,fromID,toID);extractedEvents[0]=leave;extractedEvents[1]=enter;return extractedEvents}};module.exports=EnterLeaveEventPlugin},{"./EventConstants":39,"./EventPropagators":43,"./ReactMount":92,"./SyntheticMouseEvent":126,"fbjs/lib/keyOf":179}],39:[function(require,module,exports){"use strict";var keyMirror=require("fbjs/lib/keyMirror");var PropagationPhases=keyMirror({bubbled:null,captured:null});var topLevelTypes=keyMirror({topAbort:null,topBlur:null,topCanPlay:null,topCanPlayThrough:null,topChange:null,topClick:null,topCompositionEnd:null,topCompositionStart:null,topCompositionUpdate:null,topContextMenu:null,topCopy:null,topCut:null,topDoubleClick:null,topDrag:null,topDragEnd:null,topDragEnter:null,topDragExit:null,topDragLeave:null,topDragOver:null,topDragStart:null,topDrop:null,topDurationChange:null,topEmptied:null,topEncrypted:null,topEnded:null,topError:null,topFocus:null,topInput:null,topKeyDown:null,topKeyPress:null,topKeyUp:null,topLoad:null,topLoadedData:null,topLoadedMetadata:null,topLoadStart:null,topMouseDown:null,topMouseMove:null,topMouseOut:null,topMouseOver:null,topMouseUp:null,topPaste:null,topPause:null,topPlay:null,topPlaying:null,topProgress:null,topRateChange:null,topReset:null,topScroll:null,topSeeked:null,topSeeking:null,topSelectionChange:null,topStalled:null,topSubmit:null,topSuspend:null,topTextInput:null,topTimeUpdate:null,topTouchCancel:null,topTouchEnd:null,topTouchMove:null,topTouchStart:null,topVolumeChange:null,topWaiting:null,topWheel:null});var EventConstants={topLevelTypes:topLevelTypes,PropagationPhases:PropagationPhases};module.exports=EventConstants},{"fbjs/lib/keyMirror":178}],40:[function(require,module,exports){(function(process){"use strict";var EventPluginRegistry=require("./EventPluginRegistry");var EventPluginUtils=require("./EventPluginUtils");var ReactErrorUtils=require("./ReactErrorUtils");var accumulateInto=require("./accumulateInto");var forEachAccumulated=require("./forEachAccumulated");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");var listenerBank={};var eventQueue=null;var executeDispatchesAndRelease=function(event,simulated){if(event){EventPluginUtils.executeDispatchesInOrder(event,simulated);if(!event.isPersistent()){event.constructor.release(event)}}};var executeDispatchesAndReleaseSimulated=function(e){return executeDispatchesAndRelease(e,true)};var executeDispatchesAndReleaseTopLevel=function(e){return executeDispatchesAndRelease(e,false)};var InstanceHandle=null;function validateInstanceHandle(){var valid=InstanceHandle&&InstanceHandle.traverseTwoPhase&&InstanceHandle.traverseEnterLeave;process.env.NODE_ENV!=="production"?warning(valid,"InstanceHandle not injected before use!"):undefined}var EventPluginHub={injection:{injectMount:EventPluginUtils.injection.injectMount,injectInstanceHandle:function(InjectedInstanceHandle){InstanceHandle=InjectedInstanceHandle;if(process.env.NODE_ENV!=="production"){validateInstanceHandle()}},getInstanceHandle:function(){if(process.env.NODE_ENV!=="production"){validateInstanceHandle()}return InstanceHandle},injectEventPluginOrder:EventPluginRegistry.injectEventPluginOrder,injectEventPluginsByName:EventPluginRegistry.injectEventPluginsByName},eventNameDispatchConfigs:EventPluginRegistry.eventNameDispatchConfigs,registrationNameModules:EventPluginRegistry.registrationNameModules,putListener:function(id,registrationName,listener){!(typeof listener==="function")?process.env.NODE_ENV!=="production"?invariant(false,"Expected %s listener to be a function, instead got type %s",registrationName,typeof listener):invariant(false):undefined;var bankForRegistrationName=listenerBank[registrationName]||(listenerBank[registrationName]={});bankForRegistrationName[id]=listener;var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];if(PluginModule&&PluginModule.didPutListener){PluginModule.didPutListener(id,registrationName,listener)}},getListener:function(id,registrationName){var bankForRegistrationName=listenerBank[registrationName];return bankForRegistrationName&&bankForRegistrationName[id]},deleteListener:function(id,registrationName){var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];if(PluginModule&&PluginModule.willDeleteListener){PluginModule.willDeleteListener(id,registrationName)}var bankForRegistrationName=listenerBank[registrationName];if(bankForRegistrationName){delete bankForRegistrationName[id]}},deleteAllListeners:function(id){for(var registrationName in listenerBank){if(!listenerBank[registrationName][id]){continue}var PluginModule=EventPluginRegistry.registrationNameModules[registrationName];if(PluginModule&&PluginModule.willDeleteListener){PluginModule.willDeleteListener(id,registrationName)}delete listenerBank[registrationName][id]}},extractEvents:function(topLevelType,topLevelTarget,topLevelTargetID,nativeEvent,nativeEventTarget){var events;var plugins=EventPluginRegistry.plugins;for(var i=0;i-1)?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginRegistry: Cannot inject event plugins that do not exist in "+"the plugin ordering, `%s`.",pluginName):invariant(false):undefined;if(EventPluginRegistry.plugins[pluginIndex]){continue}!PluginModule.extractEvents?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginRegistry: Event plugins must implement an `extractEvents` "+"method, but `%s` does not.",pluginName):invariant(false):undefined;EventPluginRegistry.plugins[pluginIndex]=PluginModule;var publishedEvents=PluginModule.eventTypes;for(var eventName in publishedEvents){!publishEventForPlugin(publishedEvents[eventName],PluginModule,eventName)?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.",eventName,pluginName):invariant(false):undefined}}}function publishEventForPlugin(dispatchConfig,PluginModule,eventName){!!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName)?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginHub: More than one plugin attempted to publish the same "+"event name, `%s`.",eventName):invariant(false):undefined;EventPluginRegistry.eventNameDispatchConfigs[eventName]=dispatchConfig;var phasedRegistrationNames=dispatchConfig.phasedRegistrationNames;if(phasedRegistrationNames){for(var phaseName in phasedRegistrationNames){if(phasedRegistrationNames.hasOwnProperty(phaseName)){var phasedRegistrationName=phasedRegistrationNames[phaseName];publishRegistrationName(phasedRegistrationName,PluginModule,eventName)}}return true}else if(dispatchConfig.registrationName){publishRegistrationName(dispatchConfig.registrationName,PluginModule,eventName);return true}return false}function publishRegistrationName(registrationName,PluginModule,eventName){!!EventPluginRegistry.registrationNameModules[registrationName]?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginHub: More than one plugin attempted to publish the same "+"registration name, `%s`.",registrationName):invariant(false):undefined;EventPluginRegistry.registrationNameModules[registrationName]=PluginModule;EventPluginRegistry.registrationNameDependencies[registrationName]=PluginModule.eventTypes[eventName].dependencies}var EventPluginRegistry={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},injectEventPluginOrder:function(InjectedEventPluginOrder){!!EventPluginOrder?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginRegistry: Cannot inject event plugin ordering more than "+"once. You are likely trying to load more than one copy of React."):invariant(false):undefined;EventPluginOrder=Array.prototype.slice.call(InjectedEventPluginOrder);recomputePluginOrdering()},injectEventPluginsByName:function(injectedNamesToPlugins){var isOrderingDirty=false;for(var pluginName in injectedNamesToPlugins){if(!injectedNamesToPlugins.hasOwnProperty(pluginName)){continue}var PluginModule=injectedNamesToPlugins[pluginName];if(!namesToPlugins.hasOwnProperty(pluginName)||namesToPlugins[pluginName]!==PluginModule){!!namesToPlugins[pluginName]?process.env.NODE_ENV!=="production"?invariant(false,"EventPluginRegistry: Cannot inject two different event plugins "+"using the same name, `%s`.",pluginName):invariant(false):undefined;namesToPlugins[pluginName]=PluginModule;isOrderingDirty=true}}if(isOrderingDirty){recomputePluginOrdering()}},getPluginModuleForEvent:function(event){var dispatchConfig=event.dispatchConfig;if(dispatchConfig.registrationName){return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName]||null}for(var phase in dispatchConfig.phasedRegistrationNames){if(!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)){continue}var PluginModule=EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];if(PluginModule){return PluginModule}}return null},_resetEventPlugins:function(){EventPluginOrder=null;for(var pluginName in namesToPlugins){if(namesToPlugins.hasOwnProperty(pluginName)){delete namesToPlugins[pluginName]}}EventPluginRegistry.plugins.length=0;var eventNameDispatchConfigs=EventPluginRegistry.eventNameDispatchConfigs;for(var eventName in eventNameDispatchConfigs){if(eventNameDispatchConfigs.hasOwnProperty(eventName)){delete eventNameDispatchConfigs[eventName]}}var registrationNameModules=EventPluginRegistry.registrationNameModules;for(var registrationName in registrationNameModules){if(registrationNameModules.hasOwnProperty(registrationName)){delete registrationNameModules[registrationName]}}}};module.exports=EventPluginRegistry}).call(this,require("_process"))},{_process:2,"fbjs/lib/invariant":175}],42:[function(require,module,exports){(function(process){"use strict";var EventConstants=require("./EventConstants");var ReactErrorUtils=require("./ReactErrorUtils");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");var injection={Mount:null,injectMount:function(InjectedMount){injection.Mount=InjectedMount;if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(InjectedMount&&InjectedMount.getNode&&InjectedMount.getID,"EventPluginUtils.injection.injectMount(...): Injected Mount "+"module is missing getNode or getID."):undefined}}};var topLevelTypes=EventConstants.topLevelTypes;function isEndish(topLevelType){return topLevelType===topLevelTypes.topMouseUp||topLevelType===topLevelTypes.topTouchEnd||topLevelType===topLevelTypes.topTouchCancel}function isMoveish(topLevelType){return topLevelType===topLevelTypes.topMouseMove||topLevelType===topLevelTypes.topTouchMove}function isStartish(topLevelType){return topLevelType===topLevelTypes.topMouseDown||topLevelType===topLevelTypes.topTouchStart}var validateEventDispatches;if(process.env.NODE_ENV!=="production"){validateEventDispatches=function(event){var dispatchListeners=event._dispatchListeners;var dispatchIDs=event._dispatchIDs;var listenersIsArr=Array.isArray(dispatchListeners);var idsIsArr=Array.isArray(dispatchIDs);var IDsLen=idsIsArr?dispatchIDs.length:dispatchIDs?1:0;var listenersLen=listenersIsArr?dispatchListeners.length:dispatchListeners?1:0;process.env.NODE_ENV!=="production"?warning(idsIsArr===listenersIsArr&&IDsLen===listenersLen,"EventPluginUtils: Invalid `event`."):undefined}}function executeDispatch(event,simulated,listener,domID){var type=event.type||"unknown-event";event.currentTarget=injection.Mount.getNode(domID);if(simulated){ReactErrorUtils.invokeGuardedCallbackWithCatch(type,listener,event,domID)}else{ReactErrorUtils.invokeGuardedCallback(type,listener,event,domID)}event.currentTarget=null}function executeDispatchesInOrder(event,simulated){var dispatchListeners=event._dispatchListeners;var dispatchIDs=event._dispatchIDs;if(process.env.NODE_ENV!=="production"){validateEventDispatches(event)}if(Array.isArray(dispatchListeners)){for(var i=0;i1?1-end:undefined;this._fallbackText=endValue.slice(start,sliceTail);return this._fallbackText}});PooledClass.addPoolingTo(FallbackCompositionState);module.exports=FallbackCompositionState},{"./Object.assign":47,"./PooledClass":48,"./getTextContentAccessor":147}],45:[function(require,module,exports){"use strict";var DOMProperty=require("./DOMProperty");var ExecutionEnvironment=require("fbjs/lib/ExecutionEnvironment");var MUST_USE_ATTRIBUTE=DOMProperty.injection.MUST_USE_ATTRIBUTE;var MUST_USE_PROPERTY=DOMProperty.injection.MUST_USE_PROPERTY;var HAS_BOOLEAN_VALUE=DOMProperty.injection.HAS_BOOLEAN_VALUE;var HAS_SIDE_EFFECTS=DOMProperty.injection.HAS_SIDE_EFFECTS;var HAS_NUMERIC_VALUE=DOMProperty.injection.HAS_NUMERIC_VALUE;var HAS_POSITIVE_NUMERIC_VALUE=DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;var HAS_OVERLOADED_BOOLEAN_VALUE=DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;var hasSVG;if(ExecutionEnvironment.canUseDOM){var implementation=document.implementation;hasSVG=implementation&&implementation.hasFeature&&implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")}var HTMLDOMPropertyConfig={isCustomAttribute:RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/),Properties:{accept:null,acceptCharset:null,accessKey:null,action:null,allowFullScreen:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,allowTransparency:MUST_USE_ATTRIBUTE,alt:null,async:HAS_BOOLEAN_VALUE,autoComplete:null,autoPlay:HAS_BOOLEAN_VALUE,capture:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,cellPadding:null,cellSpacing:null,charSet:MUST_USE_ATTRIBUTE,challenge:MUST_USE_ATTRIBUTE,checked:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,classID:MUST_USE_ATTRIBUTE,className:hasSVG?MUST_USE_ATTRIBUTE:MUST_USE_PROPERTY,cols:MUST_USE_ATTRIBUTE|HAS_POSITIVE_NUMERIC_VALUE,colSpan:null,content:null,contentEditable:null,contextMenu:MUST_USE_ATTRIBUTE,controls:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,coords:null,crossOrigin:null,data:null,dateTime:MUST_USE_ATTRIBUTE,"default":HAS_BOOLEAN_VALUE,defer:HAS_BOOLEAN_VALUE,dir:null,disabled:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,download:HAS_OVERLOADED_BOOLEAN_VALUE,draggable:null,encType:null,form:MUST_USE_ATTRIBUTE,formAction:MUST_USE_ATTRIBUTE,formEncType:MUST_USE_ATTRIBUTE,formMethod:MUST_USE_ATTRIBUTE,formNoValidate:HAS_BOOLEAN_VALUE,formTarget:MUST_USE_ATTRIBUTE,frameBorder:MUST_USE_ATTRIBUTE,headers:null,height:MUST_USE_ATTRIBUTE,hidden:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,high:null,href:null,hrefLang:null,htmlFor:null,httpEquiv:null,icon:null,id:MUST_USE_PROPERTY,inputMode:MUST_USE_ATTRIBUTE,integrity:null,is:MUST_USE_ATTRIBUTE,keyParams:MUST_USE_ATTRIBUTE,keyType:MUST_USE_ATTRIBUTE,kind:null,label:null,lang:null,list:MUST_USE_ATTRIBUTE,loop:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,low:null,manifest:MUST_USE_ATTRIBUTE,marginHeight:null,marginWidth:null,max:null,maxLength:MUST_USE_ATTRIBUTE,media:MUST_USE_ATTRIBUTE,mediaGroup:null,method:null,min:null,minLength:MUST_USE_ATTRIBUTE,multiple:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,muted:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,name:null,nonce:MUST_USE_ATTRIBUTE,noValidate:HAS_BOOLEAN_VALUE,open:HAS_BOOLEAN_VALUE,optimum:null,pattern:null,placeholder:null,poster:null,preload:null,radioGroup:null,readOnly:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,rel:null,required:HAS_BOOLEAN_VALUE,reversed:HAS_BOOLEAN_VALUE,role:MUST_USE_ATTRIBUTE,rows:MUST_USE_ATTRIBUTE|HAS_POSITIVE_NUMERIC_VALUE,rowSpan:null,sandbox:null,scope:null,scoped:HAS_BOOLEAN_VALUE,scrolling:null,seamless:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,selected:MUST_USE_PROPERTY|HAS_BOOLEAN_VALUE,shape:null,size:MUST_USE_ATTRIBUTE|HAS_POSITIVE_NUMERIC_VALUE,sizes:MUST_USE_ATTRIBUTE,span:HAS_POSITIVE_NUMERIC_VALUE,spellCheck:null,src:null,srcDoc:MUST_USE_PROPERTY,srcLang:null,srcSet:MUST_USE_ATTRIBUTE,start:HAS_NUMERIC_VALUE,step:null,style:null,summary:null,tabIndex:null,target:null,title:null,type:null,useMap:null,value:MUST_USE_PROPERTY|HAS_SIDE_EFFECTS,width:MUST_USE_ATTRIBUTE,wmode:MUST_USE_ATTRIBUTE,wrap:null,about:MUST_USE_ATTRIBUTE,datatype:MUST_USE_ATTRIBUTE,inlist:MUST_USE_ATTRIBUTE,prefix:MUST_USE_ATTRIBUTE,property:MUST_USE_ATTRIBUTE,resource:MUST_USE_ATTRIBUTE,"typeof":MUST_USE_ATTRIBUTE,vocab:MUST_USE_ATTRIBUTE,autoCapitalize:MUST_USE_ATTRIBUTE,autoCorrect:MUST_USE_ATTRIBUTE,autoSave:null,color:null,itemProp:MUST_USE_ATTRIBUTE,itemScope:MUST_USE_ATTRIBUTE|HAS_BOOLEAN_VALUE,itemType:MUST_USE_ATTRIBUTE,itemID:MUST_USE_ATTRIBUTE,itemRef:MUST_USE_ATTRIBUTE,results:null,security:MUST_USE_ATTRIBUTE,unselectable:MUST_USE_ATTRIBUTE},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",autoSave:"autosave",encType:"encoding",hrefLang:"hreflang",radioGroup:"radiogroup",spellCheck:"spellcheck",srcDoc:"srcdoc",srcSet:"srcset"}};module.exports=HTMLDOMPropertyConfig},{"./DOMProperty":34,"fbjs/lib/ExecutionEnvironment":161}],46:[function(require,module,exports){(function(process){"use strict";var ReactPropTypes=require("./ReactPropTypes");var ReactPropTypeLocations=require("./ReactPropTypeLocations");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");var hasReadOnlyValue={button:true,checkbox:true,image:true,hidden:true,radio:true,reset:true,submit:true};function _assertSingleLink(inputProps){!(inputProps.checkedLink==null||inputProps.valueLink==null)?process.env.NODE_ENV!=="production"?invariant(false,"Cannot provide a checkedLink and a valueLink. If you want to use "+"checkedLink, you probably don't want to use valueLink and vice versa."):invariant(false):undefined}function _assertValueLink(inputProps){_assertSingleLink(inputProps);!(inputProps.value==null&&inputProps.onChange==null)?process.env.NODE_ENV!=="production"?invariant(false,"Cannot provide a valueLink and a value or onChange event. If you want "+"to use value or onChange, you probably don't want to use valueLink."):invariant(false):undefined}function _assertCheckedLink(inputProps){_assertSingleLink(inputProps);!(inputProps.checked==null&&inputProps.onChange==null)?process.env.NODE_ENV!=="production"?invariant(false,"Cannot provide a checkedLink and a checked property or onChange event. "+"If you want to use checked or onChange, you probably don't want to "+"use checkedLink"):invariant(false):undefined}var propTypes={value:function(props,propName,componentName){if(!props[propName]||hasReadOnlyValue[props.type]||props.onChange||props.readOnly||props.disabled){return null}return new Error("You provided a `value` prop to a form field without an "+"`onChange` handler. This will render a read-only field. If "+"the field should be mutable use `defaultValue`. Otherwise, "+"set either `onChange` or `readOnly`.")},checked:function(props,propName,componentName){if(!props[propName]||props.onChange||props.readOnly||props.disabled){return null}return new Error("You provided a `checked` prop to a form field without an "+"`onChange` handler. This will render a read-only field. If "+"the field should be mutable use `defaultChecked`. Otherwise, "+"set either `onChange` or `readOnly`.")},onChange:ReactPropTypes.func};var loggedTypeFailures={};function getDeclarationErrorAddendum(owner){if(owner){var name=owner.getName();if(name){return" Check the render method of `"+name+"`."}}return""}var LinkedValueUtils={checkPropTypes:function(tagName,props,owner){for(var propName in propTypes){if(propTypes.hasOwnProperty(propName)){var error=propTypes[propName](props,propName,tagName,ReactPropTypeLocations.prop)}if(error instanceof Error&&!(error.message in loggedTypeFailures)){loggedTypeFailures[error.message]=true;var addendum=getDeclarationErrorAddendum(owner);process.env.NODE_ENV!=="production"?warning(false,"Failed form propType: %s%s",error.message,addendum):undefined}}},getValue:function(inputProps){if(inputProps.valueLink){_assertValueLink(inputProps);return inputProps.valueLink.value}return inputProps.value},getChecked:function(inputProps){if(inputProps.checkedLink){_assertCheckedLink(inputProps);return inputProps.checkedLink.value}return inputProps.checked},executeOnChange:function(inputProps,event){if(inputProps.valueLink){_assertValueLink(inputProps);return inputProps.valueLink.requestChange(event.target.value)}else if(inputProps.checkedLink){_assertCheckedLink(inputProps);return inputProps.checkedLink.requestChange(event.target.checked)}else if(inputProps.onChange){return inputProps.onChange.call(undefined,event)}}};module.exports=LinkedValueUtils}).call(this,require("_process"))},{"./ReactPropTypeLocations":100,"./ReactPropTypes":101,_process:2,"fbjs/lib/invariant":175,"fbjs/lib/warning":186}],47:[function(require,module,exports){"use strict";function assign(target,sources){if(target==null){throw new TypeError("Object.assign target cannot be null or undefined")}var to=Object(target);var hasOwnProperty=Object.prototype.hasOwnProperty;for(var nextIndex=1;nextIndex1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}if(newThis!==component&&newThis!==null){process.env.NODE_ENV!=="production"?warning(false,"bind(): React component methods may only be bound to the "+"component instance. See %s",componentName):undefined}else if(!args.length){process.env.NODE_ENV!=="production"?warning(false,"bind(): You are binding a component method to the component. "+"React does this for you automatically in a high-performance "+"way, so you can safely remove this call. See %s",componentName):undefined;return boundMethod}var reboundMethod=_bind.apply(boundMethod,arguments);reboundMethod.__reactBoundContext=component;reboundMethod.__reactBoundMethod=method;reboundMethod.__reactBoundArguments=args;return reboundMethod}}return boundMethod}function bindAutoBindMethods(component){for(var autoBindKey in component.__reactAutoBindMap){if(component.__reactAutoBindMap.hasOwnProperty(autoBindKey)){var method=component.__reactAutoBindMap[autoBindKey];component[autoBindKey]=bindAutoBindMethod(component,method)}}}var ReactClassMixin={replaceState:function(newState,callback){this.updater.enqueueReplaceState(this,newState);if(callback){this.updater.enqueueCallback(this,callback)}},isMounted:function(){return this.updater.isMounted(this)},setProps:function(partialProps,callback){if(process.env.NODE_ENV!=="production"){warnSetProps()}this.updater.enqueueSetProps(this,partialProps);if(callback){this.updater.enqueueCallback(this,callback)}},replaceProps:function(newProps,callback){if(process.env.NODE_ENV!=="production"){warnSetProps()}this.updater.enqueueReplaceProps(this,newProps);if(callback){this.updater.enqueueCallback(this,callback)}}};var ReactClassComponent=function(){};assign(ReactClassComponent.prototype,ReactComponent.prototype,ReactClassMixin);var ReactClass={createClass:function(spec){var Constructor=function(props,context,updater){if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(this instanceof Constructor,"Something is calling a React component directly. Use a factory or "+"JSX instead. See: https://fb.me/react-legacyfactory"):undefined}if(this.__reactAutoBindMap){bindAutoBindMethods(this)}this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue;this.state=null;var initialState=this.getInitialState?this.getInitialState():null;if(process.env.NODE_ENV!=="production"){if(typeof initialState==="undefined"&&this.getInitialState._isMockFunction){initialState=null}}!(typeof initialState==="object"&&!Array.isArray(initialState))?process.env.NODE_ENV!=="production"?invariant(false,"%s.getInitialState(): must return an object or null",Constructor.displayName||"ReactCompositeComponent"):invariant(false):undefined;this.state=initialState};Constructor.prototype=new ReactClassComponent;Constructor.prototype.constructor=Constructor;injectedMixins.forEach(mixSpecIntoComponent.bind(null,Constructor));mixSpecIntoComponent(Constructor,spec);if(Constructor.getDefaultProps){Constructor.defaultProps=Constructor.getDefaultProps()}if(process.env.NODE_ENV!=="production"){if(Constructor.getDefaultProps){Constructor.getDefaultProps.isReactClassApproved={}}if(Constructor.prototype.getInitialState){Constructor.prototype.getInitialState.isReactClassApproved={}}}!Constructor.prototype.render?process.env.NODE_ENV!=="production"?invariant(false,"createClass(...): Class specification must implement a `render` method."):invariant(false):undefined;if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(!Constructor.prototype.componentShouldUpdate,"%s has a method called "+"componentShouldUpdate(). Did you mean shouldComponentUpdate()? "+"The name is phrased as a question because the function is "+"expected to return a value.",spec.displayName||"A component"):undefined;process.env.NODE_ENV!=="production"?warning(!Constructor.prototype.componentWillRecieveProps,"%s has a method called "+"componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",spec.displayName||"A component"):undefined}for(var methodName in ReactClassInterface){if(!Constructor.prototype[methodName]){Constructor.prototype[methodName]=null}}return Constructor},injection:{injectMixin:function(mixin){injectedMixins.push(mixin)}}};module.exports=ReactClass}).call(this,require("_process"))},{"./Object.assign":47,"./ReactComponent":57,"./ReactElement":79,"./ReactNoopUpdateQueue":96,"./ReactPropTypeLocationNames":99,"./ReactPropTypeLocations":100,_process:2,"fbjs/lib/emptyObject":168,"fbjs/lib/invariant":175,"fbjs/lib/keyMirror":178,"fbjs/lib/keyOf":179,"fbjs/lib/warning":186}],57:[function(require,module,exports){(function(process){"use strict";var ReactNoopUpdateQueue=require("./ReactNoopUpdateQueue");var canDefineProperty=require("./canDefineProperty");var emptyObject=require("fbjs/lib/emptyObject");var invariant=require("fbjs/lib/invariant");var warning=require("fbjs/lib/warning");function ReactComponent(props,context,updater){this.props=props;this.context=context;this.refs=emptyObject;this.updater=updater||ReactNoopUpdateQueue}ReactComponent.prototype.isReactComponent={};ReactComponent.prototype.setState=function(partialState,callback){!(typeof partialState==="object"||typeof partialState==="function"||partialState==null)?process.env.NODE_ENV!=="production"?invariant(false,"setState(...): takes an object of state variables to update or a "+"function which returns an object of state variables."):invariant(false):undefined;if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(partialState!=null,"setState(...): You passed an undefined or null state object; "+"instead, use forceUpdate()."):undefined}this.updater.enqueueSetState(this,partialState);if(callback){this.updater.enqueueCallback(this,callback)}};ReactComponent.prototype.forceUpdate=function(callback){this.updater.enqueueForceUpdate(this);if(callback){this.updater.enqueueCallback(this,callback)}};if(process.env.NODE_ENV!=="production"){var deprecatedAPIs={getDOMNode:["getDOMNode","Use ReactDOM.findDOMNode(component) instead."],isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in "+"componentWillUnmount to prevent memory leaks."],replaceProps:["replaceProps","Instead, call render again at the top level."],replaceState:["replaceState","Refactor your code to use setState instead (see "+"https://github.com/facebook/react/issues/3236)."],setProps:["setProps","Instead, call render again at the top level."]};var defineDeprecationWarning=function(methodName,info){if(canDefineProperty){Object.defineProperty(ReactComponent.prototype,methodName,{get:function(){process.env.NODE_ENV!=="production"?warning(false,"%s(...) is deprecated in plain JavaScript React classes. %s",info[0],info[1]):undefined;return undefined}})}};for(var fnName in deprecatedAPIs){if(deprecatedAPIs.hasOwnProperty(fnName)){defineDeprecationWarning(fnName,deprecatedAPIs[fnName])}}}module.exports=ReactComponent}).call(this,require("_process"))},{"./ReactNoopUpdateQueue":96,"./canDefineProperty":134,_process:2,"fbjs/lib/emptyObject":168,"fbjs/lib/invariant":175,"fbjs/lib/warning":186}],58:[function(require,module,exports){"use strict";var ReactDOMIDOperations=require("./ReactDOMIDOperations");var ReactMount=require("./ReactMount");var ReactComponentBrowserEnvironment={processChildrenUpdates:ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkupByID:ReactDOMIDOperations.dangerouslyReplaceNodeWithMarkupByID,unmountIDFromEnvironment:function(rootNodeID){ReactMount.purgeID(rootNodeID)}};module.exports=ReactComponentBrowserEnvironment},{"./ReactDOMIDOperations":67,"./ReactMount":92}],59:[function(require,module,exports){(function(process){"use strict";var invariant=require("fbjs/lib/invariant");var injected=false;var ReactComponentEnvironment={unmountIDFromEnvironment:null,replaceNodeWithMarkupByID:null,processChildrenUpdates:null,injection:{injectEnvironment:function(environment){!!injected?process.env.NODE_ENV!=="production"?invariant(false,"ReactCompositeComponent: injectEnvironment() can only be called once."):invariant(false):undefined;ReactComponentEnvironment.unmountIDFromEnvironment=environment.unmountIDFromEnvironment;ReactComponentEnvironment.replaceNodeWithMarkupByID=environment.replaceNodeWithMarkupByID;ReactComponentEnvironment.processChildrenUpdates=environment.processChildrenUpdates;injected=true}}};module.exports=ReactComponentEnvironment}).call(this,require("_process"))},{_process:2,"fbjs/lib/invariant":175}],60:[function(require,module,exports){(function(process){"use strict";var ReactComponentEnvironment=require("./ReactComponentEnvironment");var ReactCurrentOwner=require("./ReactCurrentOwner");var ReactElement=require("./ReactElement");var ReactInstanceMap=require("./ReactInstanceMap");var ReactPerf=require("./ReactPerf");var ReactPropTypeLocations=require("./ReactPropTypeLocations");var ReactPropTypeLocationNames=require("./ReactPropTypeLocationNames");var ReactReconciler=require("./ReactReconciler");var ReactUpdateQueue=require("./ReactUpdateQueue");var assign=require("./Object.assign");var emptyObject=require("fbjs/lib/emptyObject");var invariant=require("fbjs/lib/invariant");var shouldUpdateReactComponent=require("./shouldUpdateReactComponent");var warning=require("fbjs/lib/warning");function getDeclarationErrorAddendum(component){var owner=component._currentElement._owner||null;if(owner){var name=owner.getName();if(name){return" Check the render method of `"+name+"`."}}return""}function StatelessComponent(Component){}StatelessComponent.prototype.render=function(){var Component=ReactInstanceMap.get(this)._currentElement.type;return Component(this.props,this.context,this.updater)};var nextMountID=1;var ReactCompositeComponentMixin={construct:function(element){this._currentElement=element;this._rootNodeID=null;this._instance=null;this._pendingElement=null;this._pendingStateQueue=null;this._pendingReplaceState=false;this._pendingForceUpdate=false;this._renderedComponent=null;this._context=null;this._mountOrder=0;this._topLevelWrapper=null;this._pendingCallbacks=null},mountComponent:function(rootID,transaction,context){this._context=context;this._mountOrder=nextMountID++;this._rootNodeID=rootID;var publicProps=this._processProps(this._currentElement.props);var publicContext=this._processContext(context);var Component=this._currentElement.type;var inst;var renderedElement;var canInstantiate="prototype"in Component;if(canInstantiate){if(process.env.NODE_ENV!=="production"){ReactCurrentOwner.current=this;try{inst=new Component(publicProps,publicContext,ReactUpdateQueue)}finally{ReactCurrentOwner.current=null}}else{inst=new Component(publicProps,publicContext,ReactUpdateQueue)}}if(!canInstantiate||inst===null||inst===false||ReactElement.isValidElement(inst)){renderedElement=inst;inst=new StatelessComponent(Component)}if(process.env.NODE_ENV!=="production"){if(inst.render==null){process.env.NODE_ENV!=="production"?warning(false,"%s(...): No `render` method found on the returned component "+"instance: you may have forgotten to define `render`, returned "+"null/false from a stateless component, or tried to render an "+"element whose type is a function that isn't a React component.",Component.displayName||Component.name||"Component"):undefined}else{process.env.NODE_ENV!=="production"?warning(Component.prototype&&Component.prototype.isReactComponent||!canInstantiate||!(inst instanceof Component),"%s(...): React component classes must extend React.Component.",Component.displayName||Component.name||"Component"):undefined}}inst.props=publicProps;inst.context=publicContext;inst.refs=emptyObject;inst.updater=ReactUpdateQueue;this._instance=inst;ReactInstanceMap.set(inst,this);if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(!inst.getInitialState||inst.getInitialState.isReactClassApproved,"getInitialState was defined on %s, a plain JavaScript class. "+"This is only supported for classes created using React.createClass. "+"Did you mean to define a state property instead?",this.getName()||"a component"):undefined; +process.env.NODE_ENV!=="production"?warning(!inst.getDefaultProps||inst.getDefaultProps.isReactClassApproved,"getDefaultProps was defined on %s, a plain JavaScript class. "+"This is only supported for classes created using React.createClass. "+"Use a static property to define defaultProps instead.",this.getName()||"a component"):undefined;process.env.NODE_ENV!=="production"?warning(!inst.propTypes,"propTypes was defined as an instance property on %s. Use a static "+"property to define propTypes instead.",this.getName()||"a component"):undefined;process.env.NODE_ENV!=="production"?warning(!inst.contextTypes,"contextTypes was defined as an instance property on %s. Use a "+"static property to define contextTypes instead.",this.getName()||"a component"):undefined;process.env.NODE_ENV!=="production"?warning(typeof inst.componentShouldUpdate!=="function","%s has a method called "+"componentShouldUpdate(). Did you mean shouldComponentUpdate()? "+"The name is phrased as a question because the function is "+"expected to return a value.",this.getName()||"A component"):undefined;process.env.NODE_ENV!=="production"?warning(typeof inst.componentDidUnmount!=="function","%s has a method called "+"componentDidUnmount(). But there is no such lifecycle method. "+"Did you mean componentWillUnmount()?",this.getName()||"A component"):undefined;process.env.NODE_ENV!=="production"?warning(typeof inst.componentWillRecieveProps!=="function","%s has a method called "+"componentWillRecieveProps(). Did you mean componentWillReceiveProps()?",this.getName()||"A component"):undefined}var initialState=inst.state;if(initialState===undefined){inst.state=initialState=null}!(typeof initialState==="object"&&!Array.isArray(initialState))?process.env.NODE_ENV!=="production"?invariant(false,"%s.state: must be set to an object or null",this.getName()||"ReactCompositeComponent"):invariant(false):undefined;this._pendingStateQueue=null;this._pendingReplaceState=false;this._pendingForceUpdate=false;if(inst.componentWillMount){inst.componentWillMount();if(this._pendingStateQueue){inst.state=this._processPendingState(inst.props,inst.context)}}if(renderedElement===undefined){renderedElement=this._renderValidatedComponent()}this._renderedComponent=this._instantiateReactComponent(renderedElement);var markup=ReactReconciler.mountComponent(this._renderedComponent,rootID,transaction,this._processChildContext(context));if(inst.componentDidMount){transaction.getReactMountReady().enqueue(inst.componentDidMount,inst)}return markup},unmountComponent:function(){var inst=this._instance;if(inst.componentWillUnmount){inst.componentWillUnmount()}ReactReconciler.unmountComponent(this._renderedComponent);this._renderedComponent=null;this._instance=null;this._pendingStateQueue=null;this._pendingReplaceState=false;this._pendingForceUpdate=false;this._pendingCallbacks=null;this._pendingElement=null;this._context=null;this._rootNodeID=null;this._topLevelWrapper=null;ReactInstanceMap.remove(inst)},_maskContext:function(context){var maskedContext=null;var Component=this._currentElement.type;var contextTypes=Component.contextTypes;if(!contextTypes){return emptyObject}maskedContext={};for(var contextName in contextTypes){maskedContext[contextName]=context[contextName]}return maskedContext},_processContext:function(context){var maskedContext=this._maskContext(context);if(process.env.NODE_ENV!=="production"){var Component=this._currentElement.type;if(Component.contextTypes){this._checkPropTypes(Component.contextTypes,maskedContext,ReactPropTypeLocations.context)}}return maskedContext},_processChildContext:function(currentContext){var Component=this._currentElement.type;var inst=this._instance;var childContext=inst.getChildContext&&inst.getChildContext();if(childContext){!(typeof Component.childContextTypes==="object")?process.env.NODE_ENV!=="production"?invariant(false,"%s.getChildContext(): childContextTypes must be defined in order to "+"use getChildContext().",this.getName()||"ReactCompositeComponent"):invariant(false):undefined;if(process.env.NODE_ENV!=="production"){this._checkPropTypes(Component.childContextTypes,childContext,ReactPropTypeLocations.childContext)}for(var name in childContext){!(name in Component.childContextTypes)?process.env.NODE_ENV!=="production"?invariant(false,'%s.getChildContext(): key "%s" is not defined in childContextTypes.',this.getName()||"ReactCompositeComponent",name):invariant(false):undefined}return assign({},currentContext,childContext)}return currentContext},_processProps:function(newProps){if(process.env.NODE_ENV!=="production"){var Component=this._currentElement.type;if(Component.propTypes){this._checkPropTypes(Component.propTypes,newProps,ReactPropTypeLocations.prop)}}return newProps},_checkPropTypes:function(propTypes,props,location){var componentName=this.getName();for(var propName in propTypes){if(propTypes.hasOwnProperty(propName)){var error;try{!(typeof propTypes[propName]==="function")?process.env.NODE_ENV!=="production"?invariant(false,"%s: %s type `%s` is invalid; it must be a function, usually "+"from React.PropTypes.",componentName||"React class",ReactPropTypeLocationNames[location],propName):invariant(false):undefined;error=propTypes[propName](props,propName,componentName,location)}catch(ex){error=ex}if(error instanceof Error){var addendum=getDeclarationErrorAddendum(this);if(location===ReactPropTypeLocations.prop){process.env.NODE_ENV!=="production"?warning(false,"Failed Composite propType: %s%s",error.message,addendum):undefined}else{process.env.NODE_ENV!=="production"?warning(false,"Failed Context Types: %s%s",error.message,addendum):undefined}}}}},receiveComponent:function(nextElement,transaction,nextContext){var prevElement=this._currentElement;var prevContext=this._context;this._pendingElement=null;this.updateComponent(transaction,prevElement,nextElement,prevContext,nextContext)},performUpdateIfNecessary:function(transaction){if(this._pendingElement!=null){ReactReconciler.receiveComponent(this,this._pendingElement||this._currentElement,transaction,this._context)}if(this._pendingStateQueue!==null||this._pendingForceUpdate){this.updateComponent(transaction,this._currentElement,this._currentElement,this._context,this._context)}},updateComponent:function(transaction,prevParentElement,nextParentElement,prevUnmaskedContext,nextUnmaskedContext){var inst=this._instance;var nextContext=this._context===nextUnmaskedContext?inst.context:this._processContext(nextUnmaskedContext);var nextProps;if(prevParentElement===nextParentElement){nextProps=nextParentElement.props}else{nextProps=this._processProps(nextParentElement.props);if(inst.componentWillReceiveProps){inst.componentWillReceiveProps(nextProps,nextContext)}}var nextState=this._processPendingState(nextProps,nextContext);var shouldUpdate=this._pendingForceUpdate||!inst.shouldComponentUpdate||inst.shouldComponentUpdate(nextProps,nextState,nextContext);if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(typeof shouldUpdate!=="undefined","%s.shouldComponentUpdate(): Returned undefined instead of a "+"boolean value. Make sure to return true or false.",this.getName()||"ReactCompositeComponent"):undefined}if(shouldUpdate){this._pendingForceUpdate=false;this._performComponentUpdate(nextParentElement,nextProps,nextState,nextContext,transaction,nextUnmaskedContext)}else{this._currentElement=nextParentElement;this._context=nextUnmaskedContext;inst.props=nextProps;inst.state=nextState;inst.context=nextContext}},_processPendingState:function(props,context){var inst=this._instance;var queue=this._pendingStateQueue;var replace=this._pendingReplaceState;this._pendingReplaceState=false;this._pendingStateQueue=null;if(!queue){return inst.state}if(replace&&queue.length===1){return queue[0]}var nextState=assign({},replace?queue[0]:inst.state);for(var i=replace?1:0;i-1&&navigator.userAgent.indexOf("Edge")===-1||navigator.userAgent.indexOf("Firefox")>-1){console.debug("Download the React DevTools for a better development experience: "+"https://fb.me/react-devtools")}}var ieCompatibilityMode=document.documentMode&&document.documentMode<8;process.env.NODE_ENV!=="production"?warning(!ieCompatibilityMode,"Internet Explorer is running in compatibility mode; please add the "+"following tag to your HTML to prevent this from happening: "+''):undefined;var expectedFeatures=[Array.isArray,Array.prototype.every,Array.prototype.forEach,Array.prototype.indexOf,Array.prototype.map,Date.now,Function.prototype.bind,Object.keys,String.prototype.split,String.prototype.trim,Object.create,Object.freeze];for(var i=0;i",friendlyStringify(style1),friendlyStringify(style2)):undefined}function assertValidProps(component,props){if(!props){return}if(process.env.NODE_ENV!=="production"){if(voidElementTags[component._tag]){process.env.NODE_ENV!=="production"?warning(props.children==null&&props.dangerouslySetInnerHTML==null,"%s is a void element tag and must not have `children` or "+"use `props.dangerouslySetInnerHTML`.%s",component._tag,component._currentElement._owner?" Check the render method of "+component._currentElement._owner.getName()+".":""):undefined}}if(props.dangerouslySetInnerHTML!=null){!(props.children==null)?process.env.NODE_ENV!=="production"?invariant(false,"Can only set one of `children` or `props.dangerouslySetInnerHTML`."):invariant(false):undefined;!(typeof props.dangerouslySetInnerHTML==="object"&&HTML in props.dangerouslySetInnerHTML)?process.env.NODE_ENV!=="production"?invariant(false,"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. "+"Please visit https://fb.me/react-invariant-dangerously-set-inner-html "+"for more information."):invariant(false):undefined}if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(props.innerHTML==null,"Directly setting property `innerHTML` is not permitted. "+"For more information, lookup documentation on `dangerouslySetInnerHTML`."):undefined;process.env.NODE_ENV!=="production"?warning(!props.contentEditable||props.children==null,"A component is `contentEditable` and contains `children` managed by "+"React. It is now your responsibility to guarantee that none of "+"those nodes are unexpectedly modified or duplicated. This is "+"probably not intentional."):undefined}!(props.style==null||typeof props.style==="object")?process.env.NODE_ENV!=="production"?invariant(false,"The `style` prop expects a mapping from style properties to values, "+"not a string. For example, style={{marginRight: spacing + 'em'}} when "+"using JSX.%s",getDeclarationErrorAddendum(component)):invariant(false):undefined}function enqueuePutListener(id,registrationName,listener,transaction){if(process.env.NODE_ENV!=="production"){process.env.NODE_ENV!=="production"?warning(registrationName!=="onScroll"||isEventSupported("scroll",true),"This browser doesn't support the `onScroll` event"):undefined}var container=ReactMount.findReactContainerForID(id);if(container){var doc=container.nodeType===ELEMENT_NODE_TYPE?container.ownerDocument:container;listenTo(registrationName,doc)}transaction.getReactMountReady().enqueue(putListener,{id:id,registrationName:registrationName,listener:listener})}function putListener(){var listenerToPut=this;ReactBrowserEventEmitter.putListener(listenerToPut.id,listenerToPut.registrationName,listenerToPut.listener)}var mediaEvents={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"};function trapBubbledEventsLocal(){var inst=this;!inst._rootNodeID?process.env.NODE_ENV!=="production"?invariant(false,"Must be mounted to trap events"):invariant(false):undefined;var node=ReactMount.getNode(inst._rootNodeID);!node?process.env.NODE_ENV!=="production"?invariant(false,"trapBubbledEvent(...): Requires node to be rendered."):invariant(false):undefined;switch(inst._tag){case"iframe":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad,"load",node)];break;case"video":case"audio":inst._wrapperState.listeners=[];for(var event in mediaEvents){if(mediaEvents.hasOwnProperty(event)){inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes[event],mediaEvents[event],node))}}break;case"img":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topError,"error",node),ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topLoad,"load",node)];break;case"form":inst._wrapperState.listeners=[ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topReset,"reset",node),ReactBrowserEventEmitter.trapBubbledEvent(EventConstants.topLevelTypes.topSubmit,"submit",node)];break}}function mountReadyInputWrapper(){ReactDOMInput.mountReadyWrapper(this)}function postUpdateSelectWrapper(){ReactDOMSelect.postUpdateWrapper(this)}var omittedCloseTags={area:true,base:true,br:true,col:true,embed:true,hr:true,img:true,input:true,keygen:true,link:true,meta:true,param:true,source:true,track:true,wbr:true};var newlineEatingTags={listing:true,pre:true,textarea:true};var voidElementTags=assign({menuitem:true},omittedCloseTags);var VALID_TAG_REGEX=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/;var validatedTagCache={};var hasOwnProperty={}.hasOwnProperty;function validateDangerousTag(tag){if(!hasOwnProperty.call(validatedTagCache,tag)){!VALID_TAG_REGEX.test(tag)?process.env.NODE_ENV!=="production"?invariant(false,"Invalid tag: %s",tag):invariant(false):undefined;validatedTagCache[tag]=true}}function processChildContextDev(context,inst){context=assign({},context);var info=context[validateDOMNesting.ancestorInfoContextKey];context[validateDOMNesting.ancestorInfoContextKey]=validateDOMNesting.updatedAncestorInfo(info,inst._tag,inst);return context}function isCustomComponent(tagName,props){return tagName.indexOf("-")>=0||props.is!=null}function ReactDOMComponent(tag){validateDangerousTag(tag);this._tag=tag.toLowerCase();this._renderedChildren=null;this._previousStyle=null;this._previousStyleCopy=null;this._rootNodeID=null;this._wrapperState=null;this._topLevelWrapper=null;this._nodeWithLegacyProperties=null;if(process.env.NODE_ENV!=="production"){this._unprocessedContextDev=null;this._processedContextDev=null}}ReactDOMComponent.displayName="ReactDOMComponent";ReactDOMComponent.Mixin={construct:function(element){this._currentElement=element},mountComponent:function(rootID,transaction,context){this._rootNodeID=rootID;var props=this._currentElement.props;switch(this._tag){case"iframe":case"img":case"form":case"video":case"audio":this._wrapperState={listeners:null};transaction.getReactMountReady().enqueue(trapBubbledEventsLocal,this);break;case"button":props=ReactDOMButton.getNativeProps(this,props,context);break;case"input":ReactDOMInput.mountWrapper(this,props,context);props=ReactDOMInput.getNativeProps(this,props,context);break;case"option":ReactDOMOption.mountWrapper(this,props,context);props=ReactDOMOption.getNativeProps(this,props,context);break;case"select":ReactDOMSelect.mountWrapper(this,props,context);props=ReactDOMSelect.getNativeProps(this,props,context);context=ReactDOMSelect.processChildContext(this,props,context);break;case"textarea":ReactDOMTextarea.mountWrapper(this,props,context);props=ReactDOMTextarea.getNativeProps(this,props,context);break}assertValidProps(this,props);if(process.env.NODE_ENV!=="production"){if(context[validateDOMNesting.ancestorInfoContextKey]){validateDOMNesting(this._tag,this,context[validateDOMNesting.ancestorInfoContextKey])}}if(process.env.NODE_ENV!=="production"){this._unprocessedContextDev=context;this._processedContextDev=processChildContextDev(context,this);context=this._processedContextDev}var mountImage;if(transaction.useCreateElement){var ownerDocument=context[ReactMount.ownerDocumentContextKey];var el=ownerDocument.createElement(this._currentElement.type);DOMPropertyOperations.setAttributeForID(el,this._rootNodeID);ReactMount.getID(el);this._updateDOMProperties({},props,transaction,el);this._createInitialChildren(transaction,props,context,el);mountImage=el}else{var tagOpen=this._createOpenTagMarkupAndPutListeners(transaction,props);var tagContent=this._createContentMarkup(transaction,props,context);if(!tagContent&&omittedCloseTags[this._tag]){mountImage=tagOpen+"/>"}else{mountImage=tagOpen+">"+tagContent+""}}switch(this._tag){case"input":transaction.getReactMountReady().enqueue(mountReadyInputWrapper,this);case"button":case"select":case"textarea":if(props.autoFocus){transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent,this)}break}return mountImage},_createOpenTagMarkupAndPutListeners:function(transaction,props){var ret="<"+this._currentElement.type;for(var propKey in props){if(!props.hasOwnProperty(propKey)){continue}var propValue=props[propKey];if(propValue==null){continue}if(registrationNameModules.hasOwnProperty(propKey)){if(propValue){enqueuePutListener(this._rootNodeID,propKey,propValue,transaction)}}else{if(propKey===STYLE){if(propValue){if(process.env.NODE_ENV!=="production"){this._previousStyle=propValue}propValue=this._previousStyleCopy=assign({},props.style)}propValue=CSSPropertyOperations.createMarkupForStyles(propValue)}var markup=null;if(this._tag!=null&&isCustomComponent(this._tag,props)){if(propKey!==CHILDREN){markup=DOMPropertyOperations.createMarkupForCustomAttribute(propKey,propValue)}}else{markup=DOMPropertyOperations.createMarkupForProperty(propKey,propValue)}if(markup){ret+=" "+markup}}}if(transaction.renderToStaticMarkup){return ret}var markupForID=DOMPropertyOperations.createMarkupForID(this._rootNodeID);return ret+" "+markupForID},_createContentMarkup:function(transaction,props,context){var ret="";var innerHTML=props.dangerouslySetInnerHTML;if(innerHTML!=null){if(innerHTML.__html!=null){ret=innerHTML.__html}}else{var contentToUse=CONTENT_TYPES[typeof props.children]?props.children:null;var childrenToUse=contentToUse!=null?null:props.children;if(contentToUse!=null){ret=escapeTextContentForBrowser(contentToUse)}else if(childrenToUse!=null){var mountImages=this.mountChildren(childrenToUse,transaction,context);ret=mountImages.join("")}}if(newlineEatingTags[this._tag]&&ret.charAt(0)==="\n"){return"\n"+ret}else{return ret}},_createInitialChildren:function(transaction,props,context,el){ +var innerHTML=props.dangerouslySetInnerHTML;if(innerHTML!=null){if(innerHTML.__html!=null){setInnerHTML(el,innerHTML.__html)}}else{var contentToUse=CONTENT_TYPES[typeof props.children]?props.children:null;var childrenToUse=contentToUse!=null?null:props.children;if(contentToUse!=null){setTextContent(el,contentToUse)}else if(childrenToUse!=null){var mountImages=this.mountChildren(childrenToUse,transaction,context);for(var i=0;i tried to unmount. Because of cross-browser quirks it is "+"impossible to unmount some top-level components (eg , "+", and ) reliably and efficiently. To fix this, have a "+"single top-level component that never unmounts render these "+"elements.",this._tag):invariant(false):undefined;break}this.unmountChildren();ReactBrowserEventEmitter.deleteAllListeners(this._rootNodeID);ReactComponentBrowserEnvironment.unmountIDFromEnvironment(this._rootNodeID);this._rootNodeID=null;this._wrapperState=null;if(this._nodeWithLegacyProperties){var node=this._nodeWithLegacyProperties;node._reactInternalComponent=null;this._nodeWithLegacyProperties=null}},getPublicInstance:function(){if(!this._nodeWithLegacyProperties){var node=ReactMount.getNode(this._rootNodeID);node._reactInternalComponent=this;node.getDOMNode=legacyGetDOMNode;node.isMounted=legacyIsMounted;node.setState=legacySetStateEtc;node.replaceState=legacySetStateEtc;node.forceUpdate=legacySetStateEtc;node.setProps=legacySetProps;node.replaceProps=legacyReplaceProps;if(process.env.NODE_ENV!=="production"){if(canDefineProperty){Object.defineProperties(node,legacyPropsDescriptor)}else{node.props=this._currentElement.props}}else{node.props=this._currentElement.props}this._nodeWithLegacyProperties=node}return this._nodeWithLegacyProperties}};ReactPerf.measureMethods(ReactDOMComponent,"ReactDOMComponent",{mountComponent:"mountComponent",updateComponent:"updateComponent"});assign(ReactDOMComponent.prototype,ReactDOMComponent.Mixin,ReactMultiChild.Mixin);module.exports=ReactDOMComponent}).call(this,require("_process"))},{"./AutoFocusUtils":26,"./CSSPropertyOperations":29,"./DOMProperty":34,"./DOMPropertyOperations":35,"./EventConstants":39,"./Object.assign":47,"./ReactBrowserEventEmitter":51,"./ReactComponentBrowserEnvironment":58,"./ReactDOMButton":63,"./ReactDOMInput":68,"./ReactDOMOption":69,"./ReactDOMSelect":70,"./ReactDOMTextarea":74,"./ReactMount":92,"./ReactMultiChild":93,"./ReactPerf":98,"./ReactUpdateQueue":112,"./canDefineProperty":134,"./escapeTextContentForBrowser":137,"./isEventSupported":149,"./setInnerHTML":154,"./setTextContent":155,"./validateDOMNesting":158,_process:2,"fbjs/lib/invariant":175,"fbjs/lib/keyOf":179,"fbjs/lib/shallowEqual":184,"fbjs/lib/warning":186}],65:[function(require,module,exports){(function(process){"use strict";var ReactElement=require("./ReactElement");var ReactElementValidator=require("./ReactElementValidator");var mapObject=require("fbjs/lib/mapObject");function createDOMFactory(tag){if(process.env.NODE_ENV!=="production"){return ReactElementValidator.createFactory(tag)}return ReactElement.createFactory(tag)}var ReactDOMFactories=mapObject({a:"a",abbr:"abbr",address:"address",area:"area",article:"article",aside:"aside",audio:"audio",b:"b",base:"base",bdi:"bdi",bdo:"bdo",big:"big",blockquote:"blockquote",body:"body",br:"br",button:"button",canvas:"canvas",caption:"caption",cite:"cite",code:"code",col:"col",colgroup:"colgroup",data:"data",datalist:"datalist",dd:"dd",del:"del",details:"details",dfn:"dfn",dialog:"dialog",div:"div",dl:"dl",dt:"dt",em:"em",embed:"embed",fieldset:"fieldset",figcaption:"figcaption",figure:"figure",footer:"footer",form:"form",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",head:"head",header:"header",hgroup:"hgroup",hr:"hr",html:"html",i:"i",iframe:"iframe",img:"img",input:"input",ins:"ins",kbd:"kbd",keygen:"keygen",label:"label",legend:"legend",li:"li",link:"link",main:"main",map:"map",mark:"mark",menu:"menu",menuitem:"menuitem",meta:"meta",meter:"meter",nav:"nav",noscript:"noscript",object:"object",ol:"ol",optgroup:"optgroup",option:"option",output:"output",p:"p",param:"param",picture:"picture",pre:"pre",progress:"progress",q:"q",rp:"rp",rt:"rt",ruby:"ruby",s:"s",samp:"samp",script:"script",section:"section",select:"select",small:"small",source:"source",span:"span",strong:"strong",style:"style",sub:"sub",summary:"summary",sup:"sup",table:"table",tbody:"tbody",td:"td",textarea:"textarea",tfoot:"tfoot",th:"th",thead:"thead",time:"time",title:"title",tr:"tr",track:"track",u:"u",ul:"ul","var":"var",video:"video",wbr:"wbr",circle:"circle",clipPath:"clipPath",defs:"defs",ellipse:"ellipse",g:"g",image:"image",line:"line",linearGradient:"linearGradient",mask:"mask",path:"path",pattern:"pattern",polygon:"polygon",polyline:"polyline",radialGradient:"radialGradient",rect:"rect",stop:"stop",svg:"svg",text:"text",tspan:"tspan"},createDOMFactory);module.exports=ReactDOMFactories}).call(this,require("_process"))},{"./ReactElement":79,"./ReactElementValidator":80,_process:2,"fbjs/lib/mapObject":180}],66:[function(require,module,exports){"use strict";var ReactDOMFeatureFlags={useCreateElement:false};module.exports=ReactDOMFeatureFlags},{}],67:[function(require,module,exports){(function(process){"use strict";var DOMChildrenOperations=require("./DOMChildrenOperations");var DOMPropertyOperations=require("./DOMPropertyOperations");var ReactMount=require("./ReactMount");var ReactPerf=require("./ReactPerf");var invariant=require("fbjs/lib/invariant");var INVALID_PROPERTY_ERRORS={dangerouslySetInnerHTML:"`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.",style:"`style` must be set using `updateStylesByID()`."};var ReactDOMIDOperations={updatePropertyByID:function(id,name,value){var node=ReactMount.getNode(id);!!INVALID_PROPERTY_ERRORS.hasOwnProperty(name)?process.env.NODE_ENV!=="production"?invariant(false,"updatePropertyByID(...): %s",INVALID_PROPERTY_ERRORS[name]):invariant(false):undefined;if(value!=null){DOMPropertyOperations.setValueForProperty(node,name,value)}else{DOMPropertyOperations.deleteValueForProperty(node,name)}},dangerouslyReplaceNodeWithMarkupByID:function(id,markup){var node=ReactMount.getNode(id);DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup(node,markup)},dangerouslyProcessChildrenUpdates:function(updates,markup){for(var i=0;i instead of "+"setting `selected` on