From 0c9c30b731ccbacf47e154b9f7a590af49e3d799 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Mon, 29 Aug 2016 13:30:52 +1200 Subject: Better UI for Piwik 3, more responsive, faster, lots of other fixes (#10397) * improved ui and responsiveness * improve rss widget * commit changes for ui again, got lost after the last commit * fix more tests * restoring files * fix fonts * fix more tests * more test fixes * fix some system tests * fix tests * fix system and ui tests * fix updater tests * make a page as loaded once the callback is called * enable verbose * more verbose output * enable phantomjs debug flag * debug should be a phantomjs option * trying to fix installation tests * fixes #10173 to not compile css files as less * trying to minimize js/css requests to hopefully prevent random ui test fails * disable verbose mode * fix updater and installation * lots of bugfixes and ui tweaks * fix reset dashboard * various bugfixes * fix integration tests * fix text color * hoping to fix installation tests this way * cache css/js resources for an hour, should speed up tests and prevent some random issues * we need to avoid installing plugins multiple times at the same time when requesting resources * finally getting the colors right again * fix most tests, more tests for theme * use an h2 element for titles for better accessibility * fix headline color * use actual theme text color (piwik-black) * fix small font size was applied on all p elements * fix tests * now improving all the datatables * trying to ignore images for visitor log * Revert "trying to ignore images for visitor log" This reverts commit ad1ff7267aae14ad905bef130e956c8593c4fb22. * fix tests * fix we had always ignored a max label width * trying to fix file permissions * fix more file permissions * Improved plugins update API (#10028) * refs #7983 let plugins add or remove fields to websites and better settings api * * Hide CorePluginsAdmin API methods * More documentation * Added some more tests * improved updates API for plugins * better error code as duplicate column cannot really happen when not actually renaming a colum Conflicts: core/Updates/3.0.0-b1.php plugins/CoreUpdater/Commands/Update/CliUpdateObserver.php * fix DB field piwik_log_visit.location_provider too small (#10003) * fixes #9564 fix DB field piwik_log_visit.location_provider too small * use new plugins updater API * DB field piwik_log_visit.visit_total_actions too small (#10002) * fixes #9565 DB field piwik_log_visit.visit_total_actions too small * change type of some db columns that are too small * fix tests (#10040) Conflicts: plugins/CoreAdminHome/Menu.php plugins/Goals/Menu.php plugins/MobileMessaging/Menu.php plugins/SitesManager/Menu.php plugins/UsersManager/Menu.php tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml * fix more file permissions * repair more file permissions * repair more file permissions * trying to make ui tests work again, the table was missing * fix some encoding issues * cross browser fixes and usability improvement * move back the config icon, need to find a better solution later * more cross browser fixes * bugfixes * fix ui tests * fix encoding issue * fix various issues with the ui tests when a test gets aborted * also skip this visitor log test when aborted * there were 3 css files that were loaded separately, merge them instead into one css * forgot to add the actual manifest * do not add manifest if custom logo is specified * load font css files first as it was before merging them into big css * fix link icon was not aligned anymore * minor fixes * setting it back to 4px * in popovers the font variable was always ignored and a different font loaded * forgot to update screenshots * fix remaining tests * this should fix an update error * added 3 new widgets system check, system summary and plugin updates * tweak new widgets content * no page reload when changing date or segment * in admin home show only enabled widgets * refs #10295 use getMockBuilder instead of deprecated getMock * fix some ui tests * fix various bugs * fix more tests * fix ui tests * add a space between loading image and loading message * fix docs so they appear on developer.piwik.org * improved documentation * introduce new Widget::renderTemplate method for consistency with controllers * remove no longer needed files * testing system fonts * fix strong was not really bold * more useful system summary * remove ubuntu font * fix most tests and removed most em elements * fix tests * fix headline was very thin * update submodule * update submodules * update submodule * fix failing ui tests * update submodules --- libs/README.md | 3 + libs/bower_components/angular-animate/.bower.json | 13 +- .../angular-animate/angular-animate.js | 1439 ++-- .../angular-animate/angular-animate.min.js | 97 +- .../angular-animate/angular-animate.min.js.map | 6 +- libs/bower_components/angular-animate/bower.json | 5 +- libs/bower_components/angular-animate/package.json | 2 +- libs/bower_components/angular-cookies/.bower.json | 13 +- .../angular-cookies/angular-cookies.js | 17 +- .../angular-cookies/angular-cookies.min.js | 8 +- .../angular-cookies/angular-cookies.min.js.map | 4 +- libs/bower_components/angular-cookies/bower.json | 5 +- libs/bower_components/angular-cookies/package.json | 2 +- libs/bower_components/angular-mocks/.bower.json | 13 +- .../angular-mocks/angular-mocks.js | 200 +- libs/bower_components/angular-mocks/bower.json | 5 +- libs/bower_components/angular-mocks/package.json | 2 +- libs/bower_components/angular-sanitize/.bower.json | 13 +- .../angular-sanitize/angular-sanitize.js | 4 +- .../angular-sanitize/angular-sanitize.min.js | 2 +- libs/bower_components/angular-sanitize/bower.json | 5 +- .../bower_components/angular-sanitize/package.json | 2 +- libs/bower_components/angular/.bower.json | 13 +- libs/bower_components/angular/angular.js | 4271 ++++++---- libs/bower_components/angular/angular.min.js | 581 +- libs/bower_components/angular/angular.min.js.map | 6 +- libs/bower_components/angular/bower.json | 3 +- libs/bower_components/angular/package.json | 2 +- libs/bower_components/chroma-js/.bower.json | 10 +- libs/bower_components/chroma-js/chroma.js | 4 +- libs/bower_components/chroma-js/chroma.min.js | 2 +- libs/bower_components/chroma-js/package.json | 2 +- libs/bower_components/html5shiv/.bower.json | 10 +- .../html5shiv/MIT and GPL2 licenses.md | 372 + libs/bower_components/html5shiv/bower.json | 2 +- .../html5shiv/dist/html5shiv-printshiv.js | 10 +- .../html5shiv/dist/html5shiv-printshiv.min.js | 4 +- libs/bower_components/html5shiv/dist/html5shiv.js | 12 +- .../html5shiv/dist/html5shiv.min.js | 4 +- libs/bower_components/html5shiv/package.json | 4 +- libs/bower_components/html5shiv/readme.md | 6 +- libs/bower_components/jQuery.dotdotdot/.bower.json | 10 +- libs/bower_components/jQuery.dotdotdot/LICENSE.txt | 9 + libs/bower_components/jQuery.dotdotdot/bower.json | 2 +- .../jQuery.dotdotdot/src/js/jquery.dotdotdot.js | 35 +- .../src/js/jquery.dotdotdot.min.js | 4 +- libs/bower_components/jScrollPane/.bower.json | 28 +- libs/bower_components/jScrollPane/README.md | 23 +- libs/bower_components/jScrollPane/ajax.html | 2 +- libs/bower_components/jScrollPane/anchors.html | 2 +- libs/bower_components/jScrollPane/api.html | 7 +- libs/bower_components/jScrollPane/arrow_hover.html | 2 +- .../jScrollPane/arrow_positions.html | 2 +- libs/bower_components/jScrollPane/arrows.html | 2 +- .../jScrollPane/auto_reinitialise.html | 2 +- libs/bower_components/jScrollPane/basic.html | 2 +- libs/bower_components/jScrollPane/bower.json | 21 + libs/bower_components/jScrollPane/build/.gitignore | 1 + .../jScrollPane/build/Gruntfile.js | 49 + .../jScrollPane/build/package.json | 30 + libs/bower_components/jScrollPane/caps.html | 2 +- libs/bower_components/jScrollPane/changelog.html | 2 +- libs/bower_components/jScrollPane/destroy.html | 2 +- libs/bower_components/jScrollPane/drag_size.html | 2 +- .../jScrollPane/dynamic_content.html | 2 +- .../jScrollPane/dynamic_height.html | 30 +- .../jScrollPane/dynamic_width.html | 27 +- libs/bower_components/jScrollPane/events.html | 62 +- libs/bower_components/jScrollPane/faqs.html | 2 +- libs/bower_components/jScrollPane/fixed_width.html | 2 +- libs/bower_components/jScrollPane/focus.html | 2 +- .../jScrollPane/fullpage_scroll.html | 2 +- libs/bower_components/jScrollPane/iframe.html | 2 +- libs/bower_components/jScrollPane/iframe2.html | 2 +- .../jScrollPane/iframe_content1.html | 2 +- .../jScrollPane/iframe_content2.html | 2 +- libs/bower_components/jScrollPane/image.html | 2 +- libs/bower_components/jScrollPane/image2.html | 2 +- libs/bower_components/jScrollPane/index.html | 8 +- libs/bower_components/jScrollPane/invisibles.html | 2 +- .../bower_components/jScrollPane/known_issues.html | 2 +- libs/bower_components/jScrollPane/less_basic.html | 2 +- .../jScrollPane/mwheel_intent.html | 2 +- .../jScrollPane/override_animate.html | 2 +- libs/bower_components/jScrollPane/runeimp.html | 2 +- libs/bower_components/jScrollPane/runeimp2.html | 2 +- libs/bower_components/jScrollPane/script/demo.js | 2 +- .../jScrollPane/script/jquery.jscrollpane.js | 186 +- .../jScrollPane/script/jquery.jscrollpane.min.js | 9 +- .../jScrollPane/script/jquery.mousewheel.js | 188 +- .../jScrollPane/scroll_on_left.html | 2 +- libs/bower_components/jScrollPane/scroll_to.html | 2 +- .../jScrollPane/scroll_to_animate.html | 2 +- libs/bower_components/jScrollPane/settings.html | 6 +- libs/bower_components/jScrollPane/short.html | 2 +- .../jScrollPane/style/jquery.jscrollpane.css | 9 +- .../bower_components/jquery-mousewheel/.bower.json | 12 +- .../jquery-mousewheel/ChangeLog.md | 6 + .../bower_components/jquery-mousewheel/LICENSE.txt | 19 +- libs/bower_components/jquery-mousewheel/README.md | 9 - libs/bower_components/jquery-mousewheel/bower.json | 2 +- .../jquery-mousewheel/jquery.mousewheel.js | 10 +- .../jquery-mousewheel/jquery.mousewheel.min.js | 10 +- .../jquery-placeholder/.bower.json | 26 +- .../jquery-placeholder/.gitattributes | 1 - .../bower_components/jquery-placeholder/.gitignore | 1 - .../jquery-placeholder/LICENSE-MIT.txt | 20 - libs/bower_components/jquery-placeholder/README.md | 76 - .../bower_components/jquery-placeholder/bower.json | 18 +- libs/bower_components/jquery-placeholder/demo.html | 55 - .../jquery-placeholder/jquery.placeholder.js | 29 +- .../jquery-placeholder/tests/index.html | 32 - .../jquery-placeholder/tests/tests.js | 134 - .../jquery-ui/ui/minified/jquery-ui.min.js | 4 +- libs/bower_components/jquery.scrollTo/.bower.json | 12 +- libs/bower_components/jquery.scrollTo/README.md | 138 +- libs/bower_components/jquery.scrollTo/bower.json | 4 +- .../jquery.scrollTo/jquery.scrollTo.js | 6 +- .../jquery.scrollTo/jquery.scrollTo.min.js | 14 +- libs/bower_components/jquery.scrollTo/package.json | 29 +- .../jquery.scrollTo/scrollTo.jquery.json | 56 +- libs/bower_components/jquery/.bower.json | 28 +- libs/bower_components/jquery/AUTHORS.txt | 278 + libs/bower_components/jquery/LICENSE.txt | 36 + libs/bower_components/jquery/MIT-LICENSE.txt | 21 - libs/bower_components/jquery/README.md | 65 + libs/bower_components/jquery/bower.json | 17 +- libs/bower_components/jquery/dist/jquery.js | 7434 +++++++++--------- libs/bower_components/jquery/dist/jquery.min.js | 9 +- libs/bower_components/jquery/dist/jquery.min.map | 2 +- libs/bower_components/jquery/dist/jquery.slim.js | 7877 +++++++++++++++++++ .../jquery/dist/jquery.slim.min.js | 4 + .../jquery/dist/jquery.slim.min.map | 1 + libs/bower_components/jquery/sizzle/LICENSE.txt | 36 + libs/bower_components/jquery/sizzle/dist/sizzle.js | 2143 +++++ .../jquery/sizzle/dist/sizzle.min.js | 3 + .../jquery/sizzle/dist/sizzle.min.map | 1 + libs/bower_components/jquery/src/.jshintrc | 29 + libs/bower_components/jquery/src/ajax.js | 224 +- libs/bower_components/jquery/src/ajax/jsonp.js | 39 +- libs/bower_components/jquery/src/ajax/load.js | 36 +- libs/bower_components/jquery/src/ajax/parseJSON.js | 48 +- libs/bower_components/jquery/src/ajax/parseXML.js | 22 +- libs/bower_components/jquery/src/ajax/script.js | 83 +- .../jquery/src/ajax/var/location.js | 3 + libs/bower_components/jquery/src/ajax/var/nonce.js | 4 +- .../bower_components/jquery/src/ajax/var/rquery.js | 6 +- libs/bower_components/jquery/src/ajax/xhr.js | 309 +- libs/bower_components/jquery/src/attributes.js | 8 +- .../bower_components/jquery/src/attributes/attr.js | 259 +- .../jquery/src/attributes/classes.js | 162 +- .../bower_components/jquery/src/attributes/prop.js | 121 +- .../jquery/src/attributes/support.js | 66 +- libs/bower_components/jquery/src/attributes/val.js | 93 +- libs/bower_components/jquery/src/callbacks.js | 197 +- libs/bower_components/jquery/src/core.js | 286 +- libs/bower_components/jquery/src/core/DOMEval.js | 14 + libs/bower_components/jquery/src/core/access.js | 21 +- libs/bower_components/jquery/src/core/init.js | 58 +- libs/bower_components/jquery/src/core/parseHTML.js | 18 +- libs/bower_components/jquery/src/core/ready.js | 101 +- libs/bower_components/jquery/src/core/support.js | 18 + .../jquery/src/core/var/rsingleTag.js | 7 +- libs/bower_components/jquery/src/css.js | 387 +- .../jquery/src/css/addGetHookIf.js | 22 +- libs/bower_components/jquery/src/css/adjustCSS.js | 65 + libs/bower_components/jquery/src/css/curCSS.js | 149 +- .../jquery/src/css/defaultDisplay.js | 31 +- .../jquery/src/css/hiddenVisibleSelectors.js | 24 +- libs/bower_components/jquery/src/css/showHide.js | 48 + libs/bower_components/jquery/src/css/support.js | 190 +- libs/bower_components/jquery/src/css/swap.js | 28 - .../jquery/src/css/var/cssExpand.js | 4 +- .../jquery/src/css/var/getStyles.js | 15 + .../jquery/src/css/var/isHidden.js | 9 +- .../bower_components/jquery/src/css/var/rmargin.js | 6 +- .../jquery/src/css/var/rnumnonpx.js | 4 +- libs/bower_components/jquery/src/css/var/swap.js | 24 + libs/bower_components/jquery/src/data.js | 360 +- libs/bower_components/jquery/src/data/Data.js | 200 + libs/bower_components/jquery/src/data/accepts.js | 19 +- libs/bower_components/jquery/src/data/support.js | 26 +- .../jquery/src/data/var/acceptData.js | 18 + .../jquery/src/data/var/dataPriv.js | 5 + .../jquery/src/data/var/dataUser.js | 5 + libs/bower_components/jquery/src/deferred.js | 66 +- .../jquery/src/deferred/exceptionHook.js | 19 + libs/bower_components/jquery/src/deprecated.js | 35 +- libs/bower_components/jquery/src/dimensions.js | 20 +- libs/bower_components/jquery/src/effects.js | 291 +- libs/bower_components/jquery/src/effects/Tween.js | 37 +- .../jquery/src/effects/animatedSelector.js | 8 +- .../bower_components/jquery/src/effects/support.js | 19 +- libs/bower_components/jquery/src/event.js | 793 +- libs/bower_components/jquery/src/event/ajax.js | 20 + libs/bower_components/jquery/src/event/alias.js | 34 +- libs/bower_components/jquery/src/event/focusin.js | 53 + libs/bower_components/jquery/src/event/support.js | 23 +- libs/bower_components/jquery/src/event/trigger.js | 199 + libs/bower_components/jquery/src/exports/amd.js | 6 +- libs/bower_components/jquery/src/exports/global.js | 14 +- libs/bower_components/jquery/src/intro.js | 18 +- libs/bower_components/jquery/src/jquery.js | 12 +- libs/bower_components/jquery/src/manipulation.js | 753 +- .../jquery/src/manipulation/_evalUrl.js | 10 +- .../jquery/src/manipulation/buildFragment.js | 102 + .../jquery/src/manipulation/createSafeFragment.js | 20 + .../jquery/src/manipulation/getAll.js | 21 + .../jquery/src/manipulation/setGlobalEval.js | 20 + .../jquery/src/manipulation/support.js | 85 +- .../jquery/src/manipulation/var/nodeNames.js | 5 + .../jquery/src/manipulation/var/rcheckableType.js | 6 +- .../src/manipulation/var/rleadingWhitespace.js | 3 + .../jquery/src/manipulation/var/rscriptType.js | 3 + .../jquery/src/manipulation/var/rtagName.js | 3 + .../jquery/src/manipulation/wrapMap.js | 27 + libs/bower_components/jquery/src/offset.js | 119 +- libs/bower_components/jquery/src/outro.js | 1 + libs/bower_components/jquery/src/queue.js | 53 +- libs/bower_components/jquery/src/queue/delay.js | 12 +- .../bower_components/jquery/src/selector-native.js | 211 + .../bower_components/jquery/src/selector-sizzle.js | 10 +- libs/bower_components/jquery/src/selector.js | 2 +- libs/bower_components/jquery/src/serialize.js | 45 +- .../jquery/src/sizzle/dist/sizzle.js | 2044 ----- .../jquery/src/sizzle/dist/sizzle.min.js | 3 - .../jquery/src/sizzle/dist/sizzle.min.map | 1 - libs/bower_components/jquery/src/support.js | 21 +- libs/bower_components/jquery/src/traversing.js | 127 +- .../jquery/src/traversing/findFilter.js | 30 +- .../jquery/src/traversing/var/dir.js | 20 + .../jquery/src/traversing/var/rneedsContext.js | 4 +- .../jquery/src/traversing/var/siblings.js | 15 + libs/bower_components/jquery/src/var/arr.js | 3 + libs/bower_components/jquery/src/var/class2type.js | 5 +- libs/bower_components/jquery/src/var/concat.js | 10 +- libs/bower_components/jquery/src/var/deletedIds.js | 4 +- libs/bower_components/jquery/src/var/document.js | 3 + .../jquery/src/var/documentElement.js | 5 + libs/bower_components/jquery/src/var/hasOwn.js | 4 +- libs/bower_components/jquery/src/var/indexOf.js | 10 +- libs/bower_components/jquery/src/var/pnum.js | 6 +- libs/bower_components/jquery/src/var/push.js | 10 +- libs/bower_components/jquery/src/var/rcssNum.js | 7 + libs/bower_components/jquery/src/var/rnotwhite.js | 6 +- libs/bower_components/jquery/src/var/slice.js | 10 +- .../jquery/src/var/strundefined.js | 3 - libs/bower_components/jquery/src/var/support.js | 5 +- libs/bower_components/jquery/src/var/toString.js | 4 +- libs/bower_components/jquery/src/wrap.js | 54 +- libs/bower_components/materialize/.bower.json | 72 + libs/bower_components/materialize/.editorconfig | 12 + libs/bower_components/materialize/.gitattributes | 2 + libs/bower_components/materialize/.npmignore | 8 + libs/bower_components/materialize/.travis.yml | 7 + libs/bower_components/materialize/CHANGELOG.md | 114 + libs/bower_components/materialize/CONTRIBUTING.md | 93 + libs/bower_components/materialize/LICENSE | 21 + .../materialize/bin/materialize.css | 8178 +++++++++++++++++++ .../materialize/bin/materialize.js | 5 + libs/bower_components/materialize/bower.json | 61 + .../materialize/dist/css/materialize.css | 8183 ++++++++++++++++++++ .../materialize/dist/css/materialize.min.css | 16 + .../materialize/dist/js/materialize.js | 6919 +++++++++++++++++ .../materialize/dist/js/materialize.min.js | 10 + .../materialize/extras/noUiSlider/nouislider.css | 259 + .../materialize/extras/noUiSlider/nouislider.js | 1666 ++++ .../extras/noUiSlider/nouislider.min.js | 1 + libs/bower_components/materialize/package.js | 51 + libs/bower_components/sprintf/.bower.json | 10 +- libs/bower_components/sprintf/LICENSE | 2 +- libs/bower_components/sprintf/README.md | 12 +- libs/bower_components/sprintf/bower.json | 2 +- .../sprintf/dist/angular-sprintf.min.js.map | 1 + libs/bower_components/sprintf/dist/sprintf.min.js | 2 +- .../sprintf/dist/sprintf.min.js.map | 1 + libs/bower_components/sprintf/dist/sprintf.min.map | 2 +- libs/bower_components/sprintf/package.json | 2 +- libs/bower_components/sprintf/src/sprintf.js | 35 +- libs/bower_components/sprintf/test/test.js | 10 + libs/bower_components/visibilityjs/.bower.json | 13 +- libs/bower_components/visibilityjs/ChangeLog.md | 7 + libs/bower_components/visibilityjs/README.md | 35 +- libs/bower_components/visibilityjs/bower.json | 2 +- libs/bower_components/visibilityjs/component.json | 14 + libs/bower_components/visibilityjs/logo.svg | 20 +- 286 files changed, 49002 insertions(+), 12977 deletions(-) create mode 100644 libs/bower_components/html5shiv/MIT and GPL2 licenses.md create mode 100644 libs/bower_components/jQuery.dotdotdot/LICENSE.txt create mode 100644 libs/bower_components/jScrollPane/bower.json create mode 100644 libs/bower_components/jScrollPane/build/.gitignore create mode 100644 libs/bower_components/jScrollPane/build/Gruntfile.js create mode 100644 libs/bower_components/jScrollPane/build/package.json delete mode 100644 libs/bower_components/jquery-placeholder/.gitattributes delete mode 100644 libs/bower_components/jquery-placeholder/.gitignore delete mode 100644 libs/bower_components/jquery-placeholder/LICENSE-MIT.txt delete mode 100644 libs/bower_components/jquery-placeholder/README.md delete mode 100644 libs/bower_components/jquery-placeholder/demo.html delete mode 100644 libs/bower_components/jquery-placeholder/tests/index.html delete mode 100644 libs/bower_components/jquery-placeholder/tests/tests.js create mode 100644 libs/bower_components/jquery/AUTHORS.txt create mode 100644 libs/bower_components/jquery/LICENSE.txt delete mode 100644 libs/bower_components/jquery/MIT-LICENSE.txt create mode 100644 libs/bower_components/jquery/README.md create mode 100644 libs/bower_components/jquery/dist/jquery.slim.js create mode 100644 libs/bower_components/jquery/dist/jquery.slim.min.js create mode 100644 libs/bower_components/jquery/dist/jquery.slim.min.map create mode 100644 libs/bower_components/jquery/sizzle/LICENSE.txt create mode 100644 libs/bower_components/jquery/sizzle/dist/sizzle.js create mode 100644 libs/bower_components/jquery/sizzle/dist/sizzle.min.js create mode 100644 libs/bower_components/jquery/sizzle/dist/sizzle.min.map create mode 100644 libs/bower_components/jquery/src/.jshintrc create mode 100644 libs/bower_components/jquery/src/ajax/var/location.js create mode 100644 libs/bower_components/jquery/src/core/DOMEval.js create mode 100644 libs/bower_components/jquery/src/core/support.js create mode 100644 libs/bower_components/jquery/src/css/adjustCSS.js create mode 100644 libs/bower_components/jquery/src/css/showHide.js delete mode 100644 libs/bower_components/jquery/src/css/swap.js create mode 100644 libs/bower_components/jquery/src/css/var/getStyles.js create mode 100644 libs/bower_components/jquery/src/css/var/swap.js create mode 100644 libs/bower_components/jquery/src/data/Data.js create mode 100644 libs/bower_components/jquery/src/data/var/acceptData.js create mode 100644 libs/bower_components/jquery/src/data/var/dataPriv.js create mode 100644 libs/bower_components/jquery/src/data/var/dataUser.js create mode 100644 libs/bower_components/jquery/src/deferred/exceptionHook.js create mode 100644 libs/bower_components/jquery/src/event/ajax.js create mode 100644 libs/bower_components/jquery/src/event/focusin.js create mode 100644 libs/bower_components/jquery/src/event/trigger.js create mode 100644 libs/bower_components/jquery/src/manipulation/buildFragment.js create mode 100644 libs/bower_components/jquery/src/manipulation/createSafeFragment.js create mode 100644 libs/bower_components/jquery/src/manipulation/getAll.js create mode 100644 libs/bower_components/jquery/src/manipulation/setGlobalEval.js create mode 100644 libs/bower_components/jquery/src/manipulation/var/nodeNames.js create mode 100644 libs/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js create mode 100644 libs/bower_components/jquery/src/manipulation/var/rscriptType.js create mode 100644 libs/bower_components/jquery/src/manipulation/var/rtagName.js create mode 100644 libs/bower_components/jquery/src/manipulation/wrapMap.js create mode 100644 libs/bower_components/jquery/src/selector-native.js delete mode 100644 libs/bower_components/jquery/src/sizzle/dist/sizzle.js delete mode 100644 libs/bower_components/jquery/src/sizzle/dist/sizzle.min.js delete mode 100644 libs/bower_components/jquery/src/sizzle/dist/sizzle.min.map create mode 100644 libs/bower_components/jquery/src/traversing/var/dir.js create mode 100644 libs/bower_components/jquery/src/traversing/var/siblings.js create mode 100644 libs/bower_components/jquery/src/var/arr.js create mode 100644 libs/bower_components/jquery/src/var/document.js create mode 100644 libs/bower_components/jquery/src/var/documentElement.js create mode 100644 libs/bower_components/jquery/src/var/rcssNum.js delete mode 100644 libs/bower_components/jquery/src/var/strundefined.js create mode 100644 libs/bower_components/materialize/.bower.json create mode 100644 libs/bower_components/materialize/.editorconfig create mode 100644 libs/bower_components/materialize/.gitattributes create mode 100644 libs/bower_components/materialize/.npmignore create mode 100644 libs/bower_components/materialize/.travis.yml create mode 100644 libs/bower_components/materialize/CHANGELOG.md create mode 100644 libs/bower_components/materialize/CONTRIBUTING.md create mode 100644 libs/bower_components/materialize/LICENSE create mode 100644 libs/bower_components/materialize/bin/materialize.css create mode 100644 libs/bower_components/materialize/bin/materialize.js create mode 100644 libs/bower_components/materialize/bower.json create mode 100644 libs/bower_components/materialize/dist/css/materialize.css create mode 100644 libs/bower_components/materialize/dist/css/materialize.min.css create mode 100644 libs/bower_components/materialize/dist/js/materialize.js create mode 100644 libs/bower_components/materialize/dist/js/materialize.min.js create mode 100644 libs/bower_components/materialize/extras/noUiSlider/nouislider.css create mode 100644 libs/bower_components/materialize/extras/noUiSlider/nouislider.js create mode 100644 libs/bower_components/materialize/extras/noUiSlider/nouislider.min.js create mode 100644 libs/bower_components/materialize/package.js create mode 100644 libs/bower_components/sprintf/dist/angular-sprintf.min.js.map create mode 100644 libs/bower_components/sprintf/dist/sprintf.min.js.map create mode 100644 libs/bower_components/visibilityjs/component.json (limited to 'libs') diff --git a/libs/README.md b/libs/README.md index 083684c962..edc4a97dc1 100644 --- a/libs/README.md +++ b/libs/README.md @@ -31,3 +31,6 @@ third-party libraries: - fix #6980 ("Array to string conversion") in `Zend/Session/Exception.php` - fix Zend/Validate using deprecated iconv_set_encoding() - Make sure sessions work when storing notifications + * materialize/ + - in materialize.min.css removed the loading of Roboto fonts as the paths do not match and couldn't be loaded. Also + we do not want to load as many different font styles of Roboto font. \ No newline at end of file diff --git a/libs/bower_components/angular-animate/.bower.json b/libs/bower_components/angular-animate/.bower.json index 39c2c06f6e..7e3aa310c7 100644 --- a/libs/bower_components/angular-animate/.bower.json +++ b/libs/bower_components/angular-animate/.bower.json @@ -1,19 +1,20 @@ { "name": "angular-animate", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular-animate.js", "ignore": [], "dependencies": { - "angular": "1.4.3" + "angular": "1.4.10" }, "homepage": "https://github.com/angular/bower-angular-animate", - "_release": "1.4.3", + "_release": "1.4.10", "_resolution": { "type": "version", - "tag": "v1.4.3", - "commit": "4ce2a76359401102d2e0146ccf69e6c060799ff8" + "tag": "v1.4.10", + "commit": "c6575375d3dae35c98b5ad384978612fe33ee8e2" }, - "_source": "git://github.com/angular/bower-angular-animate.git", + "_source": "https://github.com/angular/bower-angular-animate.git", "_target": "~1.4.0", "_originalSource": "angular-animate" } \ No newline at end of file diff --git a/libs/bower_components/angular-animate/angular-animate.js b/libs/bower_components/angular-animate/angular-animate.js index fc0e217f7e..7c0677e261 100644 --- a/libs/bower_components/angular-animate/angular-animate.js +++ b/libs/bower_components/angular-animate/angular-animate.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.3 + * @license AngularJS v1.4.10 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ @@ -7,6 +7,7 @@ /* jshint ignore:start */ var noop = angular.noop; +var copy = angular.copy; var extend = angular.extend; var jqLite = angular.element; var forEach = angular.forEach; @@ -21,13 +22,63 @@ var isElement = angular.isElement; var ELEMENT_NODE = 1; var COMMENT_NODE = 8; +var ADD_CLASS_SUFFIX = '-add'; +var REMOVE_CLASS_SUFFIX = '-remove'; +var EVENT_CLASS_PREFIX = 'ng-'; +var ACTIVE_CLASS_SUFFIX = '-active'; +var PREPARE_CLASS_SUFFIX = '-prepare'; + var NG_ANIMATE_CLASSNAME = 'ng-animate'; var NG_ANIMATE_CHILDREN_DATA = '$$ngAnimateChildren'; +// Detect proper transitionend/animationend event names. +var CSS_PREFIX = '', TRANSITION_PROP, TRANSITIONEND_EVENT, ANIMATION_PROP, ANIMATIONEND_EVENT; + +// If unprefixed events are not supported but webkit-prefixed are, use the latter. +// Otherwise, just use W3C names, browsers not supporting them at all will just ignore them. +// Note: Chrome implements `window.onwebkitanimationend` and doesn't implement `window.onanimationend` +// but at the same time dispatches the `animationend` event and not `webkitAnimationEnd`. +// Register both events in case `window.onanimationend` is not supported because of that, +// do the same for `transitionend` as Safari is likely to exhibit similar behavior. +// Also, the only modern browser that uses vendor prefixes for transitions/keyframes is webkit +// therefore there is no reason to test anymore for other vendor prefixes: +// http://caniuse.com/#search=transition +if (isUndefined(window.ontransitionend) && isDefined(window.onwebkittransitionend)) { + CSS_PREFIX = '-webkit-'; + TRANSITION_PROP = 'WebkitTransition'; + TRANSITIONEND_EVENT = 'webkitTransitionEnd transitionend'; +} else { + TRANSITION_PROP = 'transition'; + TRANSITIONEND_EVENT = 'transitionend'; +} + +if (isUndefined(window.onanimationend) && isDefined(window.onwebkitanimationend)) { + CSS_PREFIX = '-webkit-'; + ANIMATION_PROP = 'WebkitAnimation'; + ANIMATIONEND_EVENT = 'webkitAnimationEnd animationend'; +} else { + ANIMATION_PROP = 'animation'; + ANIMATIONEND_EVENT = 'animationend'; +} + +var DURATION_KEY = 'Duration'; +var PROPERTY_KEY = 'Property'; +var DELAY_KEY = 'Delay'; +var TIMING_KEY = 'TimingFunction'; +var ANIMATION_ITERATION_COUNT_KEY = 'IterationCount'; +var ANIMATION_PLAYSTATE_KEY = 'PlayState'; +var SAFE_FAST_FORWARD_DURATION_VALUE = 9999; + +var ANIMATION_DELAY_PROP = ANIMATION_PROP + DELAY_KEY; +var ANIMATION_DURATION_PROP = ANIMATION_PROP + DURATION_KEY; +var TRANSITION_DELAY_PROP = TRANSITION_PROP + DELAY_KEY; +var TRANSITION_DURATION_PROP = TRANSITION_PROP + DURATION_KEY; + var isPromiseLike = function(p) { return p && p.then ? true : false; -} +}; +var ngMinErr = angular.$$minErr('ng'); function assertArg(arg, name, reason) { if (!arg) { throw ngMinErr('areq', "Argument '{0}' is {1}", (name || '?'), (reason || "required")); @@ -172,13 +223,29 @@ function applyAnimationToStyles(element, options) { } } -function mergeAnimationOptions(element, target, newOptions) { +function mergeAnimationDetails(element, oldAnimation, newAnimation) { + var target = oldAnimation.options || {}; + var newOptions = newAnimation.options || {}; + var toAdd = (target.addClass || '') + ' ' + (newOptions.addClass || ''); var toRemove = (target.removeClass || '') + ' ' + (newOptions.removeClass || ''); var classes = resolveElementClasses(element.attr('class'), toAdd, toRemove); + if (newOptions.preparationClasses) { + target.preparationClasses = concatWithSpace(newOptions.preparationClasses, target.preparationClasses); + delete newOptions.preparationClasses; + } + + // noop is basically when there is no callback; otherwise something has been set + var realDomOperation = target.domOperation !== noop ? target.domOperation : null; + extend(target, newOptions); + // TODO(matsko or sreeramu): proper fix is to maintain all animation callback in array and call at last,but now only leave has the callback so no issue with this. + if (realDomOperation) { + target.domOperation = realDomOperation; + } + if (classes.addClass) { target.addClass = classes.addClass; } else { @@ -191,6 +258,9 @@ function mergeAnimationOptions(element, target, newOptions) { target.removeClass = null; } + oldAnimation.addClass = target.addClass; + oldAnimation.removeClass = target.removeClass; + return target; } @@ -256,18 +326,75 @@ function getDomNode(element) { return (element instanceof angular.element) ? element[0] : element; } +function applyGeneratedPreparationClasses(element, event, options) { + var classes = ''; + if (event) { + classes = pendClasses(event, EVENT_CLASS_PREFIX, true); + } + if (options.addClass) { + classes = concatWithSpace(classes, pendClasses(options.addClass, ADD_CLASS_SUFFIX)); + } + if (options.removeClass) { + classes = concatWithSpace(classes, pendClasses(options.removeClass, REMOVE_CLASS_SUFFIX)); + } + if (classes.length) { + options.preparationClasses = classes; + element.addClass(classes); + } +} + +function clearGeneratedClasses(element, options) { + if (options.preparationClasses) { + element.removeClass(options.preparationClasses); + options.preparationClasses = null; + } + if (options.activeClasses) { + element.removeClass(options.activeClasses); + options.activeClasses = null; + } +} + +function blockTransitions(node, duration) { + // we use a negative delay value since it performs blocking + // yet it doesn't kill any existing transitions running on the + // same element which makes this safe for class-based animations + var value = duration ? '-' + duration + 's' : ''; + applyInlineStyle(node, [TRANSITION_DELAY_PROP, value]); + return [TRANSITION_DELAY_PROP, value]; +} + +function blockKeyframeAnimations(node, applyBlock) { + var value = applyBlock ? 'paused' : ''; + var key = ANIMATION_PROP + ANIMATION_PLAYSTATE_KEY; + applyInlineStyle(node, [key, value]); + return [key, value]; +} + +function applyInlineStyle(node, styleTuple) { + var prop = styleTuple[0]; + var value = styleTuple[1]; + node.style[prop] = value; +} + +function concatWithSpace(a,b) { + if (!a) return b; + if (!b) return a; + return a + ' ' + b; +} + var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { - var tickQueue = []; - var cancelFn; + var queue, cancelFn; function scheduler(tasks) { // we make a copy since RAFScheduler mutates the state // of the passed in array variable and this would be difficult // to track down on the outside code - tickQueue.push([].concat(tasks)); + queue = queue.concat(tasks); nextTick(); } + queue = scheduler.queue = []; + /* waitUntilQuiet does two things: * 1. It will run the FINAL `fn` value only when an uncancelled RAF has passed through * 2. It will delay the next wave of tasks from running until the quiet `fn` has run. @@ -289,17 +416,12 @@ var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { return scheduler; function nextTick() { - if (!tickQueue.length) return; + if (!queue.length) return; - var updatedQueue = []; - for (var i = 0; i < tickQueue.length; i++) { - var innerQueue = tickQueue[i]; - runNextTask(innerQueue); - if (innerQueue.length) { - updatedQueue.push(innerQueue); - } + var items = queue.shift(); + for (var i = 0; i < items.length; i++) { + items[i](); } - tickQueue = updatedQueue; if (!cancelFn) { $$rAF(function() { @@ -307,27 +429,109 @@ var $$rAFSchedulerFactory = ['$$rAF', function($$rAF) { }); } } - - function runNextTask(tasks) { - var nextTask = tasks.shift(); - nextTask(); - } }]; -var $$AnimateChildrenDirective = [function() { - return function(scope, element, attrs) { - var val = attrs.ngAnimateChildren; - if (angular.isString(val) && val.length === 0) { //empty attribute - element.data(NG_ANIMATE_CHILDREN_DATA, true); - } else { - attrs.$observe('ngAnimateChildren', function(value) { +/** + * @ngdoc directive + * @name ngAnimateChildren + * @restrict AE + * @element ANY + * + * @description + * + * ngAnimateChildren allows you to specify that children of this element should animate even if any + * of the children's parents are currently animating. By default, when an element has an active `enter`, `leave`, or `move` + * (structural) animation, child elements that also have an active structural animation are not animated. + * + * Note that even if `ngAnimteChildren` is set, no child animations will run when the parent element is removed from the DOM (`leave` animation). + * + * + * @param {string} ngAnimateChildren If the value is empty, `true` or `on`, + * then child animations are allowed. If the value is `false`, child animations are not allowed. + * + * @example + * + +
+ + +
+
+
+ List of items: +
Item {{item}}
+
+
+
+
+ + + .container.ng-enter, + .container.ng-leave { + transition: all ease 1.5s; + } + + .container.ng-enter, + .container.ng-leave-active { + opacity: 0; + } + + .container.ng-leave, + .container.ng-enter-active { + opacity: 1; + } + + .item { + background: firebrick; + color: #FFF; + margin-bottom: 10px; + } + + .item.ng-enter, + .item.ng-leave { + transition: transform 1.5s ease; + } + + .item.ng-enter { + transform: translateX(50px); + } + + .item.ng-enter-active { + transform: translateX(0); + } + + + angular.module('ngAnimateChildren', ['ngAnimate']) + .controller('mainController', function() { + this.animateChildren = false; + this.enterElement = false; + }); + +
+ */ +var $$AnimateChildrenDirective = ['$interpolate', function($interpolate) { + return { + link: function(scope, element, attrs) { + var val = attrs.ngAnimateChildren; + if (angular.isString(val) && val.length === 0) { //empty attribute + element.data(NG_ANIMATE_CHILDREN_DATA, true); + } else { + // Interpolate and set the value, so that it is available to + // animations that run right after compilation + setData($interpolate(val)(scope)); + attrs.$observe('ngAnimateChildren', setData); + } + + function setData(value) { value = value === 'on' || value === 'true'; element.data(NG_ANIMATE_CHILDREN_DATA, value); - }); + } } }; }]; +var ANIMATE_TIMER_KEY = '$$animateCss'; + /** * @ngdoc service * @name $animateCss @@ -512,8 +716,10 @@ var $$AnimateChildrenDirective = [function() { * * * `event` - The DOM event (e.g. enter, leave, move). When used, a generated CSS class of `ng-EVENT` and `ng-EVENT-active` will be applied * to the element during the animation. Multiple events can be provided when spaces are used as a separator. (Note that this will not perform any DOM operation.) + * * `structural` - Indicates that the `ng-` prefix will be added to the event class. Setting to `false` or omitting will turn `ng-EVENT` and + * `ng-EVENT-active` in `EVENT` and `EVENT-active`. Unused if `event` is omitted. * * `easing` - The CSS easing value that will be applied to the transition or keyframe animation (or both). - * * `transition` - The raw CSS transition style that will be used (e.g. `1s linear all`). + * * `transitionStyle` - The raw CSS transition style that will be used (e.g. `1s linear all`). * * `keyframeStyle` - The raw CSS keyframe animation style that will be used (e.g. `1s my_animation linear`). * * `from` - The starting CSS styles (a key/value object) that will be applied at the start of the animation. * * `to` - The ending CSS styles (a key/value object) that will be applied across the animation via a CSS transition. @@ -528,63 +734,23 @@ var $$AnimateChildrenDirective = [function() { * * `stagger` - A numeric time value representing the delay between successively animated elements * ({@link ngAnimate#css-staggering-animations Click here to learn how CSS-based staggering works in ngAnimate.}) * * `staggerIndex` - The numeric index representing the stagger item (e.g. a value of 5 is equal to the sixth item in the stagger; therefore when a - * `stagger` option value of `0.1` is used then there will be a stagger delay of `600ms`) - * `applyClassesEarly` - Whether or not the classes being added or removed will be used when detecting the animation. This is set by `$animate` when enter/leave/move animations are fired to ensure that the CSS classes are resolved in time. (Note that this will prevent any transitions from occuring on the classes being added and removed.) + * * `stagger` option value of `0.1` is used then there will be a stagger delay of `600ms`) + * * `applyClassesEarly` - Whether or not the classes being added or removed will be used when detecting the animation. This is set by `$animate` when enter/leave/move animations are fired to ensure that the CSS classes are resolved in time. (Note that this will prevent any transitions from occuring on the classes being added and removed.) + * * `cleanupStyles` - Whether or not the provided `from` and `to` styles will be removed once + * the animation is closed. This is useful for when the styles are used purely for the sake of + * the animation and do not have a lasting visual effect on the element (e.g. a colapse and open animation). + * By default this value is set to `false`. * * @return {object} an object with start and end methods and details about the animation. * * * `start` - The method to start the animation. This will return a `Promise` when called. * * `end` - This method will cancel the animation and remove all applied CSS classes and styles. */ - -// Detect proper transitionend/animationend event names. -var CSS_PREFIX = '', TRANSITION_PROP, TRANSITIONEND_EVENT, ANIMATION_PROP, ANIMATIONEND_EVENT; - -// If unprefixed events are not supported but webkit-prefixed are, use the latter. -// Otherwise, just use W3C names, browsers not supporting them at all will just ignore them. -// Note: Chrome implements `window.onwebkitanimationend` and doesn't implement `window.onanimationend` -// but at the same time dispatches the `animationend` event and not `webkitAnimationEnd`. -// Register both events in case `window.onanimationend` is not supported because of that, -// do the same for `transitionend` as Safari is likely to exhibit similar behavior. -// Also, the only modern browser that uses vendor prefixes for transitions/keyframes is webkit -// therefore there is no reason to test anymore for other vendor prefixes: -// http://caniuse.com/#search=transition -if (window.ontransitionend === undefined && window.onwebkittransitionend !== undefined) { - CSS_PREFIX = '-webkit-'; - TRANSITION_PROP = 'WebkitTransition'; - TRANSITIONEND_EVENT = 'webkitTransitionEnd transitionend'; -} else { - TRANSITION_PROP = 'transition'; - TRANSITIONEND_EVENT = 'transitionend'; -} - -if (window.onanimationend === undefined && window.onwebkitanimationend !== undefined) { - CSS_PREFIX = '-webkit-'; - ANIMATION_PROP = 'WebkitAnimation'; - ANIMATIONEND_EVENT = 'webkitAnimationEnd animationend'; -} else { - ANIMATION_PROP = 'animation'; - ANIMATIONEND_EVENT = 'animationend'; -} - -var DURATION_KEY = 'Duration'; -var PROPERTY_KEY = 'Property'; -var DELAY_KEY = 'Delay'; -var TIMING_KEY = 'TimingFunction'; -var ANIMATION_ITERATION_COUNT_KEY = 'IterationCount'; -var ANIMATION_PLAYSTATE_KEY = 'PlayState'; -var ELAPSED_TIME_MAX_DECIMAL_PLACES = 3; -var CLOSING_TIME_BUFFER = 1.5; var ONE_SECOND = 1000; var BASE_TEN = 10; -var SAFE_FAST_FORWARD_DURATION_VALUE = 9999; - -var ANIMATION_DELAY_PROP = ANIMATION_PROP + DELAY_KEY; -var ANIMATION_DURATION_PROP = ANIMATION_PROP + DURATION_KEY; - -var TRANSITION_DELAY_PROP = TRANSITION_PROP + DELAY_KEY; -var TRANSITION_DURATION_PROP = TRANSITION_PROP + DURATION_KEY; +var ELAPSED_TIME_MAX_DECIMAL_PLACES = 3; +var CLOSING_TIME_BUFFER = 1.5; var DETECT_CSS_PROPERTIES = { transitionDuration: TRANSITION_DURATION_PROP, @@ -602,6 +768,15 @@ var DETECT_STAGGER_CSS_PROPERTIES = { animationDelay: ANIMATION_DELAY_PROP }; +function getCssKeyframeDurationStyle(duration) { + return [ANIMATION_DURATION_PROP, duration + 's']; +} + +function getCssDelayStyle(delay, isKeyframeAnimation) { + var prop = isKeyframeAnimation ? ANIMATION_DELAY_PROP : TRANSITION_DELAY_PROP; + return [prop, delay + 's']; +} + function computeCssStyles($window, element, properties) { var styles = Object.create(null); var detectedStyles = $window.getComputedStyle(element) || {}; @@ -658,37 +833,6 @@ function getCssTransitionDurationStyle(duration, applyOnlyDuration) { return [style, value]; } -function getCssKeyframeDurationStyle(duration) { - return [ANIMATION_DURATION_PROP, duration + 's']; -} - -function getCssDelayStyle(delay, isKeyframeAnimation) { - var prop = isKeyframeAnimation ? ANIMATION_DELAY_PROP : TRANSITION_DELAY_PROP; - return [prop, delay + 's']; -} - -function blockTransitions(node, duration) { - // we use a negative delay value since it performs blocking - // yet it doesn't kill any existing transitions running on the - // same element which makes this safe for class-based animations - var value = duration ? '-' + duration + 's' : ''; - applyInlineStyle(node, [TRANSITION_DELAY_PROP, value]); - return [TRANSITION_DELAY_PROP, value]; -} - -function blockKeyframeAnimations(node, applyBlock) { - var value = applyBlock ? 'paused' : ''; - var key = ANIMATION_PROP + ANIMATION_PLAYSTATE_KEY; - applyInlineStyle(node, [key, value]); - return [key, value]; -} - -function applyInlineStyle(node, styleTuple) { - var prop = styleTuple[0]; - var value = styleTuple[1]; - node.style[prop] = value; -} - function createLocalCacheLookup() { var cache = Object.create(null); return { @@ -716,14 +860,31 @@ function createLocalCacheLookup() { }; } +// we do not reassign an already present style value since +// if we detect the style property value again we may be +// detecting styles that were added via the `from` styles. +// We make use of `isDefined` here since an empty string +// or null value (which is what getPropertyValue will return +// for a non-existing style) will still be marked as a valid +// value for the style (a falsy value implies that the style +// is to be removed at the end of the animation). If we had a simple +// "OR" statement then it would not be enough to catch that. +function registerRestorableStyles(backup, node, properties) { + forEach(properties, function(prop) { + backup[prop] = isDefined(backup[prop]) + ? backup[prop] + : node.style.getPropertyValue(prop); + }); +} + var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { var gcsLookup = createLocalCacheLookup(); var gcsStaggerLookup = createLocalCacheLookup(); this.$get = ['$window', '$$jqLite', '$$AnimateRunner', '$timeout', - '$document', '$sniffer', '$$rAFScheduler', + '$$forceReflow', '$sniffer', '$$rAFScheduler', '$$animateQueue', function($window, $$jqLite, $$AnimateRunner, $timeout, - $document, $sniffer, $$rAFScheduler) { + $$forceReflow, $sniffer, $$rAFScheduler, $$animateQueue) { var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); @@ -780,7 +941,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { return stagger || {}; } - var bod = getDomNode($document).body; + var cancelLastRAFRequest; var rafWaitQueue = []; function waitUntilQuiet(callback) { rafWaitQueue.push(callback); @@ -788,27 +949,19 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { gcsLookup.flush(); gcsStaggerLookup.flush(); - //the line below will force the browser to perform a repaint so - //that all the animated elements within the animation frame will - //be properly updated and drawn on screen. This is required to - //ensure that the preparation animation is properly flushed so that - //the active state picks up from there. DO NOT REMOVE THIS LINE. - //DO NOT OPTIMIZE THIS LINE. THE MINIFIER WILL REMOVE IT OTHERWISE WHICH - //WILL RESULT IN AN UNPREDICTABLE BUG THAT IS VERY HARD TO TRACK DOWN AND - //WILL TAKE YEARS AWAY FROM YOUR LIFE. - var width = bod.offsetWidth + 1; + // DO NOT REMOVE THIS LINE OR REFACTOR OUT THE `pageWidth` variable. + // PLEASE EXAMINE THE `$$forceReflow` service to understand why. + var pageWidth = $$forceReflow(); // we use a for loop to ensure that if the queue is changed // during this looping then it will consider new requests for (var i = 0; i < rafWaitQueue.length; i++) { - rafWaitQueue[i](width); + rafWaitQueue[i](pageWidth); } rafWaitQueue.length = 0; }); } - return init; - function computeTimings(node, className, cacheKey) { var timings = computeCachedCssStyles(node, className, cacheKey, DETECT_CSS_PROPERTIES); var aD = timings.animationDelay; @@ -823,14 +976,24 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { return timings; } - function init(element, options) { + return function init(element, initialOptions) { + // all of the animation functions should create + // a copy of the options data, however, if a + // parent service has already created a copy then + // we should stick to using that + var options = initialOptions || {}; + if (!options.$$prepared) { + options = prepareAnimationOptions(copy(options)); + } + + var restoreStyles = {}; var node = getDomNode(element); - if (!node || !node.parentNode) { + if (!node + || !node.parentNode + || !$$animateQueue.enabled()) { return closeAndReturnNoopAnimator(); } - options = prepareAnimationOptions(options); - var temporaryStyles = []; var classes = element.attr('class'); var styles = packageStyles(options); @@ -843,6 +1006,8 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { var maxDelayTime; var maxDuration; var maxDurationTime; + var startTime; + var events = []; if (options.duration === 0 || (!$sniffer.animations && !$sniffer.transitions)) { return closeAndReturnNoopAnimator(); @@ -857,20 +1022,20 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { var addRemoveClassName = ''; if (isStructural) { - structuralClassName = pendClasses(method, 'ng-', true); + structuralClassName = pendClasses(method, EVENT_CLASS_PREFIX, true); } else if (method) { structuralClassName = method; } if (options.addClass) { - addRemoveClassName += pendClasses(options.addClass, '-add'); + addRemoveClassName += pendClasses(options.addClass, ADD_CLASS_SUFFIX); } if (options.removeClass) { if (addRemoveClassName.length) { addRemoveClassName += ' '; } - addRemoveClassName += pendClasses(options.removeClass, '-remove'); + addRemoveClassName += pendClasses(options.removeClass, REMOVE_CLASS_SUFFIX); } // there may be a situation where a structural animation is combined together @@ -881,12 +1046,11 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { // there actually is a detected transition or keyframe animation if (options.applyClassesEarly && addRemoveClassName.length) { applyAnimationClasses(element, options); - addRemoveClassName = ''; } - var setupClasses = [structuralClassName, addRemoveClassName].join(' ').trim(); - var fullClassName = classes + ' ' + setupClasses; - var activeClasses = pendClasses(setupClasses, '-active'); + var preparationClasses = [structuralClassName, addRemoveClassName].join(' ').trim(); + var fullClassName = classes + ' ' + preparationClasses; + var activeClasses = pendClasses(preparationClasses, ACTIVE_CLASS_SUFFIX); var hasToStyles = styles.to && Object.keys(styles.to).length > 0; var containsKeyframeAnimation = (options.keyframeStyle || '').length > 0; @@ -895,7 +1059,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { // unless there a is raw keyframe value that is applied to the element. if (!containsKeyframeAnimation && !hasToStyles - && !setupClasses) { + && !preparationClasses) { return closeAndReturnNoopAnimator(); } @@ -910,10 +1074,12 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { }; } else { cacheKey = gcsHashFn(node, fullClassName); - stagger = computeCachedCssStaggerStyles(node, setupClasses, cacheKey, DETECT_STAGGER_CSS_PROPERTIES); + stagger = computeCachedCssStaggerStyles(node, preparationClasses, cacheKey, DETECT_STAGGER_CSS_PROPERTIES); } - $$jqLite.addClass(element, setupClasses); + if (!options.$$skipPreparationClasses) { + $$jqLite.addClass(element, preparationClasses); + } var applyOnlyDuration; @@ -952,7 +1118,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { // transition delay to allow for the transition to naturally do it's thing. The beauty here is // that if there is no transition defined then nothing will happen and this will also allow // other transitions to be stacked on top of each other without any chopping them out. - if (isFirst) { + if (isFirst && !options.skipBlocking) { blockTransitions(node, SAFE_FAST_FORWARD_DURATION_VALUE); } @@ -994,6 +1160,23 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { return closeAndReturnNoopAnimator(); } + if (options.delay != null) { + var delayStyle; + if (typeof options.delay !== "boolean") { + delayStyle = parseFloat(options.delay); + // number in options.delay means we have to recalculate the delay for the closing timeout + maxDelay = Math.max(delayStyle, 0); + } + + if (flags.applyTransitionDelay) { + temporaryStyles.push(getCssDelayStyle(delayStyle)); + } + + if (flags.applyAnimationDelay) { + temporaryStyles.push(getCssDelayStyle(delayStyle, true)); + } + } + // we need to recalculate the delay value since we used a pre-emptive negative // delay value and the delay value is required for the final event checking. This // property will ensure that this will happen after the RAF phase has passed. @@ -1010,12 +1193,18 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { stagger.animationDuration === 0; } - applyAnimationFromStyles(element, options); - if (!flags.blockTransition) { - blockTransitions(node, false); + if (options.from) { + if (options.cleanupStyles) { + registerRestorableStyles(restoreStyles, node, Object.keys(options.from)); + } + applyAnimationFromStyles(element, options); } - applyBlocking(maxDuration); + if (flags.blockTransition || flags.blockKeyframeAnimation) { + applyBlocking(maxDuration); + } else if (!options.skipBlocking) { + blockTransitions(node, false); + } // TODO(matsko): for 1.5 change this code to have an animator object for better debugging return { @@ -1058,7 +1247,9 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { animationClosed = true; animationPaused = false; - $$jqLite.removeClass(element, setupClasses); + if (!options.$$skipPreparationClasses) { + $$jqLite.removeClass(element, preparationClasses); + } $$jqLite.removeClass(element, activeClasses); blockKeyframeAnimations(node, false); @@ -1074,6 +1265,13 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { applyAnimationClasses(element, options); applyAnimationStyles(element, options); + if (Object.keys(restoreStyles).length) { + forEach(restoreStyles, function(value, prop) { + value ? node.style.setProperty(prop, value) + : node.style.removeProperty(prop); + }); + } + // the reason why we have this option is to allow a synchronous closing callback // that is fired as SOON as the animation ends (when the CSS is removed) or if // the animation never takes off at all. A good example is a leave animation since @@ -1083,6 +1281,18 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { options.onDone(); } + if (events && events.length) { + // Remove the transitionend / animationend listener(s) + element.off(events.join(' '), onAnimationProgress); + } + + //Cancel the fallback closing timeout and remove the timer data + var animationTimerData = element.data(ANIMATE_TIMER_KEY); + if (animationTimerData) { + $timeout.cancel(animationTimerData[0].timer); + element.removeData(ANIMATE_TIMER_KEY); + } + // if the preparation function fails then the promise is not setup if (runner) { runner.complete(!rejected); @@ -1105,6 +1315,8 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { cancel: cancelFn }); + // should flush the cache animation + waitUntilQuiet(noop); close(); return { @@ -1116,6 +1328,33 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { }; } + function onAnimationProgress(event) { + event.stopPropagation(); + var ev = event.originalEvent || event; + + // we now always use `Date.now()` due to the recent changes with + // event.timeStamp in Firefox, Webkit and Chrome (see #13494 for more info) + var timeStamp = ev.$manualTimeStamp || Date.now(); + + /* Firefox (or possibly just Gecko) likes to not round values up + * when a ms measurement is used for the animation */ + var elapsedTime = parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)); + + /* $manualTimeStamp is a mocked timeStamp value which is set + * within browserTrigger(). This is only here so that tests can + * mock animations properly. Real events fallback to event.timeStamp, + * or, if they don't, then a timeStamp is automatically created for them. + * We're checking to see if the timeStamp surpasses the expected delay, + * but we're using elapsedTime instead of the timeStamp on the 2nd + * pre-condition since animationPauseds sometimes close off early */ + if (Math.max(timeStamp - startTime, 0) >= maxDelayTime && elapsedTime >= maxDuration) { + // we set this flag to ensure that if the transition is paused then, when resumed, + // the animation will automatically close itself since transitions cannot be paused. + animationCompleted = true; + close(); + } + } + function start() { if (animationClosed) return; if (!node.parentNode) { @@ -1123,8 +1362,6 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { return; } - var startTime, events = []; - // even though we only pause keyframe animations here the pause flag // will still happen when transitions are used. Only the transition will // not be paused since that is not possible. If the animation ends when @@ -1185,7 +1422,7 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { $$jqLite.addClass(element, activeClasses); if (flags.recalculateTimingStyles) { - fullClassName = node.className + ' ' + setupClasses; + fullClassName = node.className + ' ' + preparationClasses; cacheKey = gcsHashFn(node, fullClassName); timings = computeTimings(node, fullClassName, cacheKey); @@ -1202,27 +1439,16 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { flags.hasAnimations = timings.animationDuration > 0; } - if (flags.applyTransitionDelay || flags.applyAnimationDelay) { + if (flags.applyAnimationDelay) { relativeDelay = typeof options.delay !== "boolean" && truthyTimingValue(options.delay) ? parseFloat(options.delay) : relativeDelay; maxDelay = Math.max(relativeDelay, 0); - - var delayStyle; - if (flags.applyTransitionDelay) { - timings.transitionDelay = relativeDelay; - delayStyle = getCssDelayStyle(relativeDelay); - temporaryStyles.push(delayStyle); - node.style[delayStyle[0]] = delayStyle[1]; - } - - if (flags.applyAnimationDelay) { - timings.animationDelay = relativeDelay; - delayStyle = getCssDelayStyle(relativeDelay, true); - temporaryStyles.push(delayStyle); - node.style[delayStyle[0]] = delayStyle[1]; - } + timings.animationDelay = relativeDelay; + delayStyle = getCssDelayStyle(relativeDelay, true); + temporaryStyles.push(delayStyle); + node.style[delayStyle[0]] = delayStyle[1]; } maxDelayTime = maxDelay * ONE_SECOND; @@ -1251,44 +1477,58 @@ var $AnimateCssProvider = ['$animateProvider', function($animateProvider) { } startTime = Date.now(); - element.on(events.join(' '), onAnimationProgress); - $timeout(onAnimationExpired, maxDelayTime + CLOSING_TIME_BUFFER * maxDurationTime); + var timerTime = maxDelayTime + CLOSING_TIME_BUFFER * maxDurationTime; + var endTime = startTime + timerTime; + + var animationsData = element.data(ANIMATE_TIMER_KEY) || []; + var setupFallbackTimer = true; + if (animationsData.length) { + var currentTimerData = animationsData[0]; + setupFallbackTimer = endTime > currentTimerData.expectedEndTime; + if (setupFallbackTimer) { + $timeout.cancel(currentTimerData.timer); + } else { + animationsData.push(close); + } + } - applyAnimationToStyles(element, options); - } + if (setupFallbackTimer) { + var timer = $timeout(onAnimationExpired, timerTime, false); + animationsData[0] = { + timer: timer, + expectedEndTime: endTime + }; + animationsData.push(close); + element.data(ANIMATE_TIMER_KEY, animationsData); + } - function onAnimationExpired() { - // although an expired animation is a failed animation, getting to - // this outcome is very easy if the CSS code screws up. Therefore we - // should still continue normally as if the animation completed correctly. - close(); + if (events.length) { + element.on(events.join(' '), onAnimationProgress); + } + + if (options.to) { + if (options.cleanupStyles) { + registerRestorableStyles(restoreStyles, node, Object.keys(options.to)); + } + applyAnimationToStyles(element, options); + } } - function onAnimationProgress(event) { - event.stopPropagation(); - var ev = event.originalEvent || event; - var timeStamp = ev.$manualTimeStamp || ev.timeStamp || Date.now(); - - /* Firefox (or possibly just Gecko) likes to not round values up - * when a ms measurement is used for the animation */ - var elapsedTime = parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES)); - - /* $manualTimeStamp is a mocked timeStamp value which is set - * within browserTrigger(). This is only here so that tests can - * mock animations properly. Real events fallback to event.timeStamp, - * or, if they don't, then a timeStamp is automatically created for them. - * We're checking to see if the timeStamp surpasses the expected delay, - * but we're using elapsedTime instead of the timeStamp on the 2nd - * pre-condition since animations sometimes close off early */ - if (Math.max(timeStamp - startTime, 0) >= maxDelayTime && elapsedTime >= maxDuration) { - // we set this flag to ensure that if the transition is paused then, when resumed, - // the animation will automatically close itself since transitions cannot be paused. - animationCompleted = true; - close(); + function onAnimationExpired() { + var animationsData = element.data(ANIMATE_TIMER_KEY); + + // this will be false in the event that the element was + // removed from the DOM (via a leave animation or something + // similar) + if (animationsData) { + for (var i = 1; i < animationsData.length; i++) { + animationsData[i](); + } + element.removeData(ANIMATE_TIMER_KEY); } } } - } + }; }]; }]; @@ -1301,16 +1541,27 @@ var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationPro var NG_OUT_ANCHOR_CLASS_NAME = 'ng-anchor-out'; var NG_IN_ANCHOR_CLASS_NAME = 'ng-anchor-in'; - this.$get = ['$animateCss', '$rootScope', '$$AnimateRunner', '$rootElement', '$document', '$sniffer', - function($animateCss, $rootScope, $$AnimateRunner, $rootElement, $document, $sniffer) { + function isDocumentFragment(node) { + return node.parentNode && node.parentNode.nodeType === 11; + } + + this.$get = ['$animateCss', '$rootScope', '$$AnimateRunner', '$rootElement', '$sniffer', '$$jqLite', '$document', + function($animateCss, $rootScope, $$AnimateRunner, $rootElement, $sniffer, $$jqLite, $document) { // only browsers that support these properties can render animations if (!$sniffer.animations && !$sniffer.transitions) return noop; - var bodyNode = getDomNode($document).body; + var bodyNode = $document[0].body; var rootNode = getDomNode($rootElement); - var rootBodyElement = jqLite(bodyNode.parentNode === rootNode ? bodyNode : rootNode); + var rootBodyElement = jqLite( + // this is to avoid using something that exists outside of the body + // we also special case the doc fragement case because our unit test code + // appends the $rootElement to the body after the app has been bootstrapped + isDocumentFragment(rootNode) || bodyNode.contains(rootNode) ? rootNode : bodyNode + ); + + var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); return function initDriverFn(animationDetails) { return animationDetails.from && animationDetails.to @@ -1462,8 +1713,8 @@ var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationPro } function prepareFromToAnchorAnimation(from, to, classes, anchors) { - var fromAnimation = prepareRegularAnimation(from); - var toAnimation = prepareRegularAnimation(to); + var fromAnimation = prepareRegularAnimation(from, noop); + var toAnimation = prepareRegularAnimation(to, noop); var anchorAnimations = []; forEach(anchors, function(anchor) { @@ -1519,19 +1770,23 @@ var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationPro var options = animationDetails.options || {}; if (animationDetails.structural) { - // structural animations ensure that the CSS classes are always applied - // before the detection starts. - options.structural = options.applyClassesEarly = true; + options.event = animationDetails.event; + options.structural = true; + options.applyClassesEarly = true; // we special case the leave animation since we want to ensure that // the element is removed as soon as the animation is over. Otherwise // a flicker might appear or the element may not be removed at all - options.event = animationDetails.event; - if (options.event === 'leave') { + if (animationDetails.event === 'leave') { options.onDone = options.domOperation; } - } else { - options.event = null; + } + + // We assign the preparationClasses as the actual animation event since + // the internals of $animateCss will just suffix the event token values + // with `-active` to trigger the animation. + if (options.preparationClasses) { + options.event = concatWithSpace(options.event, options.preparationClasses); } var animator = $animateCss(element, options); @@ -1550,12 +1805,14 @@ var $$AnimateCssDriverProvider = ['$$animationProvider', function($$animationPro // by the time... var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { - this.$get = ['$injector', '$$AnimateRunner', '$$rAFMutex', '$$jqLite', - function($injector, $$AnimateRunner, $$rAFMutex, $$jqLite) { + this.$get = ['$injector', '$$AnimateRunner', '$$jqLite', + function($injector, $$AnimateRunner, $$jqLite) { var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); // $animateJs(element, 'enter'); return function(element, event, classes, options) { + var animationClosed = false; + // the `classes` argument is optional and if it is not used // then the classes will be resolved from the element's className // property as well as options.addClass/options.removeClass. @@ -1608,8 +1865,32 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { applyAnimationClasses(element, options); } + function close() { + animationClosed = true; + applyOptions(); + applyAnimationStyles(element, options); + } + + var runner; + return { + $$willAnimate: true, + end: function() { + if (runner) { + runner.end(); + } else { + close(); + runner = new $$AnimateRunner(); + runner.complete(true); + } + return runner; + }, start: function() { + if (runner) { + return runner; + } + + runner = new $$AnimateRunner(); var closeActiveAnimations; var chain = []; @@ -1634,8 +1915,7 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { }); } - var animationClosed = false; - var runner = new $$AnimateRunner({ + runner.setHost({ end: function() { endAnimations(); }, @@ -1648,9 +1928,7 @@ var $$AnimateJsProvider = ['$animateProvider', function($animateProvider) { return runner; function onComplete(success) { - animationClosed = true; - applyOptions(); - applyAnimationStyles(element, options); + close(success); runner.complete(success); } @@ -1870,6 +2148,7 @@ var NG_ANIMATE_PIN_DATA = '$ngAnimatePin'; var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { var PRE_DIGEST_STATE = 1; var RUNNING_STATE = 2; + var ONE_SPACE = ' '; var rules = this.rules = { skip: [], @@ -1877,28 +2156,50 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { join: [] }; + function makeTruthyCssClassMap(classString) { + if (!classString) { + return null; + } + + var keys = classString.split(ONE_SPACE); + var map = Object.create(null); + + forEach(keys, function(key) { + map[key] = true; + }); + return map; + } + + function hasMatchingClasses(newClassString, currentClassString) { + if (newClassString && currentClassString) { + var currentClassMap = makeTruthyCssClassMap(currentClassString); + return newClassString.split(ONE_SPACE).some(function(className) { + return currentClassMap[className]; + }); + } + } + function isAllowed(ruleType, element, currentAnimation, previousAnimation) { return rules[ruleType].some(function(fn) { return fn(element, currentAnimation, previousAnimation); }); } - function hasAnimationClasses(options, and) { - options = options || {}; - var a = (options.addClass || '').length > 0; - var b = (options.removeClass || '').length > 0; + function hasAnimationClasses(animation, and) { + var a = (animation.addClass || '').length > 0; + var b = (animation.removeClass || '').length > 0; return and ? a && b : a || b; } rules.join.push(function(element, newAnimation, currentAnimation) { // if the new animation is class-based then we can just tack that on - return !newAnimation.structural && hasAnimationClasses(newAnimation.options); + return !newAnimation.structural && hasAnimationClasses(newAnimation); }); rules.skip.push(function(element, newAnimation, currentAnimation) { // there is no need to animate anything if no classes are being added and // there is no structural animation that will be triggered - return !newAnimation.structural && !hasAnimationClasses(newAnimation.options); + return !newAnimation.structural && !hasAnimationClasses(newAnimation); }); rules.skip.push(function(element, newAnimation, currentAnimation) { @@ -1908,8 +2209,8 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { }); rules.skip.push(function(element, newAnimation, currentAnimation) { - // if there is a current animation then skip the class-based animation - return currentAnimation.structural && !newAnimation.structural; + // if there is an ongoing current animation then don't even bother running the class-based animation + return currentAnimation.structural && currentAnimation.state === RUNNING_STATE && !newAnimation.structural; }); rules.cancel.push(function(element, newAnimation, currentAnimation) { @@ -1924,23 +2225,46 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { }); rules.cancel.push(function(element, newAnimation, currentAnimation) { - var nO = newAnimation.options; - var cO = currentAnimation.options; + var nA = newAnimation.addClass; + var nR = newAnimation.removeClass; + var cA = currentAnimation.addClass; + var cR = currentAnimation.removeClass; + + // early detection to save the global CPU shortage :) + if ((isUndefined(nA) && isUndefined(nR)) || (isUndefined(cA) && isUndefined(cR))) { + return false; + } - // if the exact same CSS class is added/removed then it's safe to cancel it - return (nO.addClass && nO.addClass === cO.removeClass) || (nO.removeClass && nO.removeClass === cO.addClass); + return hasMatchingClasses(nA, cR) || hasMatchingClasses(nR, cA); }); this.$get = ['$$rAF', '$rootScope', '$rootElement', '$document', '$$HashMap', - '$$animation', '$$AnimateRunner', '$templateRequest', '$$jqLite', + '$$animation', '$$AnimateRunner', '$templateRequest', '$$jqLite', '$$forceReflow', function($$rAF, $rootScope, $rootElement, $document, $$HashMap, - $$animation, $$AnimateRunner, $templateRequest, $$jqLite) { + $$animation, $$AnimateRunner, $templateRequest, $$jqLite, $$forceReflow) { var activeAnimationsLookup = new $$HashMap(); var disabledElementsLookup = new $$HashMap(); - var animationsEnabled = null; + function postDigestTaskFactory() { + var postDigestCalled = false; + return function(fn) { + // we only issue a call to postDigest before + // it has first passed. This prevents any callbacks + // from not firing once the animation has completed + // since it will be out of the digest cycle. + if (postDigestCalled) { + fn(); + } else { + $rootScope.$$postDigest(function() { + postDigestCalled = true; + fn(); + }); + } + }; + } + // Wait until all directive and route-related templates are downloaded and // compiled. The $templateRequest.totalPendingRequests variable keeps track of // all of the remote templates being currently downloaded. If there are no @@ -1970,8 +2294,6 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { } ); - var bodyElement = jqLite($document[0].body); - var callbackRegistry = {}; // remember that the classNameFilter is set during the provider/config @@ -1985,18 +2307,28 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - function normalizeAnimationOptions(element, options) { - return mergeAnimationOptions(element, options, {}); + function normalizeAnimationDetails(element, animation) { + return mergeAnimationDetails(element, animation, {}); } - function findCallbacks(element, event) { + // IE9-11 has no method "contains" in SVG element and in Node.prototype. Bug #10259. + var contains = Node.prototype.contains || function(arg) { + // jshint bitwise: false + return this === arg || !!(this.compareDocumentPosition(arg) & 16); + // jshint bitwise: true + }; + + function findCallbacks(parent, element, event) { var targetNode = getDomNode(element); + var targetParentNode = getDomNode(parent); var matches = []; var entries = callbackRegistry[event]; if (entries) { forEach(entries, function(entry) { - if (entry.node.contains(targetNode)) { + if (contains.call(entry.node, targetNode)) { + matches.push(entry.callback); + } else if (event === 'leave' && contains.call(entry.node, targetParentNode)) { matches.push(entry.callback); } }); @@ -2005,14 +2337,6 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return matches; } - function triggerCallback(event, element, phase, data) { - $$rAF(function() { - forEach(findCallbacks(element, event), function(callback) { - callback(element, phase, data); - }); - }); - } - return { on: function(event, container, callback) { var node = extractElementNode(container); @@ -2079,12 +2403,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { bool = !recordExists; } else { // (element, bool) - Element setter - bool = !!bool; - if (!bool) { - disabledElementsLookup.put(node, true); - } else if (recordExists) { - disabledElementsLookup.remove(node); - } + disabledElementsLookup.put(node, !bool); } } } @@ -2093,7 +2412,12 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { } }; - function queueAnimation(element, event, options) { + function queueAnimation(element, event, initialOptions) { + // we always make a copy of the options since + // there should never be any side effects on + // the input data when running `$animateCss`. + var options = copy(initialOptions); + var node, parent; element = stripCommentsFromElement(element); if (element) { @@ -2107,22 +2431,25 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // These methods will become available after the digest has passed var runner = new $$AnimateRunner(); - // there are situations where a directive issues an animation for - // a jqLite wrapper that contains only comment nodes... If this - // happens then there is no way we can perform an animation - if (!node) { - close(); - return runner; - } + // this is used to trigger callbacks in postDigest mode + var runInNextPostDigestOrNow = postDigestTaskFactory(); if (isArray(options.addClass)) { options.addClass = options.addClass.join(' '); } + if (options.addClass && !isString(options.addClass)) { + options.addClass = null; + } + if (isArray(options.removeClass)) { options.removeClass = options.removeClass.join(' '); } + if (options.removeClass && !isString(options.removeClass)) { + options.removeClass = null; + } + if (options.from && !isObject(options.from)) { options.from = null; } @@ -2131,6 +2458,14 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { options.to = null; } + // there are situations where a directive issues an animation for + // a jqLite wrapper that contains only comment nodes... If this + // happens then there is no way we can perform an animation + if (!node) { + close(); + return runner; + } + var className = [node.className, options.addClass, options.removeClass].join(' '); if (!isAnimatableClassName(className)) { close(); @@ -2142,7 +2477,9 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // this is a hard disable of all animations for the application or on // the element itself, therefore there is no need to continue further // past this point if not enabled - var skipAnimations = !animationsEnabled || disabledElementsLookup.get(node); + // Animations are also disabled if the document is currently hidden (page is not visible + // to the user), because browsers slow down or do not flush calls to requestAnimationFrame + var skipAnimations = !animationsEnabled || $document[0].hidden || disabledElementsLookup.get(node); var existingAnimation = (!skipAnimations && activeAnimationsLookup.get(node)) || {}; var hasExistingAnimation = !!existingAnimation.state; @@ -2165,6 +2502,8 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { structural: isStructural, element: element, event: event, + addClass: options.addClass, + removeClass: options.removeClass, close: close, options: options, runner: runner @@ -2177,11 +2516,10 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { close(); return runner; } else { - mergeAnimationOptions(element, existingAnimation.options, options); + mergeAnimationDetails(element, existingAnimation, newAnimation); return existingAnimation.runner; } } - var cancelAnimationFlag = isAllowed('cancel', element, newAnimation, existingAnimation); if (cancelAnimationFlag) { if (existingAnimation.state === RUNNING_STATE) { @@ -2195,8 +2533,10 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // method which will call the runner methods in async. existingAnimation.close(); } else { - // this will merge the existing animation options into this new follow-up animation - mergeAnimationOptions(element, newAnimation.options, existingAnimation.options); + // this will merge the new animation options into existing animation options + mergeAnimationDetails(element, existingAnimation, newAnimation); + + return existingAnimation.runner; } } else { // a joined animation means that this animation will take over the existing one @@ -2205,18 +2545,23 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { var joinAnimationFlag = isAllowed('join', element, newAnimation, existingAnimation); if (joinAnimationFlag) { if (existingAnimation.state === RUNNING_STATE) { - normalizeAnimationOptions(element, options); + normalizeAnimationDetails(element, newAnimation); } else { + applyGeneratedPreparationClasses(element, isStructural ? event : null, options); + event = newAnimation.event = existingAnimation.event; - options = mergeAnimationOptions(element, existingAnimation.options, newAnimation.options); - return runner; + options = mergeAnimationDetails(element, existingAnimation, newAnimation); + + //we return the same runner since only the option values of this animation will + //be fed into the `existingAnimation`. + return existingAnimation.runner; } } } } else { // normalization in this case means that it removes redundant CSS classes that // already exist (addClass) or do not exist (removeClass) on the element - normalizeAnimationOptions(element, options); + normalizeAnimationDetails(element, newAnimation); } // when the options are merged and cleaned up we may end up not having to do @@ -2226,7 +2571,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { if (!isValidAnimation) { // animate (from/to) can be quickly checked first, otherwise we check if any classes are present isValidAnimation = (newAnimation.event === 'animate' && Object.keys(newAnimation.options.to || {}).length > 0) - || hasAnimationClasses(newAnimation.options); + || hasAnimationClasses(newAnimation); } if (!isValidAnimation) { @@ -2235,10 +2580,6 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return runner; } - if (isStructural) { - closeParentClassBasedAnimations(parent); - } - // the counter keeps track of cancelled animations var counter = (existingAnimation.counter || 0) + 1; newAnimation.counter = counter; @@ -2260,7 +2601,7 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { var isValidAnimation = parentElement.length > 0 && (animationDetails.event === 'animate' || animationDetails.structural - || hasAnimationClasses(animationDetails.options)); + || hasAnimationClasses(animationDetails)); // this means that the previous animation was cancelled // even if the follow-up animation is the same event @@ -2292,16 +2633,13 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // this combined multiple class to addClass / removeClass into a setClass event // so long as a structural event did not take over the animation - event = !animationDetails.structural && hasAnimationClasses(animationDetails.options, true) + event = !animationDetails.structural && hasAnimationClasses(animationDetails, true) ? 'setClass' : animationDetails.event; - if (animationDetails.structural) { - closeParentClassBasedAnimations(parentElement); - } - markElementAnimationState(element, RUNNING_STATE); var realRunner = $$animation(element, event, animationDetails.options); + realRunner.done(function(status) { close(!status); var animationDetails = activeAnimationsLookup.get(node); @@ -2320,11 +2658,25 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return runner; function notifyProgress(runner, event, phase, data) { - triggerCallback(event, element, phase, data); + runInNextPostDigestOrNow(function() { + var callbacks = findCallbacks(parent, element, event); + if (callbacks.length) { + // do not optimize this call here to RAF because + // we don't know how heavy the callback code here will + // be and if this code is buffered then this can + // lead to a performance regression. + $$rAF(function() { + forEach(callbacks, function(callback) { + callback(element, phase, data); + }); + }); + } + }); runner.progress(event, phase, data); } function close(reject) { // jshint ignore:line + clearGeneratedClasses(element, options); applyAnimationClasses(element, options); applyAnimationStyles(element, options); options.domOperation(); @@ -2338,15 +2690,15 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { forEach(children, function(child) { var state = parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME)); var animationDetails = activeAnimationsLookup.get(child); - switch (state) { - case RUNNING_STATE: - animationDetails.runner.end(); - /* falls through */ - case PRE_DIGEST_STATE: - if (animationDetails) { + if (animationDetails) { + switch (state) { + case RUNNING_STATE: + animationDetails.runner.end(); + /* falls through */ + case PRE_DIGEST_STATE: activeAnimationsLookup.remove(child); - } - break; + break; + } } }); } @@ -2361,67 +2713,61 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { return getDomNode(nodeOrElmA) === getDomNode(nodeOrElmB); } - function closeParentClassBasedAnimations(startingElement) { - var parentNode = getDomNode(startingElement); - do { - if (!parentNode || parentNode.nodeType !== ELEMENT_NODE) break; - - var animationDetails = activeAnimationsLookup.get(parentNode); - if (animationDetails) { - examineParentAnimation(parentNode, animationDetails); - } - - parentNode = parentNode.parentNode; - } while (true); - - // since animations are detected from CSS classes, we need to flush all parent - // class-based animations so that the parent classes are all present for child - // animations to properly function (otherwise any CSS selectors may not work) - function examineParentAnimation(node, animationDetails) { - // enter/leave/move always have priority - if (animationDetails.structural || !hasAnimationClasses(animationDetails.options)) return; - - if (animationDetails.state === RUNNING_STATE) { - animationDetails.runner.end(); - } - clearElementAnimationState(node); - } - } - + /** + * This fn returns false if any of the following is true: + * a) animations on any parent element are disabled, and animations on the element aren't explicitly allowed + * b) a parent element has an ongoing structural animation, and animateChildren is false + * c) the element is not a child of the body + * d) the element is not a child of the $rootElement + */ function areAnimationsAllowed(element, parentElement, event) { - var bodyElementDetected = false; - var rootElementDetected = false; + var bodyElement = jqLite($document[0].body); + var bodyElementDetected = isMatchingElement(element, bodyElement) || element[0].nodeName === 'HTML'; + var rootElementDetected = isMatchingElement(element, $rootElement); var parentAnimationDetected = false; var animateChildren; + var elementDisabled = disabledElementsLookup.get(getDomNode(element)); - var parentHost = element.data(NG_ANIMATE_PIN_DATA); + var parentHost = jqLite.data(element[0], NG_ANIMATE_PIN_DATA); if (parentHost) { parentElement = parentHost; } - while (parentElement && parentElement.length) { + parentElement = getDomNode(parentElement); + + while (parentElement) { if (!rootElementDetected) { // angular doesn't want to attempt to animate elements outside of the application // therefore we need to ensure that the rootElement is an ancestor of the current element rootElementDetected = isMatchingElement(parentElement, $rootElement); } - var parentNode = parentElement[0]; - if (parentNode.nodeType !== ELEMENT_NODE) { + if (parentElement.nodeType !== ELEMENT_NODE) { // no point in inspecting the #document element break; } - var details = activeAnimationsLookup.get(parentNode) || {}; + var details = activeAnimationsLookup.get(parentElement) || {}; // either an enter, leave or move animation will commence // therefore we can't allow any animations to take place // but if a parent animation is class-based then that's ok if (!parentAnimationDetected) { - parentAnimationDetected = details.structural || disabledElementsLookup.get(parentNode); + var parentElementDisabled = disabledElementsLookup.get(parentElement); + + if (parentElementDisabled === true && elementDisabled !== false) { + // disable animations if the user hasn't explicitly enabled animations on the + // current element + elementDisabled = true; + // element is disabled via parent element, no need to check anything else + break; + } else if (parentElementDisabled === false) { + elementDisabled = false; + } + parentAnimationDetected = details.structural; } if (isUndefined(animateChildren) || animateChildren === true) { - var value = parentElement.data(NG_ANIMATE_CHILDREN_DATA); + var value = jqLite.data(parentElement, NG_ANIMATE_CHILDREN_DATA); if (isDefined(value)) { animateChildren = value; } @@ -2430,28 +2776,32 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { // there is no need to continue traversing at this point if (parentAnimationDetected && animateChildren === false) break; - if (!rootElementDetected) { - // angular doesn't want to attempt to animate elements outside of the application - // therefore we need to ensure that the rootElement is an ancestor of the current element - rootElementDetected = isMatchingElement(parentElement, $rootElement); - if (!rootElementDetected) { - parentHost = parentElement.data(NG_ANIMATE_PIN_DATA); - if (parentHost) { - parentElement = parentHost; - } - } - } - if (!bodyElementDetected) { - // we also need to ensure that the element is or will be apart of the body element + // we also need to ensure that the element is or will be a part of the body element // otherwise it is pointless to even issue an animation to be rendered bodyElementDetected = isMatchingElement(parentElement, bodyElement); } - parentElement = parentElement.parent(); + if (bodyElementDetected && rootElementDetected) { + // If both body and root have been found, any other checks are pointless, + // as no animation data should live outside the application + break; + } + + if (!rootElementDetected) { + // If no rootElement is detected, check if the parentElement is pinned to another element + parentHost = jqLite.data(parentElement, NG_ANIMATE_PIN_DATA); + if (parentHost) { + // The pin target element becomes the next parent element + parentElement = getDomNode(parentHost); + continue; + } + } + + parentElement = parentElement.parentNode; } - var allowAnimation = !parentAnimationDetected || animateChildren; + var allowAnimation = (!parentAnimationDetected || animateChildren) && elementDisabled !== true; return allowAnimation && rootElementDetected && bodyElementDetected; } @@ -2471,184 +2821,112 @@ var $$AnimateQueueProvider = ['$animateProvider', function($animateProvider) { }]; }]; -var $$rAFMutexFactory = ['$$rAF', function($$rAF) { - return function() { - var passed = false; - $$rAF(function() { - passed = true; - }); - return function(fn) { - passed ? fn() : $$rAF(fn); - }; - }; -}]; - -var $$AnimateRunnerFactory = ['$q', '$$rAFMutex', function($q, $$rAFMutex) { - var INITIAL_STATE = 0; - var DONE_PENDING_STATE = 1; - var DONE_COMPLETE_STATE = 2; - - AnimateRunner.chain = function(chain, callback) { - var index = 0; - - next(); - function next() { - if (index === chain.length) { - callback(true); - return; - } - - chain[index](function(response) { - if (response === false) { - callback(false); - return; - } - index++; - next(); - }); - } - }; +var $$AnimationProvider = ['$animateProvider', function($animateProvider) { + var NG_ANIMATE_REF_ATTR = 'ng-animate-ref'; - AnimateRunner.all = function(runners, callback) { - var count = 0; - var status = true; - forEach(runners, function(runner) { - runner.done(onProgress); - }); + var drivers = this.drivers = []; - function onProgress(response) { - status = status && response; - if (++count === runners.length) { - callback(status); - } - } - }; + var RUNNER_STORAGE_KEY = '$$animationRunner'; - function AnimateRunner(host) { - this.setHost(host); + function setRunner(element, runner) { + element.data(RUNNER_STORAGE_KEY, runner); + } - this._doneCallbacks = []; - this._runInAnimationFrame = $$rAFMutex(); - this._state = 0; + function removeRunner(element) { + element.removeData(RUNNER_STORAGE_KEY); } - AnimateRunner.prototype = { - setHost: function(host) { - this.host = host || {}; - }, + function getRunner(element) { + return element.data(RUNNER_STORAGE_KEY); + } - done: function(fn) { - if (this._state === DONE_COMPLETE_STATE) { - fn(); - } else { - this._doneCallbacks.push(fn); - } - }, + this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$HashMap', '$$rAFScheduler', + function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$HashMap, $$rAFScheduler) { - progress: noop, + var animationQueue = []; + var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); - getPromise: function() { - if (!this.promise) { - var self = this; - this.promise = $q(function(resolve, reject) { - self.done(function(status) { - status === false ? reject() : resolve(); - }); + function sortAnimations(animations) { + var tree = { children: [] }; + var i, lookup = new $$HashMap(); + + // this is done first beforehand so that the hashmap + // is filled with a list of the elements that will be animated + for (i = 0; i < animations.length; i++) { + var animation = animations[i]; + lookup.put(animation.domNode, animations[i] = { + domNode: animation.domNode, + fn: animation.fn, + children: [] }); } - return this.promise; - }, - - then: function(resolveHandler, rejectHandler) { - return this.getPromise().then(resolveHandler, rejectHandler); - }, - - 'catch': function(handler) { - return this.getPromise()['catch'](handler); - }, - - 'finally': function(handler) { - return this.getPromise()['finally'](handler); - }, - pause: function() { - if (this.host.pause) { - this.host.pause(); + for (i = 0; i < animations.length; i++) { + processNode(animations[i]); } - }, - resume: function() { - if (this.host.resume) { - this.host.resume(); - } - }, + return flatten(tree); - end: function() { - if (this.host.end) { - this.host.end(); - } - this._resolve(true); - }, + function processNode(entry) { + if (entry.processed) return entry; + entry.processed = true; - cancel: function() { - if (this.host.cancel) { - this.host.cancel(); - } - this._resolve(false); - }, + var elementNode = entry.domNode; + var parentNode = elementNode.parentNode; + lookup.put(elementNode, entry); - complete: function(response) { - var self = this; - if (self._state === INITIAL_STATE) { - self._state = DONE_PENDING_STATE; - self._runInAnimationFrame(function() { - self._resolve(response); - }); - } - }, + var parentEntry; + while (parentNode) { + parentEntry = lookup.get(parentNode); + if (parentEntry) { + if (!parentEntry.processed) { + parentEntry = processNode(parentEntry); + } + break; + } + parentNode = parentNode.parentNode; + } - _resolve: function(response) { - if (this._state !== DONE_COMPLETE_STATE) { - forEach(this._doneCallbacks, function(fn) { - fn(response); - }); - this._doneCallbacks.length = 0; - this._state = DONE_COMPLETE_STATE; + (parentEntry || tree).children.push(entry); + return entry; } - } - }; - - return AnimateRunner; -}]; - -var $$AnimationProvider = ['$animateProvider', function($animateProvider) { - var NG_ANIMATE_REF_ATTR = 'ng-animate-ref'; - - var drivers = this.drivers = []; - - var RUNNER_STORAGE_KEY = '$$animationRunner'; - - function setRunner(element, runner) { - element.data(RUNNER_STORAGE_KEY, runner); - } - function removeRunner(element) { - element.removeData(RUNNER_STORAGE_KEY); - } + function flatten(tree) { + var result = []; + var queue = []; + var i; - function getRunner(element) { - return element.data(RUNNER_STORAGE_KEY); - } + for (i = 0; i < tree.children.length; i++) { + queue.push(tree.children[i]); + } - this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$rAFScheduler', - function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$rAFScheduler) { + var remainingLevelEntries = queue.length; + var nextLevelEntries = 0; + var row = []; + + for (i = 0; i < queue.length; i++) { + var entry = queue[i]; + if (remainingLevelEntries <= 0) { + remainingLevelEntries = nextLevelEntries; + nextLevelEntries = 0; + result.push(row); + row = []; + } + row.push(entry.fn); + entry.children.forEach(function(childEntry) { + nextLevelEntries++; + queue.push(childEntry); + }); + remainingLevelEntries--; + } - var animationQueue = []; - var applyAnimationClasses = applyAnimationClassesFactory($$jqLite); + if (row.length) { + result.push(row); + } - var totalPendingClassBasedAnimations = 0; - var totalActiveClassBasedAnimations = 0; - var classBasedAnimationsQueue = []; + return result; + } + } // TODO(matsko): document the signature in a better way return function(element, event, options) { @@ -2678,10 +2956,10 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { options.tempClasses = null; } - var classBasedIndex; - if (!isStructural) { - classBasedIndex = totalPendingClassBasedAnimations; - totalPendingClassBasedAnimations += 1; + var prepareClassName; + if (isStructural) { + prepareClassName = 'ng-' + event + PREPARE_CLASS_SUFFIX; + $$jqLite.addClass(element, prepareClassName); } animationQueue.push({ @@ -2690,7 +2968,6 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { element: element, classes: classes, event: event, - classBasedIndex: classBasedIndex, structural: isStructural, options: options, beforeStart: beforeStart, @@ -2705,10 +2982,6 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { if (animationQueue.length > 1) return runner; $rootScope.$$postDigest(function() { - totalActiveClassBasedAnimations = totalPendingClassBasedAnimations; - totalPendingClassBasedAnimations = 0; - classBasedAnimationsQueue.length = 0; - var animations = []; forEach(animationQueue, function(entry) { // the element was destroyed early on which removed the runner @@ -2716,67 +2989,58 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { // at all and it already has been closed due to destruction. if (getRunner(entry.element)) { animations.push(entry); + } else { + entry.close(); } }); // now any future animations will be in another postDigest animationQueue.length = 0; - forEach(groupAnimations(animations), function(animationEntry) { - if (animationEntry.structural) { - triggerAnimationStart(); - } else { - classBasedAnimationsQueue.push({ - node: getDomNode(animationEntry.element), - fn: triggerAnimationStart - }); - - if (animationEntry.classBasedIndex === totalActiveClassBasedAnimations - 1) { - // we need to sort each of the animations in order of parent to child - // relationships. This ensures that the child classes are applied at the - // right time. - classBasedAnimationsQueue = classBasedAnimationsQueue.sort(function(a,b) { - return b.node.contains(a.node); - }).map(function(entry) { - return entry.fn; - }); - - $$rAFScheduler(classBasedAnimationsQueue); - } - } - - function triggerAnimationStart() { - // it's important that we apply the `ng-animate` CSS class and the - // temporary classes before we do any driver invoking since these - // CSS classes may be required for proper CSS detection. - animationEntry.beforeStart(); - - var startAnimationFn, closeFn = animationEntry.close; - - // in the event that the element was removed before the digest runs or - // during the RAF sequencing then we should not trigger the animation. - var targetElement = animationEntry.anchors - ? (animationEntry.from.element || animationEntry.to.element) - : animationEntry.element; - - if (getRunner(targetElement) && getDomNode(targetElement).parentNode) { - var operation = invokeFirstDriver(animationEntry); - if (operation) { - startAnimationFn = operation.start; + var groupedAnimations = groupAnimations(animations); + var toBeSortedAnimations = []; + + forEach(groupedAnimations, function(animationEntry) { + toBeSortedAnimations.push({ + domNode: getDomNode(animationEntry.from ? animationEntry.from.element : animationEntry.element), + fn: function triggerAnimationStart() { + // it's important that we apply the `ng-animate` CSS class and the + // temporary classes before we do any driver invoking since these + // CSS classes may be required for proper CSS detection. + animationEntry.beforeStart(); + + var startAnimationFn, closeFn = animationEntry.close; + + // in the event that the element was removed before the digest runs or + // during the RAF sequencing then we should not trigger the animation. + var targetElement = animationEntry.anchors + ? (animationEntry.from.element || animationEntry.to.element) + : animationEntry.element; + + if (getRunner(targetElement)) { + var operation = invokeFirstDriver(animationEntry); + if (operation) { + startAnimationFn = operation.start; + } } - } - if (!startAnimationFn) { - closeFn(); - } else { - var animationRunner = startAnimationFn(); - animationRunner.done(function(status) { - closeFn(!status); - }); - updateAnimationRunners(animationEntry, animationRunner); + if (!startAnimationFn) { + closeFn(); + } else { + var animationRunner = startAnimationFn(); + animationRunner.done(function(status) { + closeFn(!status); + }); + updateAnimationRunners(animationEntry, animationRunner); + } } - } + }); }); + + // we need to sort each of the animations in order of parent to child + // relationships. This ensures that the child classes are applied at the + // right time. + $$rAFScheduler(sortAnimations(toBeSortedAnimations)); }); return runner; @@ -2920,6 +3184,10 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { if (tempClasses) { $$jqLite.addClass(element, tempClasses); } + if (prepareClassName) { + $$jqLite.removeClass(element, prepareClassName); + prepareClassName = null; + } } function updateAnimationRunners(animation, newRunner) { @@ -2963,10 +3231,9 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { /* global angularAnimateModule: true, - $$rAFMutexFactory, + $$AnimateAsyncRunFactory, $$rAFSchedulerFactory, $$AnimateChildrenDirective, - $$AnimateRunnerFactory, $$AnimateQueueProvider, $$AnimationProvider, $AnimateCssProvider, @@ -2981,7 +3248,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * @description * * The `ngAnimate` module provides support for CSS-based animations (keyframes and transitions) as well as JavaScript-based animations via - * callback hooks. Animations are not enabled by default, however, by including `ngAnimate` then the animation hooks are enabled for an Angular app. + * callback hooks. Animations are not enabled by default, however, by including `ngAnimate` the animation hooks are enabled for an Angular app. * *
* @@ -3014,7 +3281,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * CSS-based animations with ngAnimate are unique since they require no JavaScript code at all. By using a CSS class that we reference between our HTML * and CSS code we can create an animation that will be picked up by Angular when an the underlying directive performs an operation. * - * The example below shows how an `enter` animation can be made possible on a element using `ng-if`: + * The example below shows how an `enter` animation can be made possible on an element using `ng-if`: * * ```html *
@@ -3149,8 +3416,8 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * /* this will have a 100ms delay between each successive leave animation */ * transition-delay: 0.1s; * - * /* in case the stagger doesn't work then the duration value - * must be set to 0 to avoid an accidental CSS inheritance */ + * /* As of 1.4.4, this must always be set: it signals ngAnimate + * to not accidentally inherit a delay property from another CSS class */ * transition-duration: 0s; * } * .my-animation.ng-enter.ng-enter-active { @@ -3215,6 +3482,34 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * the CSS class once an animation has completed.) * * + * ### The `ng-[event]-prepare` class + * + * This is a special class that can be used to prevent unwanted flickering / flash of content before + * the actual animation starts. The class is added as soon as an animation is initialized, but removed + * before the actual animation starts (after waiting for a $digest). + * It is also only added for *structural* animations (`enter`, `move`, and `leave`). + * + * In practice, flickering can appear when nesting elements with structural animations such as `ngIf` + * into elements that have class-based animations such as `ngClass`. + * + * ```html + *
+ *
+ *
+ *
+ *
+ * ``` + * + * It is possible that during the `enter` animation, the `.message` div will be briefly visible before it starts animating. + * In that case, you can add styles to the CSS that make sure the element stays hidden before the animation starts: + * + * ```css + * .message.ng-enter-prepare { + * opacity: 0; + * } + * + * ``` + * * ## JavaScript-based Animations * * ngAnimate also allows for animations to be consumed by JavaScript code. The approach is similar to CSS-based animations (where there is a shared @@ -3251,7 +3546,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * jQuery(element).fadeOut(1000, doneFn); * } * } - * }] + * }]); * ``` * * The nice thing about JS-based animations is that we can inject other services and make use of advanced animation libraries such as @@ -3282,7 +3577,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * // do some cool animation and call the doneFn * } * } - * }] + * }]); * ``` * * ## CSS + JS Animations Together @@ -3304,7 +3599,7 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * jQuery(element).slideIn(1000, doneFn); * } * } - * }] + * }]); * ``` * * ```css @@ -3324,16 +3619,15 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * ```js * myModule.animation('.slide', ['$animateCss', function($animateCss) { * return { - * enter: function(element, doneFn) { + * enter: function(element) { * // this will trigger `.slide.ng-enter` and `.slide.ng-enter-active`. - * var runner = $animateCss(element, { + * return $animateCss(element, { * event: 'enter', * structural: true - * }).start(); -* runner.done(doneFn); + * }); * } * } - * }] + * }]); * ``` * * The nice thing here is that we can save bandwidth by sticking to our CSS-based animation code and we don't need to rely on a 3rd-party animation framework. @@ -3345,18 +3639,17 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * ```js * myModule.animation('.slide', ['$animateCss', function($animateCss) { * return { - * enter: function(element, doneFn) { - * var runner = $animateCss(element, { + * enter: function(element) { + * return $animateCss(element, { * event: 'enter', + * structural: true, * addClass: 'maroon-setting', * from: { height:0 }, * to: { height: 200 } - * }).start(); - * - * runner.done(doneFn); + * }); * } * } - * }] + * }]); * ``` * * Now we can fill in the rest via our transition CSS code: @@ -3698,16 +3991,12 @@ var $$AnimationProvider = ['$animateProvider', function($animateProvider) { * @description * The ngAnimate `$animate` service documentation is the same for the core `$animate` service. * - * Click here {@link ng.$animate $animate to learn more about animations with `$animate`}. + * Click here {@link ng.$animate to learn more about animations with `$animate`}. */ angular.module('ngAnimate', []) .directive('ngAnimateChildren', $$AnimateChildrenDirective) - - .factory('$$rAFMutex', $$rAFMutexFactory) .factory('$$rAFScheduler', $$rAFSchedulerFactory) - .factory('$$AnimateRunner', $$AnimateRunnerFactory) - .provider('$$animateQueue', $$AnimateQueueProvider) .provider('$$animation', $$AnimationProvider) diff --git a/libs/bower_components/angular-animate/angular-animate.min.js b/libs/bower_components/angular-animate/angular-animate.min.js index a99eac13cc..102df66294 100644 --- a/libs/bower_components/angular-animate/angular-animate.min.js +++ b/libs/bower_components/angular-animate/angular-animate.min.js @@ -1,52 +1,55 @@ /* - AngularJS v1.4.3 + AngularJS v1.4.10 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ -(function(F,t,W){'use strict';function ua(a,b,c){if(!a)throw ngMinErr("areq",b||"?",c||"required");return a}function va(a,b){if(!a&&!b)return"";if(!a)return b;if(!b)return a;X(a)&&(a=a.join(" "));X(b)&&(b=b.join(" "));return a+" "+b}function Ea(a){var b={};a&&(a.to||a.from)&&(b.to=a.to,b.from=a.from);return b}function ba(a,b,c){var d="";a=X(a)?a:a&&U(a)&&a.length?a.split(/\s+/):[];u(a,function(a,s){a&&0=F&&b>=J&&(C=!0,m())}if(!K)if(g.parentNode){var x,p=[],k=function(a){if(C)D&&a&&(D=!1,m());else if(D=!a,y.animationDuration)if(a= -ma(g,D),D)l.push(a);else{var b=l,c=b.indexOf(a);0<=a&&b.splice(c,1)}},r=0=a&&(a=e,e=0,b.push(u),u=[]);u.push(t.fn);t.children.forEach(function(a){e++;c.push(a)});a--}u.length&&b.push(u);return b}(c)}var M=[],r=U(a);return function(v,G,w){function C(a){a=a.hasAttribute("ng-animate-ref")?[a]:a.querySelectorAll("[ng-animate-ref]");var b=[];s(a,function(a){var c=a.getAttribute("ng-animate-ref");c&&c.length&&b.push(a)});return b}function K(a){var b=[], +c={};s(a,function(a,f){var d=A(a.element),h=0<=["enter","move"].indexOf(a.event),d=a.structural?C(d):[];if(d.length){var e=h?"to":"from";s(d,function(a){var b=a.getAttribute("ng-animate-ref");c[b]=c[b]||{};c[b][e]={animationID:f,element:F(a)}})}else b.push(a)});var d={},h={};s(c,function(c,e){var l=c.from,u=c.to;if(l&&u){var D=a[l.animationID],t=a[u.animationID],k=l.animationID.toString();if(!h[k]){var g=h[k]={structural:!0,beforeStart:function(){D.beforeStart();t.beforeStart()},close:function(){D.close(); +t.close()},classes:H(D.classes,t.classes),from:D,to:t,anchors:[]};g.classes.length?b.push(g):(b.push(D),b.push(t))}h[k].anchors.push({out:l.element,"in":u.element})}else l=l?l.animationID:u.animationID,u=l.toString(),d[u]||(d[u]=!0,b.push(a[l]))});return b}function H(a,b){a=a.split(" ");b=b.split(" ");for(var c=[],d=0;d=Q&&b>=O&&(F=!0,q())}function L(){function b(){if(!G){u(!1);s(m,function(a){l.style[a[0]]=a[1]});C(a,f);e.addClass(a,da);if(p.recalculateTimingStyles){ka=l.className+" "+ea;ha=r(l,ka);E=w(l,ka,ha);$=E.maxDelay;n=Math.max($,0);O=E.maxDuration;if(0===O){q();return}p.hasTransitions=0L.expectedEndTime)? +I.cancel(L.timer):g.push(q)}k&&(t=I(c,t,!1),g[0]={timer:t,expectedEndTime:d},g.push(q),a.data("$$animateCss",g));if(fa.length)a.on(fa.join(" "),D);f.to&&(f.cleanupStyles&&Fa(z,l,Object.keys(f.to)),Aa(a,f))}}function c(){var b=a.data("$$animateCss");if(b){for(var d=1;d` tag. * - **domain** - `{string}` - The cookie will be available only for this domain and - * its sub-domains. For obvious security reasons the user agent will not accept the - * cookie if the current domain is not a sub domain or equals to the requested domain. + * its sub-domains. For security reasons the user agent will not accept the cookie + * if the current domain is not a sub-domain of this domain or equal to it. * - **expires** - `{string|Date}` - String of the form "Wdy, DD Mon YYYY HH:MM:SS GMT" * or a Date object indicating the exact date/time this cookie will expire. - * - **secure** - `{boolean}` - The cookie will be available only in secured connection. + * - **secure** - `{boolean}` - If `true`, then the cookie will only be available through a + * secured connection. * - * Note: by default the address that appears in your `` tag will be used as path. - * This is import so that cookies will be visible for all routes in case html5mode is enabled + * Note: By default, the address that appears in your `` tag will be used as the path. + * This is important so that cookies will be visible for all routes when html5mode is enabled. * **/ var defaults = this.defaults = {}; @@ -278,7 +279,7 @@ function $$CookieWriter($document, $log, $browser) { options = options || {}; expires = options.expires; path = angular.isDefined(options.path) ? options.path : cookiePath; - if (value === undefined) { + if (angular.isUndefined(value)) { expires = 'Thu, 01 Jan 1970 00:00:00 GMT'; value = ''; } diff --git a/libs/bower_components/angular-cookies/angular-cookies.min.js b/libs/bower_components/angular-cookies/angular-cookies.min.js index 36b74e96fd..b96469701b 100644 --- a/libs/bower_components/angular-cookies/angular-cookies.min.js +++ b/libs/bower_components/angular-cookies/angular-cookies.min.js @@ -1,9 +1,9 @@ /* - AngularJS v1.4.3 + AngularJS v1.4.10 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ -(function(p,g,l){'use strict';function m(b,a,f){var c=f.baseHref(),k=b[0];return function(b,d,e){var f,h;e=e||{};h=e.expires;f=g.isDefined(e.path)?e.path:c;d===l&&(h="Thu, 01 Jan 1970 00:00:00 GMT",d="");g.isString(h)&&(h=new Date(h));d=encodeURIComponent(b)+"="+encodeURIComponent(d);d=d+(f?";path="+f:"")+(e.domain?";domain="+e.domain:"");d+=h?";expires="+h.toUTCString():"";d+=e.secure?";secure":"";e=d.length+1;4096 4096 bytes)!");k.cookie=d}}g.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,f){return{get:function(c){return a()[c]},getObject:function(c){return(c=this.get(c))?g.fromJson(c):c},getAll:function(){return a()},put:function(c,a,n){f(c,a,n?g.extend({},b,n):b)},putObject:function(c,b,a){this.put(c,g.toJson(b),a)},remove:function(a,k){f(a,l,k?g.extend({},b,k):b)}}}]}]);g.module("ngCookies").factory("$cookieStore", -["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,f){b.putObject(a,f)},remove:function(a){b.remove(a)}}}]);m.$inject=["$document","$log","$browser"];g.module("ngCookies").provider("$$cookieWriter",function(){this.$get=m})})(window,window.angular); +(function(p,c,n){'use strict';function l(b,a,g){var d=g.baseHref(),k=b[0];return function(b,e,f){var g,h;f=f||{};h=f.expires;g=c.isDefined(f.path)?f.path:d;c.isUndefined(e)&&(h="Thu, 01 Jan 1970 00:00:00 GMT",e="");c.isString(h)&&(h=new Date(h));e=encodeURIComponent(b)+"="+encodeURIComponent(e);e=e+(g?";path="+g:"")+(f.domain?";domain="+f.domain:"");e+=h?";expires="+h.toUTCString():"";e+=f.secure?";secure":"";f=e.length+1;4096 4096 bytes)!");k.cookie=e}}c.module("ngCookies",["ng"]).provider("$cookies",[function(){var b=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(a,g){return{get:function(d){return a()[d]},getObject:function(d){return(d=this.get(d))?c.fromJson(d):d},getAll:function(){return a()},put:function(d,a,m){g(d,a,m?c.extend({},b,m):b)},putObject:function(d,b,a){this.put(d,c.toJson(b),a)},remove:function(a,k){g(a,n,k?c.extend({},b,k):b)}}}]}]);c.module("ngCookies").factory("$cookieStore", +["$cookies",function(b){return{get:function(a){return b.getObject(a)},put:function(a,c){b.putObject(a,c)},remove:function(a){b.remove(a)}}}]);l.$inject=["$document","$log","$browser"];c.module("ngCookies").provider("$$cookieWriter",function(){this.$get=l})})(window,window.angular); //# sourceMappingURL=angular-cookies.min.js.map diff --git a/libs/bower_components/angular-cookies/angular-cookies.min.js.map b/libs/bower_components/angular-cookies/angular-cookies.min.js.map index 84e6a5701f..555b5103b7 100644 --- a/libs/bower_components/angular-cookies/angular-cookies.min.js.map +++ b/libs/bower_components/angular-cookies/angular-cookies.min.js.map @@ -2,7 +2,7 @@ "version":3, "file":"angular-cookies.min.js", "lineCount":8, -"mappings":"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", +"mappings":"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", "sources":["angular-cookies.js"], -"names":["window","angular","undefined","$$CookieWriter","$document","$log","$browser","cookiePath","baseHref","rawDocument","name","value","options","path","expires","isDefined","isString","Date","str","encodeURIComponent","domain","toUTCString","secure","cookieLength","length","warn","cookie","module","provider","$CookiesProvider","defaults","$get","$$cookieReader","$$cookieWriter","get","key","getObject","fromJson","getAll","put","extend","putObject","toJson","remove","factory","$cookies","$inject","$$CookieWriterProvider"] +"names":["window","angular","undefined","$$CookieWriter","$document","$log","$browser","cookiePath","baseHref","rawDocument","name","value","options","path","expires","isDefined","isUndefined","isString","Date","str","encodeURIComponent","domain","toUTCString","secure","cookieLength","length","warn","cookie","module","provider","$CookiesProvider","defaults","$get","$$cookieReader","$$cookieWriter","get","key","getObject","fromJson","getAll","put","extend","putObject","toJson","remove","factory","$cookies","$inject","$$CookieWriterProvider"] } diff --git a/libs/bower_components/angular-cookies/bower.json b/libs/bower_components/angular-cookies/bower.json index 9ab6d5f01b..a09cdb7a04 100644 --- a/libs/bower_components/angular-cookies/bower.json +++ b/libs/bower_components/angular-cookies/bower.json @@ -1,9 +1,10 @@ { "name": "angular-cookies", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular-cookies.js", "ignore": [], "dependencies": { - "angular": "1.4.3" + "angular": "1.4.10" } } diff --git a/libs/bower_components/angular-cookies/package.json b/libs/bower_components/angular-cookies/package.json index a9862f9bcc..a9fba7fa96 100644 --- a/libs/bower_components/angular-cookies/package.json +++ b/libs/bower_components/angular-cookies/package.json @@ -1,6 +1,6 @@ { "name": "angular-cookies", - "version": "1.4.3", + "version": "1.4.10", "description": "AngularJS module for cookies", "main": "index.js", "scripts": { diff --git a/libs/bower_components/angular-mocks/.bower.json b/libs/bower_components/angular-mocks/.bower.json index 21dfd23718..82b2c2a7e4 100644 --- a/libs/bower_components/angular-mocks/.bower.json +++ b/libs/bower_components/angular-mocks/.bower.json @@ -1,19 +1,20 @@ { "name": "angular-mocks", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular-mocks.js", "ignore": [], "dependencies": { - "angular": "1.4.3" + "angular": "1.4.10" }, "homepage": "https://github.com/angular/bower-angular-mocks", - "_release": "1.4.3", + "_release": "1.4.10", "_resolution": { "type": "version", - "tag": "v1.4.3", - "commit": "7e3beec84afceeb060a3c6def0d7ca965727851c" + "tag": "v1.4.10", + "commit": "f5bcaf2b32c76f778704b7e92f31d661c24f3364" }, - "_source": "git://github.com/angular/bower-angular-mocks.git", + "_source": "https://github.com/angular/bower-angular-mocks.git", "_target": "~1.4.0", "_originalSource": "angular-mocks" } \ No newline at end of file diff --git a/libs/bower_components/angular-mocks/angular-mocks.js b/libs/bower_components/angular-mocks/angular-mocks.js index 9482b702b3..ab2ba68318 100644 --- a/libs/bower_components/angular-mocks/angular-mocks.js +++ b/libs/bower_components/angular-mocks/angular-mocks.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.3 + * @license AngularJS v1.4.10 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ @@ -94,7 +94,7 @@ angular.mock.$Browser = function() { if (fn.id === deferId) fnIndex = index; }); - if (fnIndex !== undefined) { + if (angular.isDefined(fnIndex)) { self.deferredFns.splice(fnIndex, 1); return true; } @@ -469,7 +469,7 @@ angular.mock.$IntervalProvider = function() { if (fn.id === promise.$$intervalId) fnIndex = index; }); - if (fnIndex !== undefined) { + if (angular.isDefined(fnIndex)) { repeatFns.splice(fnIndex, 1); } } @@ -511,7 +511,7 @@ angular.mock.$IntervalProvider = function() { if (fn.id === promise.$$intervalId) fnIndex = index; }); - if (fnIndex !== undefined) { + if (angular.isDefined(fnIndex)) { repeatFns[fnIndex].deferred.reject('canceled'); repeatFns.splice(fnIndex, 1); return true; @@ -758,40 +758,152 @@ angular.mock.TzDate = function(offset, timestamp) { angular.mock.TzDate.prototype = Date.prototype; /* jshint +W101 */ + +/** + * @ngdoc service + * @name $animate + * + * @description + * Mock implementation of the {@link ng.$animate `$animate`} service. Exposes two additional methods + * for testing animations. + */ angular.mock.animate = angular.module('ngAnimateMock', ['ng']) .config(['$provide', function($provide) { - var reflowQueue = []; - $provide.value('$$animateReflow', function(fn) { - var index = reflowQueue.length; - reflowQueue.push(fn); - return function cancel() { - reflowQueue.splice(index, 1); + $provide.factory('$$forceReflow', function() { + function reflowFn() { + reflowFn.totalReflows++; + } + reflowFn.totalReflows = 0; + return reflowFn; + }); + + $provide.factory('$$animateAsyncRun', function() { + var queue = []; + var queueFn = function() { + return function(fn) { + queue.push(fn); + }; }; + queueFn.flush = function() { + if (queue.length === 0) return false; + + for (var i = 0; i < queue.length; i++) { + queue[i](); + } + queue = []; + + return true; + }; + return queueFn; }); - $provide.decorator('$animate', ['$delegate', '$timeout', '$browser', '$$rAF', - function($delegate, $timeout, $browser, $$rAF) { + $provide.decorator('$$animateJs', ['$delegate', function($delegate) { + var runners = []; + + var animateJsConstructor = function() { + var animator = $delegate.apply($delegate, arguments); + // If no javascript animation is found, animator is undefined + if (animator) { + runners.push(animator); + } + return animator; + }; + + animateJsConstructor.$closeAndFlush = function() { + runners.forEach(function(runner) { + runner.end(); + }); + runners = []; + }; + + return animateJsConstructor; + }]); + + $provide.decorator('$animateCss', ['$delegate', function($delegate) { + var runners = []; + + var animateCssConstructor = function(element, options) { + var animator = $delegate(element, options); + runners.push(animator); + return animator; + }; + + animateCssConstructor.$closeAndFlush = function() { + runners.forEach(function(runner) { + runner.end(); + }); + runners = []; + }; + + return animateCssConstructor; + }]); + + $provide.decorator('$animate', ['$delegate', '$timeout', '$browser', '$$rAF', '$animateCss', '$$animateJs', + '$$forceReflow', '$$animateAsyncRun', '$rootScope', + function($delegate, $timeout, $browser, $$rAF, $animateCss, $$animateJs, + $$forceReflow, $$animateAsyncRun, $rootScope) { var animate = { queue: [], cancel: $delegate.cancel, - enabled: $delegate.enabled, - triggerCallbackEvents: function() { - $$rAF.flush(); - }, - triggerCallbackPromise: function() { - $timeout.flush(0); + on: $delegate.on, + off: $delegate.off, + pin: $delegate.pin, + get reflows() { + return $$forceReflow.totalReflows; }, - triggerCallbacks: function() { - this.triggerCallbackEvents(); - this.triggerCallbackPromise(); + enabled: $delegate.enabled, + /** + * @ngdoc method + * @name $animate#closeAndFlush + * @description + * + * This method will close all pending animations (both {@link ngAnimate#javascript-based-animations Javascript} + * and {@link ngAnimate.$animateCss CSS}) and it will also flush any remaining animation frames and/or callbacks. + */ + closeAndFlush: function() { + // we allow the flush command to swallow the errors + // because depending on whether CSS or JS animations are + // used, there may not be a RAF flush. The primary flush + // at the end of this function must throw an exception + // because it will track if there were pending animations + this.flush(true); + $animateCss.$closeAndFlush(); + $$animateJs.$closeAndFlush(); + this.flush(); }, - triggerReflow: function() { - angular.forEach(reflowQueue, function(fn) { - fn(); - }); - reflowQueue = []; + /** + * @ngdoc method + * @name $animate#flush + * @description + * + * This method is used to flush the pending callbacks and animation frames to either start + * an animation or conclude an animation. Note that this will not actually close an + * actively running animation (see {@link ngMock.$animate#closeAndFlush `closeAndFlush()`} for that). + */ + flush: function(hideErrors) { + $rootScope.$digest(); + + var doNextRun, somethingFlushed = false; + do { + doNextRun = false; + + if ($$rAF.queue.length) { + $$rAF.flush(); + doNextRun = somethingFlushed = true; + } + + if ($$animateAsyncRun.flush()) { + doNextRun = somethingFlushed = true; + } + } while (doNextRun); + + if (!somethingFlushed && !hideErrors) { + throw new Error('No pending animations ready to be closed or flushed'); + } + + $rootScope.$digest(); } }; @@ -1008,7 +1120,7 @@ angular.mock.dump = function(object) { $http.post('/add-msg.py', message, { headers: headers } ).success(function(response) { $scope.status = ''; }).error(function() { - $scope.status = 'ERROR!'; + $scope.status = 'Failed...'; }); }; } @@ -1136,7 +1248,8 @@ function createHttpBackendMock($rootScope, $timeout, $delegate, $browser) { } // TODO(vojta): change params to: method, url, data, headers, callback - function $httpBackend(method, url, data, callback, headers, timeout, withCredentials) { + function $httpBackend(method, url, data, callback, headers, timeout, withCredentials, responseType) { + var xhr = new MockXhr(), expectation = expectations[0], wasExpected = false; @@ -1200,7 +1313,7 @@ function createHttpBackendMock($rootScope, $timeout, $delegate, $browser) { // if $browser specified, we do auto flush all requests ($browser ? $browser.defer : responsesPush)(wrapResponse(definition)); } else if (definition.passThrough) { - $delegate(method, url, data, callback, headers, timeout, withCredentials); + $delegate(method, url, data, callback, headers, timeout, withCredentials, responseType); } else throw new Error('No response defined !'); return; } @@ -1743,28 +1856,28 @@ angular.mock.$TimeoutDecorator = ['$delegate', '$browser', function($delegate, $ }]; angular.mock.$RAFDecorator = ['$delegate', function($delegate) { - var queue = []; var rafFn = function(fn) { - var index = queue.length; - queue.push(fn); + var index = rafFn.queue.length; + rafFn.queue.push(fn); return function() { - queue.splice(index, 1); + rafFn.queue.splice(index, 1); }; }; + rafFn.queue = []; rafFn.supported = $delegate.supported; rafFn.flush = function() { - if (queue.length === 0) { + if (rafFn.queue.length === 0) { throw new Error('No rAF callbacks present'); } - var length = queue.length; + var length = rafFn.queue.length; for (var i = 0; i < length; i++) { - queue[i](); + rafFn.queue[i](); } - queue = queue.slice(i); + rafFn.queue = rafFn.queue.slice(i); }; return rafFn; @@ -1803,19 +1916,19 @@ angular.mock.$RootElementProvider = function() { * * // Controller definition ... * - * myMod.controller('MyDirectiveController', ['log', function($log) { + * myMod.controller('MyDirectiveController', ['$log', function($log) { * $log.info(this.name); - * })]; + * }]); * * * // In a test ... * * describe('myDirectiveController', function() { * it('should write the bound name to the log', inject(function($controller, $log) { - * var ctrl = $controller('MyDirective', { /* no locals */ }, { name: 'Clark Kent' }); + * var ctrl = $controller('MyDirectiveController', { /* no locals */ }, { name: 'Clark Kent' }); * expect(ctrl.name).toEqual('Clark Kent'); * expect($log.info.logs).toEqual(['Clark Kent']); - * }); + * })); * }); * * ``` @@ -2244,8 +2357,9 @@ if (window.jasmine || window.mocha) { * @param {...(string|Function|Object)} fns any number of modules which are represented as string * aliases or as anonymous module initialization functions. The modules are used to * configure the injector. The 'ng' and 'ngMock' modules are automatically loaded. If an - * object literal is passed they will be registered as values in the module, the key being - * the module name and the value being what is returned. + * object literal is passed each key-value pair will be registered on the module via + * {@link auto.$provide $provide}.value, the key being the string name (or token) to associate + * with the value on the injector. */ window.module = angular.mock.module = function() { var moduleFns = Array.prototype.slice.call(arguments, 0); diff --git a/libs/bower_components/angular-mocks/bower.json b/libs/bower_components/angular-mocks/bower.json index 43a3eed447..f23af5a8f4 100644 --- a/libs/bower_components/angular-mocks/bower.json +++ b/libs/bower_components/angular-mocks/bower.json @@ -1,9 +1,10 @@ { "name": "angular-mocks", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular-mocks.js", "ignore": [], "dependencies": { - "angular": "1.4.3" + "angular": "1.4.10" } } diff --git a/libs/bower_components/angular-mocks/package.json b/libs/bower_components/angular-mocks/package.json index f1c285856d..291cf64a10 100644 --- a/libs/bower_components/angular-mocks/package.json +++ b/libs/bower_components/angular-mocks/package.json @@ -1,6 +1,6 @@ { "name": "angular-mocks", - "version": "1.4.3", + "version": "1.4.10", "description": "AngularJS mocks for testing", "main": "angular-mocks.js", "scripts": { diff --git a/libs/bower_components/angular-sanitize/.bower.json b/libs/bower_components/angular-sanitize/.bower.json index 75ff26dc6a..f14451c53d 100644 --- a/libs/bower_components/angular-sanitize/.bower.json +++ b/libs/bower_components/angular-sanitize/.bower.json @@ -1,19 +1,20 @@ { "name": "angular-sanitize", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular-sanitize.js", "ignore": [], "dependencies": { - "angular": "1.4.3" + "angular": "1.4.10" }, "homepage": "https://github.com/angular/bower-angular-sanitize", - "_release": "1.4.3", + "_release": "1.4.10", "_resolution": { "type": "version", - "tag": "v1.4.3", - "commit": "0367ee4c3f9cb8af5d1da9ec35b71a8b523d9fc0" + "tag": "v1.4.10", + "commit": "f0eb3486d1dbda959a450237e8271c914ba99b6a" }, - "_source": "git://github.com/angular/bower-angular-sanitize.git", + "_source": "https://github.com/angular/bower-angular-sanitize.git", "_target": "~1.4.0", "_originalSource": "angular-sanitize" } \ No newline at end of file diff --git a/libs/bower_components/angular-sanitize/angular-sanitize.js b/libs/bower_components/angular-sanitize/angular-sanitize.js index bebe1a72ab..8ebce0823e 100644 --- a/libs/bower_components/angular-sanitize/angular-sanitize.js +++ b/libs/bower_components/angular-sanitize/angular-sanitize.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.3 + * @license AngularJS v1.4.10 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ @@ -631,7 +631,7 @@ angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider); */ angular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) { var LINKY_URL_REGEXP = - /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"”’]/i, + /((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i, MAILTO_REGEXP = /^mailto:/i; return function(text, target) { diff --git a/libs/bower_components/angular-sanitize/angular-sanitize.min.js b/libs/bower_components/angular-sanitize/angular-sanitize.min.js index e8c4226487..4558b97d0c 100644 --- a/libs/bower_components/angular-sanitize/angular-sanitize.min.js +++ b/libs/bower_components/angular-sanitize/angular-sanitize.min.js @@ -1,5 +1,5 @@ /* - AngularJS v1.4.3 + AngularJS v1.4.10 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ diff --git a/libs/bower_components/angular-sanitize/bower.json b/libs/bower_components/angular-sanitize/bower.json index ffa9554222..0e5b8925a6 100644 --- a/libs/bower_components/angular-sanitize/bower.json +++ b/libs/bower_components/angular-sanitize/bower.json @@ -1,9 +1,10 @@ { "name": "angular-sanitize", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular-sanitize.js", "ignore": [], "dependencies": { - "angular": "1.4.3" + "angular": "1.4.10" } } diff --git a/libs/bower_components/angular-sanitize/package.json b/libs/bower_components/angular-sanitize/package.json index d8ee360019..dbbaf6a265 100644 --- a/libs/bower_components/angular-sanitize/package.json +++ b/libs/bower_components/angular-sanitize/package.json @@ -1,6 +1,6 @@ { "name": "angular-sanitize", - "version": "1.4.3", + "version": "1.4.10", "description": "AngularJS module for sanitizing HTML", "main": "index.js", "scripts": { diff --git a/libs/bower_components/angular/.bower.json b/libs/bower_components/angular/.bower.json index 02a61a8c5f..ab47ec872a 100644 --- a/libs/bower_components/angular/.bower.json +++ b/libs/bower_components/angular/.bower.json @@ -1,17 +1,18 @@ { "name": "angular", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular.js", "ignore": [], "dependencies": {}, "homepage": "https://github.com/angular/bower-angular", - "_release": "1.4.3", + "_release": "1.4.10", "_resolution": { "type": "version", - "tag": "v1.4.3", - "commit": "dbd689e8103a6366e53e1f6786727f7c65ccfd75" + "tag": "v1.4.10", + "commit": "57f5cd80e00507766e01ca75a8b42c0456219666" }, - "_source": "git://github.com/angular/bower-angular.git", - "_target": "1.4.3", + "_source": "https://github.com/angular/bower-angular.git", + "_target": "~1.4.0", "_originalSource": "angular" } \ No newline at end of file diff --git a/libs/bower_components/angular/angular.js b/libs/bower_components/angular/angular.js index 7082434896..b992f28d40 100644 --- a/libs/bower_components/angular/angular.js +++ b/libs/bower_components/angular/angular.js @@ -1,5 +1,5 @@ /** - * @license AngularJS v1.4.3 + * @license AngularJS v1.4.10 * (c) 2010-2015 Google, Inc. http://angularjs.org * License: MIT */ @@ -57,7 +57,7 @@ function minErr(module, ErrorConstructor) { return match; }); - message += '\nhttp://errors.angularjs.org/1.4.3/' + + message += '\nhttp://errors.angularjs.org/1.4.10/' + (module ? module + '/' : '') + code; for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { @@ -267,20 +267,25 @@ msie = document.documentMode; * String ...) */ function isArrayLike(obj) { - if (obj == null || isWindow(obj)) { - return false; - } + + // `null`, `undefined` and `window` are not array-like + if (obj == null || isWindow(obj)) return false; + + // arrays, strings and jQuery/jqLite objects are array like + // * jqLite is either the jQuery or jqLite constructor function + // * we have to check the existance of jqLite first as this method is called + // via the forEach method when constructing the jqLite object in the first place + if (isArray(obj) || isString(obj) || (jqLite && obj instanceof jqLite)) return true; // Support: iOS 8.2 (not reproducible in simulator) // "length" in obj used to prevent JIT error (gh-11508) var length = "length" in Object(obj) && obj.length; - if (obj.nodeType === NODE_TYPE_ELEMENT && length) { - return true; - } + // NodeList objects (with `item` method) and + // other objects with suitable length characteristics are array-like + return isNumber(length) && + (length >= 0 && ((length - 1) in obj || obj instanceof Array) || typeof obj.item == 'function'); - return isString(obj) || isArray(obj) || length === 0 || - typeof length === 'number' && length > 0 && (length - 1) in obj; } /** @@ -300,7 +305,7 @@ function isArrayLike(obj) { * * Unlike ES262's * [Array.prototype.forEach](http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.18), - * Providing 'undefined' or 'null' values for `obj` will not throw a TypeError, but rather just + * providing 'undefined' or 'null' values for `obj` will not throw a TypeError, but rather just * return the value provided. * ```js @@ -377,7 +382,7 @@ function forEachSorted(obj, iterator, context) { * @returns {function(*, string)} */ function reverseParams(iteratorFn) { - return function(value, key) { iteratorFn(key, value); }; + return function(value, key) {iteratorFn(key, value);}; } /** @@ -423,6 +428,12 @@ function baseExtend(dst, objs, deep) { if (deep && isObject(src)) { if (isDate(src)) { dst[key] = new Date(src.valueOf()); + } else if (isRegExp(src)) { + dst[key] = new RegExp(src); + } else if (src.nodeName) { + dst[key] = src.cloneNode(true); + } else if (isElement(src)) { + dst[key] = src.clone(); } else { if (!isObject(dst[key])) dst[key] = isArray(src) ? [] : {}; baseExtend(dst[key], [src], true); @@ -538,7 +549,7 @@ identity.$inject = []; function valueFn(value) {return function() {return value;};} function hasCustomToString(obj) { - return isFunction(obj.toString) && obj.toString !== Object.prototype.toString; + return isFunction(obj.toString) && obj.toString !== toString; } @@ -737,9 +748,9 @@ function isPromiseLike(obj) { } -var TYPED_ARRAY_REGEXP = /^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/; +var TYPED_ARRAY_REGEXP = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/; function isTypedArray(value) { - return TYPED_ARRAY_REGEXP.test(toString.call(value)); + return value && isNumber(value.length) && TYPED_ARRAY_REGEXP.test(toString.call(value)); } @@ -779,7 +790,7 @@ function isElement(node) { * @returns {object} in the form of {key1:true, key2:true, ...} */ function makeMap(str) { - var obj = {}, items = str.split(","), i; + var obj = {}, items = str.split(','), i; for (i = 0; i < items.length; i++) { obj[items[i]] = true; } @@ -861,98 +872,113 @@ function arrayRemove(array, value) { */ -function copy(source, destination, stackSource, stackDest) { - if (isWindow(source) || isScope(source)) { - throw ngMinErr('cpws', - "Can't copy! Making copies of Window or Scope instances is not supported."); - } - if (isTypedArray(destination)) { - throw ngMinErr('cpta', - "Can't copy! TypedArray destination cannot be mutated."); - } +function copy(source, destination) { + var stackSource = []; + var stackDest = []; - if (!destination) { - destination = source; - if (isObject(source)) { - var index; - if (stackSource && (index = stackSource.indexOf(source)) !== -1) { - return stackDest[index]; - } - - // TypedArray, Date and RegExp have specific copy functionality and must be - // pushed onto the stack before returning. - // Array and other objects create the base object and recurse to copy child - // objects. The array/object will be pushed onto the stack when recursed. - if (isArray(source)) { - return copy(source, [], stackSource, stackDest); - } else if (isTypedArray(source)) { - destination = new source.constructor(source); - } else if (isDate(source)) { - destination = new Date(source.getTime()); - } else if (isRegExp(source)) { - destination = new RegExp(source.source, source.toString().match(/[^\/]*$/)[0]); - destination.lastIndex = source.lastIndex; - } else { - var emptyObject = Object.create(getPrototypeOf(source)); - return copy(source, emptyObject, stackSource, stackDest); - } + if (destination) { + if (isTypedArray(destination)) { + throw ngMinErr('cpta', "Can't copy! TypedArray destination cannot be mutated."); + } + if (source === destination) { + throw ngMinErr('cpi', "Can't copy! Source and destination are identical."); + } - if (stackDest) { - stackSource.push(source); - stackDest.push(destination); - } + // Empty the destination object + if (isArray(destination)) { + destination.length = 0; + } else { + forEach(destination, function(value, key) { + if (key !== '$$hashKey') { + delete destination[key]; + } + }); } - } else { - if (source === destination) throw ngMinErr('cpi', - "Can't copy! Source and destination are identical."); - stackSource = stackSource || []; - stackDest = stackDest || []; + stackSource.push(source); + stackDest.push(destination); + return copyRecurse(source, destination); + } - if (isObject(source)) { - stackSource.push(source); - stackDest.push(destination); - } + return copyElement(source); + function copyRecurse(source, destination) { + var h = destination.$$hashKey; var result, key; if (isArray(source)) { - destination.length = 0; - for (var i = 0; i < source.length; i++) { - destination.push(copy(source[i], null, stackSource, stackDest)); - } - } else { - var h = destination.$$hashKey; - if (isArray(destination)) { - destination.length = 0; - } else { - forEach(destination, function(value, key) { - delete destination[key]; - }); + for (var i = 0, ii = source.length; i < ii; i++) { + destination.push(copyElement(source[i])); } - if (isBlankObject(source)) { - // createMap() fast path --- Safe to avoid hasOwnProperty check because prototype chain is empty - for (key in source) { - destination[key] = copy(source[key], null, stackSource, stackDest); - } - } else if (source && typeof source.hasOwnProperty === 'function') { - // Slow path, which must rely on hasOwnProperty - for (key in source) { - if (source.hasOwnProperty(key)) { - destination[key] = copy(source[key], null, stackSource, stackDest); - } + } else if (isBlankObject(source)) { + // createMap() fast path --- Safe to avoid hasOwnProperty check because prototype chain is empty + for (key in source) { + destination[key] = copyElement(source[key]); + } + } else if (source && typeof source.hasOwnProperty === 'function') { + // Slow path, which must rely on hasOwnProperty + for (key in source) { + if (source.hasOwnProperty(key)) { + destination[key] = copyElement(source[key]); } - } else { - // Slowest path --- hasOwnProperty can't be called as a method - for (key in source) { - if (hasOwnProperty.call(source, key)) { - destination[key] = copy(source[key], null, stackSource, stackDest); - } + } + } else { + // Slowest path --- hasOwnProperty can't be called as a method + for (key in source) { + if (hasOwnProperty.call(source, key)) { + destination[key] = copyElement(source[key]); } } - setHashKey(destination,h); } + setHashKey(destination, h); + return destination; + } + + function copyElement(source) { + // Simple values + if (!isObject(source)) { + return source; + } + + // Already copied values + var index = stackSource.indexOf(source); + if (index !== -1) { + return stackDest[index]; + } + + if (isWindow(source) || isScope(source)) { + throw ngMinErr('cpws', + "Can't copy! Making copies of Window or Scope instances is not supported."); + } + + var needsRecurse = false; + var destination; + + if (isArray(source)) { + destination = []; + needsRecurse = true; + } else if (isTypedArray(source)) { + destination = new source.constructor(source); + } else if (isDate(source)) { + destination = new Date(source.getTime()); + } else if (isRegExp(source)) { + destination = new RegExp(source.source, source.toString().match(/[^\/]*$/)[0]); + destination.lastIndex = source.lastIndex; + } else if (isBlob(source)) { + destination = new source.constructor([source], {type: source.type}); + } else if (isFunction(source.cloneNode)) { + destination = source.cloneNode(true); + } else { + destination = Object.create(getPrototypeOf(source)); + needsRecurse = true; + } + + stackSource.push(source); + stackDest.push(destination); + + return needsRecurse + ? copyRecurse(source, destination) + : destination; } - return destination; } /** @@ -1042,7 +1068,7 @@ function equals(o1, o2) { for (key in o2) { if (!(key in keySet) && key.charAt(0) !== '$' && - o2[key] !== undefined && + isDefined(o2[key]) && !isFunction(o2[key])) return false; } return true; @@ -1053,22 +1079,39 @@ function equals(o1, o2) { } var csp = function() { - if (isDefined(csp.isActive_)) return csp.isActive_; + if (!isDefined(csp.rules)) { - var active = !!(document.querySelector('[ng-csp]') || - document.querySelector('[data-ng-csp]')); - if (!active) { + var ngCspElement = (document.querySelector('[ng-csp]') || + document.querySelector('[data-ng-csp]')); + + if (ngCspElement) { + var ngCspAttribute = ngCspElement.getAttribute('ng-csp') || + ngCspElement.getAttribute('data-ng-csp'); + csp.rules = { + noUnsafeEval: !ngCspAttribute || (ngCspAttribute.indexOf('no-unsafe-eval') !== -1), + noInlineStyle: !ngCspAttribute || (ngCspAttribute.indexOf('no-inline-style') !== -1) + }; + } else { + csp.rules = { + noUnsafeEval: noUnsafeEval(), + noInlineStyle: false + }; + } + } + + return csp.rules; + + function noUnsafeEval() { try { /* jshint -W031, -W054 */ new Function(''); /* jshint +W031, +W054 */ + return false; } catch (e) { - active = true; + return true; } } - - return (csp.isActive_ = active); }; /** @@ -1206,7 +1249,7 @@ function toJsonReplacer(key, value) { * @returns {string|undefined} JSON-ified string representing `obj`. */ function toJson(obj, pretty) { - if (typeof obj === 'undefined') return undefined; + if (isUndefined(obj)) return undefined; if (!isNumber(pretty)) { pretty = pretty ? 2 : null; } @@ -1233,7 +1276,10 @@ function fromJson(json) { } +var ALL_COLONS = /:/g; function timezoneToOffset(timezone, fallback) { + // IE/Edge do not "understand" colon (`:`) in timezone + timezone = timezone.replace(ALL_COLONS, ''); var requestedTimezoneOffset = Date.parse('Jan 01, 1970 00:00:00 ' + timezone) / 60000; return isNaN(requestedTimezoneOffset) ? fallback : requestedTimezoneOffset; } @@ -1248,8 +1294,9 @@ function addDateMinutes(date, minutes) { function convertTimezoneToLocal(date, timezone, reverse) { reverse = reverse ? -1 : 1; - var timezoneOffset = timezoneToOffset(timezone, date.getTimezoneOffset()); - return addDateMinutes(date, reverse * (timezoneOffset - date.getTimezoneOffset())); + var dateTimezoneOffset = date.getTimezoneOffset(); + var timezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset); + return addDateMinutes(date, reverse * (timezoneOffset - dateTimezoneOffset)); } @@ -1268,7 +1315,7 @@ function startingTag(element) { return element[0].nodeType === NODE_TYPE_TEXT ? lowercase(elemHtml) : elemHtml. match(/^(<[^>]+>)/)[1]. - replace(/^<([\w\-]+)/, function(match, nodeName) { return '<' + lowercase(nodeName); }); + replace(/^<([\w\-]+)/, function(match, nodeName) {return '<' + lowercase(nodeName);}); } catch (e) { return lowercase(elemHtml); } @@ -1300,13 +1347,19 @@ function tryDecodeURIComponent(value) { * @returns {Object.} */ function parseKeyValue(/**string*/keyValue) { - var obj = {}, key_value, key; + var obj = {}; forEach((keyValue || "").split('&'), function(keyValue) { + var splitPoint, key, val; if (keyValue) { - key_value = keyValue.replace(/\+/g,'%20').split('='); - key = tryDecodeURIComponent(key_value[0]); + key = keyValue = keyValue.replace(/\+/g,'%20'); + splitPoint = keyValue.indexOf('='); + if (splitPoint !== -1) { + key = keyValue.substring(0, splitPoint); + val = keyValue.substring(splitPoint + 1); + } + key = tryDecodeURIComponent(key); if (isDefined(key)) { - var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true; + val = isDefined(val) ? tryDecodeURIComponent(val) : true; if (!hasOwnProperty.call(obj, key)) { obj[key] = val; } else if (isArray(obj[key])) { @@ -1715,10 +1768,9 @@ function bindJQuery() { // bind to jQuery if present; var jqName = jq(); - jQuery = window.jQuery; // use default jQuery. - if (isDefined(jqName)) { // `ngJq` present - jQuery = jqName === null ? undefined : window[jqName]; // if empty; use jqLite. if not empty, use jQuery specified by `ngJq`. - } + jQuery = isUndefined(jqName) ? window.jQuery : // use jQuery (if present) + !jqName ? undefined : // use jqLite + window[jqName]; // use jQuery specified by `ngJq` // Use jQuery if it exists with proper functionality, otherwise default to us. // Angular 1.2+ requires jQuery 1.7+ for on()/off() support. @@ -1823,22 +1875,24 @@ function getter(obj, path, bindFnToScope) { /** * Return the DOM siblings between the first and last node in the given array. * @param {Array} array like object - * @returns {jqLite} jqLite collection containing the nodes + * @returns {Array} the inputted object or a jqLite collection containing the nodes */ function getBlockNodes(nodes) { - // TODO(perf): just check if all items in `nodes` are siblings and if they are return the original - // collection, otherwise update the original collection. + // TODO(perf): update `nodes` instead of creating a new object? var node = nodes[0]; var endNode = nodes[nodes.length - 1]; - var blockNodes = [node]; + var blockNodes; - do { - node = node.nextSibling; - if (!node) break; - blockNodes.push(node); - } while (node !== endNode); + for (var i = 1; node !== endNode && (node = node.nextSibling); i++) { + if (blockNodes || nodes[i] !== node) { + if (!blockNodes) { + blockNodes = jqLite(slice.call(nodes, 0, i)); + } + blockNodes.push(node); + } + } - return jqLite(blockNodes); + return blockNodes || nodes; } @@ -1902,8 +1956,8 @@ function setupModuleLoader(window) { * All modules (angular core or 3rd party) that should be available to an application must be * registered using this mechanism. * - * When passed two or more arguments, a new module is created. If passed only one argument, an - * existing module (the name passed as the first argument to `module`) is retrieved. + * Passing one argument retrieves an existing {@link angular.Module}, + * whereas passing more than one argument creates a new {@link angular.Module} * * * # Module @@ -1940,7 +1994,7 @@ function setupModuleLoader(window) { * unspecified then the module is being retrieved for further configuration. * @param {Function=} configFn Optional configuration function for the module. Same as * {@link angular.Module#config Module#config()}. - * @returns {module} new module with the {@link angular.Module} api. + * @returns {angular.Module} new module with the {@link angular.Module} api. */ return function module(name, requires, configFn) { var assertNotHasOwnProperty = function(name, context) { @@ -2052,7 +2106,7 @@ function setupModuleLoader(window) { * @param {string} name constant name * @param {*} object Constant value. * @description - * Because the constant are fixed, they get applied before other provide methods. + * Because the constants are fixed, they get applied before other provide methods. * See {@link auto.$provide#constant $provide.constant()}. */ constant: invokeLater('$provide', 'constant', 'unshift'), @@ -2222,7 +2276,7 @@ function serializeObject(obj) { val = toJsonReplacer(key, val); if (isObject(val)) { - if (seen.indexOf(val) >= 0) return '<>'; + if (seen.indexOf(val) >= 0) return '...'; seen.push(val); } @@ -2233,7 +2287,7 @@ function serializeObject(obj) { function toDebugString(obj) { if (typeof obj === 'function') { return obj.toString().replace(/ \{[\s\S]*$/, ''); - } else if (typeof obj === 'undefined') { + } else if (isUndefined(obj)) { return 'undefined'; } else if (typeof obj !== 'string') { return serializeObject(obj); @@ -2244,7 +2298,6 @@ function toDebugString(obj) { /* global angularModule: true, version: true, - $LocaleProvider, $CompileProvider, htmlAnchorDirective, @@ -2261,7 +2314,6 @@ function toDebugString(obj) { ngClassDirective, ngClassEvenDirective, ngClassOddDirective, - ngCspDirective, ngCloakDirective, ngControllerDirective, ngFormDirective, @@ -2298,14 +2350,18 @@ function toDebugString(obj) { $AnchorScrollProvider, $AnimateProvider, + $CoreAnimateCssProvider, + $$CoreAnimateJsProvider, $$CoreAnimateQueueProvider, - $$CoreAnimateRunnerProvider, + $$AnimateRunnerFactoryProvider, + $$AnimateAsyncRunFactoryProvider, $BrowserProvider, $CacheFactoryProvider, $ControllerProvider, $DocumentProvider, $ExceptionHandlerProvider, $FilterProvider, + $$ForceReflowProvider, $InterpolateProvider, $IntervalProvider, $$HashMapProvider, @@ -2313,6 +2369,7 @@ function toDebugString(obj) { $HttpParamSerializerProvider, $HttpParamSerializerJQLikeProvider, $HttpBackendProvider, + $xhrFactoryProvider, $LocationProvider, $LogProvider, $ParseProvider, @@ -2339,8 +2396,9 @@ function toDebugString(obj) { * @name angular.version * @module ng * @description - * An object that contains information about the current AngularJS version. This object has the - * following properties: + * An object that contains information about the current AngularJS version. + * + * This object has the following properties: * * - `full` – `{string}` – Full version string, such as "0.9.18". * - `major` – `{number}` – Major version number, such as "0". @@ -2349,11 +2407,11 @@ function toDebugString(obj) { * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat". */ var version = { - full: '1.4.3', // all of these placeholder strings will be replaced by grunt's + full: '1.4.10', // all of these placeholder strings will be replaced by grunt's major: 1, // package task minor: 4, - dot: 3, - codeName: 'foam-acceleration' + dot: 10, + codeName: 'benignant-oscillation' }; @@ -2392,11 +2450,6 @@ function publishExternalAPI(angular) { }); angularModule = setupModuleLoader(window); - try { - angularModule('ngLocale'); - } catch (e) { - angularModule('ngLocale', []).provider('$locale', $LocaleProvider); - } angularModule('ng', ['ngLocale'], ['$provide', function ngModule($provide) { @@ -2459,20 +2512,25 @@ function publishExternalAPI(angular) { $provide.provider({ $anchorScroll: $AnchorScrollProvider, $animate: $AnimateProvider, + $animateCss: $CoreAnimateCssProvider, + $$animateJs: $$CoreAnimateJsProvider, $$animateQueue: $$CoreAnimateQueueProvider, - $$AnimateRunner: $$CoreAnimateRunnerProvider, + $$AnimateRunner: $$AnimateRunnerFactoryProvider, + $$animateAsyncRun: $$AnimateAsyncRunFactoryProvider, $browser: $BrowserProvider, $cacheFactory: $CacheFactoryProvider, $controller: $ControllerProvider, $document: $DocumentProvider, $exceptionHandler: $ExceptionHandlerProvider, $filter: $FilterProvider, + $$forceReflow: $$ForceReflowProvider, $interpolate: $InterpolateProvider, $interval: $IntervalProvider, $http: $HttpProvider, $httpParamSerializer: $HttpParamSerializerProvider, $httpParamSerializerJQLike: $HttpParamSerializerJQLikeProvider, $httpBackend: $HttpBackendProvider, + $xhrFactory: $xhrFactoryProvider, $location: $LocationProvider, $log: $LogProvider, $parse: $ParseProvider, @@ -2529,16 +2587,22 @@ function publishExternalAPI(angular) { * * If jQuery is available, `angular.element` is an alias for the * [jQuery](http://api.jquery.com/jQuery/) function. If jQuery is not available, `angular.element` - * delegates to Angular's built-in subset of jQuery, called "jQuery lite" or "jqLite." + * delegates to Angular's built-in subset of jQuery, called "jQuery lite" or **jqLite**. * - *
jqLite is a tiny, API-compatible subset of jQuery that allows - * Angular to manipulate the DOM in a cross-browser compatible way. **jqLite** implements only the most - * commonly needed functionality with the goal of having a very small footprint.
+ * jqLite is a tiny, API-compatible subset of jQuery that allows + * Angular to manipulate the DOM in a cross-browser compatible way. jqLite implements only the most + * commonly needed functionality with the goal of having a very small footprint. * - * To use `jQuery`, simply ensure it is loaded before the `angular.js` file. + * To use `jQuery`, simply ensure it is loaded before the `angular.js` file. You can also use the + * {@link ngJq `ngJq`} directive to specify that jqlite should be used over jQuery, or to use a + * specific version of jQuery if multiple versions exist on the page. * - *
**Note:** all element references in Angular are always wrapped with jQuery or - * jqLite; they are never raw DOM references.
+ *
**Note:** All element references in Angular are always wrapped with jQuery or + * jqLite (such as the element argument in a directive's compile / link function). They are never raw DOM references.
+ * + *
**Note:** Keep in mind that this function will not find elements + * by tag name / CSS selector. For lookups by tag name, try instead `angular.element(document).find(...)` + * or `$document.find()`, or use the standard DOM APIs, e.g. `document.querySelectorAll()`.
* * ## Angular's jqLite * jqLite provides only the following jQuery methods: @@ -2551,7 +2615,8 @@ function publishExternalAPI(angular) { * - [`children()`](http://api.jquery.com/children/) - Does not support selectors * - [`clone()`](http://api.jquery.com/clone/) * - [`contents()`](http://api.jquery.com/contents/) - * - [`css()`](http://api.jquery.com/css/) - Only retrieves inline-styles, does not call `getComputedStyle()`. As a setter, does not convert numbers to strings or append 'px'. + * - [`css()`](http://api.jquery.com/css/) - Only retrieves inline-styles, does not call `getComputedStyle()`. + * As a setter, does not convert numbers to strings or append 'px', and also does not have automatic property prefixing. * - [`data()`](http://api.jquery.com/data/) * - [`detach()`](http://api.jquery.com/detach/) * - [`empty()`](http://api.jquery.com/empty/) @@ -2561,7 +2626,7 @@ function publishExternalAPI(angular) { * - [`html()`](http://api.jquery.com/html/) * - [`next()`](http://api.jquery.com/next/) - Does not support selectors * - [`on()`](http://api.jquery.com/on/) - Does not support namespaces, selectors or eventData - * - [`off()`](http://api.jquery.com/off/) - Does not support namespaces or selectors + * - [`off()`](http://api.jquery.com/off/) - Does not support namespaces, selectors or event object as parameter * - [`one()`](http://api.jquery.com/one/) - Does not support namespaces or selectors * - [`parent()`](http://api.jquery.com/parent/) - Does not support selectors * - [`prepend()`](http://api.jquery.com/prepend/) @@ -2575,7 +2640,7 @@ function publishExternalAPI(angular) { * - [`text()`](http://api.jquery.com/text/) * - [`toggleClass()`](http://api.jquery.com/toggleClass/) * - [`triggerHandler()`](http://api.jquery.com/triggerHandler/) - Passes a dummy event object to handlers. - * - [`unbind()`](http://api.jquery.com/unbind/) - Does not support namespaces + * - [`unbind()`](http://api.jquery.com/unbind/) - Does not support namespaces or event object as parameter * - [`val()`](http://api.jquery.com/val/) * - [`wrap()`](http://api.jquery.com/wrap/) * @@ -2647,10 +2712,10 @@ function camelCase(name) { replace(MOZ_HACK_REGEXP, 'Moz$1'); } -var SINGLE_TAG_REGEXP = /^<(\w+)\s*\/?>(?:<\/\1>|)$/; +var SINGLE_TAG_REGEXP = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/; var HTML_REGEXP = /<|&#?\w+;/; -var TAG_NAME_REGEXP = /<([\w:]+)/; -var XHTML_TAG_REGEXP = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi; +var TAG_NAME_REGEXP = /<([\w:-]+)/; +var XHTML_TAG_REGEXP = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi; var wrapMap = { 'option': [1, ''], @@ -2737,6 +2802,24 @@ function jqLiteParseHTML(html, context) { return []; } +function jqLiteWrapNode(node, wrapper) { + var parent = node.parentNode; + + if (parent) { + parent.replaceChild(wrapper, node); + } + + wrapper.appendChild(node); +} + + +// IE9-11 has no method "contains" in SVG element and in Node.prototype. Bug #10259. +var jqLiteContains = Node.prototype.contains || function(arg) { + // jshint bitwise: false + return !!(this.compareDocumentPosition(arg) & 16); + // jshint bitwise: true +}; + ///////////////////////////////////////////// function JQLite(element) { if (element instanceof JQLite) { @@ -2795,17 +2878,23 @@ function jqLiteOff(element, type, fn, unsupported) { delete events[type]; } } else { - forEach(type.split(' '), function(type) { + + var removeHandler = function(type) { + var listenerFns = events[type]; if (isDefined(fn)) { - var listenerFns = events[type]; arrayRemove(listenerFns || [], fn); - if (listenerFns && listenerFns.length > 0) { - return; - } } + if (!(isDefined(fn) && listenerFns && listenerFns.length > 0)) { + removeEventListenerFn(element, type, handle); + delete events[type]; + } + }; - removeEventListenerFn(element, type, handle); - delete events[type]; + forEach(type.split(' '), function(type) { + removeHandler(type); + if (MOUSE_EVENT_MAP[type]) { + removeHandler(MOUSE_EVENT_MAP[type]); + } }); } } @@ -2946,7 +3035,7 @@ function jqLiteInheritedData(element, name, value) { while (element) { for (var i = 0, ii = names.length; i < ii; i++) { - if ((value = jqLite.data(element, names[i])) !== undefined) return value; + if (isDefined(value = jqLite.data(element, names[i]))) return value; } // If dealing with a document fragment node with a host element, and no parent, use the host @@ -3052,9 +3141,8 @@ function getBooleanAttrName(element, name) { return booleanAttr && BOOLEAN_ELEMENTS[nodeName_(element)] && booleanAttr; } -function getAliasedAttrName(element, name) { - var nodeName = element.nodeName; - return (nodeName === 'INPUT' || nodeName === 'TEXTAREA') && ALIASED_ATTR[name]; +function getAliasedAttrName(name) { + return ALIASED_ATTR[name]; } forEach({ @@ -3191,7 +3279,7 @@ forEach({ // in a way that survives minification. // jqLiteEmpty takes no arguments but is a setter. if (fn !== jqLiteEmpty && - (((fn.length == 2 && (fn !== jqLiteHasClass && fn !== jqLiteController)) ? arg1 : arg2) === undefined)) { + (isUndefined((fn.length == 2 && (fn !== jqLiteHasClass && fn !== jqLiteController)) ? arg1 : arg2))) { if (isObject(arg1)) { // we are a write, but the object properties are the key/values @@ -3212,7 +3300,7 @@ forEach({ // TODO: do we still need this? var value = fn.$dv; // Only if we have $dv do we iterate over all, otherwise it is just the first element. - var jj = (value === undefined) ? Math.min(nodeCount, 1) : nodeCount; + var jj = (isUndefined(value)) ? Math.min(nodeCount, 1) : nodeCount; for (var j = 0; j < jj; j++) { var nodeValue = fn(this[j], arg1, arg2); value = value ? value + nodeValue : nodeValue; @@ -3261,6 +3349,9 @@ function createEventHandler(element, events) { return event.immediatePropagationStopped === true; }; + // Some events have special handlers that wrap the real handler + var handlerWrapper = eventFns.specialHandlerWrapper || defaultHandlerWrapper; + // Copy event handlers in case event handlers array is modified during execution. if ((eventFnsLength > 1)) { eventFns = shallowCopy(eventFns); @@ -3268,7 +3359,7 @@ function createEventHandler(element, events) { for (var i = 0; i < eventFnsLength; i++) { if (!event.isImmediatePropagationStopped()) { - eventFns[i].call(element, event); + handlerWrapper(element, event, eventFns[i]); } } }; @@ -3279,6 +3370,22 @@ function createEventHandler(element, events) { return eventHandler; } +function defaultHandlerWrapper(element, event, handler) { + handler.call(element, event); +} + +function specialMouseHandlerWrapper(target, event, handler) { + // Refer to jQuery's implementation of mouseenter & mouseleave + // Read about mouseenter and mouseleave: + // http://www.quirksmode.org/js/events_mouse.html#link8 + var related = event.relatedTarget; + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if (!related || (related !== target && !jqLiteContains.call(target, related))) { + handler.call(target, event); + } +} + ////////////////////////////////////////// // Functions iterating traversal. // These functions chain results into a single @@ -3307,35 +3414,28 @@ forEach({ var types = type.indexOf(' ') >= 0 ? type.split(' ') : [type]; var i = types.length; - while (i--) { - type = types[i]; + var addHandler = function(type, specialHandlerWrapper, noEventListener) { var eventFns = events[type]; if (!eventFns) { - events[type] = []; - - if (type === 'mouseenter' || type === 'mouseleave') { - // Refer to jQuery's implementation of mouseenter & mouseleave - // Read about mouseenter and mouseleave: - // http://www.quirksmode.org/js/events_mouse.html#link8 - - jqLiteOn(element, MOUSE_EVENT_MAP[type], function(event) { - var target = this, related = event.relatedTarget; - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if (!related || (related !== target && !target.contains(related))) { - handle(event, type); - } - }); - - } else { - if (type !== '$destroy') { - addEventListenerFn(element, type, handle); - } + eventFns = events[type] = []; + eventFns.specialHandlerWrapper = specialHandlerWrapper; + if (type !== '$destroy' && !noEventListener) { + addEventListenerFn(element, type, handle); } - eventFns = events[type]; } + eventFns.push(fn); + }; + + while (i--) { + type = types[i]; + if (MOUSE_EVENT_MAP[type]) { + addHandler(MOUSE_EVENT_MAP[type], specialMouseHandlerWrapper); + addHandler(type, undefined, true); + } else { + addHandler(type); + } } }, @@ -3403,12 +3503,7 @@ forEach({ }, wrap: function(element, wrapNode) { - wrapNode = jqLite(wrapNode).eq(0).clone()[0]; - var parent = element.parentNode; - if (parent) { - parent.replaceChild(wrapNode, element); - } - wrapNode.appendChild(element); + jqLiteWrapNode(element, jqLite(wrapNode).eq(0).clone()[0]); }, remove: jqLiteRemove, @@ -3686,7 +3781,7 @@ var $$HashMapProvider = [function() { * Implicit module which gets automatically added to each {@link auto.$injector $injector}. */ -var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m; +var FN_ARGS = /^[^\(]*\(\s*([^\)]*)\)/m; var FN_ARG_SPLIT = /,/; var FN_ARG = /^\s*(_?)(\S+?)\1\s*$/; var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; @@ -4111,8 +4206,20 @@ function annotate(fn, strictDi, name) { * * Register a **service constructor**, which will be invoked with `new` to create the service * instance. - * This is short for registering a service where its provider's `$get` property is the service - * constructor function that will be used to instantiate the service instance. + * This is short for registering a service where its provider's `$get` property is a factory + * function that returns an instance instantiated by the injector from the service constructor + * function. + * + * Internally it looks a bit like this: + * + * ``` + * { + * $get: function() { + * return $injector.instantiate(constructor); + * } + * } + * ``` + * * * You should use {@link auto.$provide#service $provide.service(class)} if you define your service * as a type/class. @@ -4152,14 +4259,13 @@ function annotate(fn, strictDi, name) { * @description * * Register a **value service** with the {@link auto.$injector $injector}, such as a string, a - * number, an array, an object or a function. This is short for registering a service where its + * number, an array, an object or a function. This is short for registering a service where its * provider's `$get` property is a factory function that takes no arguments and returns the **value - * service**. + * service**. That also means it is not possible to inject other services into a value service. * * Value services are similar to constant services, except that they cannot be injected into a * module configuration function (see {@link angular.Module#config}) but they can be overridden by - * an Angular - * {@link auto.$provide#decorator decorator}. + * an Angular {@link auto.$provide#decorator decorator}. * * @param {string} name The name of the instance. * @param {*} value The value. @@ -4184,8 +4290,11 @@ function annotate(fn, strictDi, name) { * @name $provide#constant * @description * - * Register a **constant service**, such as a string, a number, an array, an object or a function, - * with the {@link auto.$injector $injector}. Unlike {@link auto.$provide#value value} it can be + * Register a **constant service** with the {@link auto.$injector $injector}, such as a string, + * a number, an array, an object or a function. Like the {@link auto.$provide#value value}, it is not + * possible to inject other services into a constant. + * + * But unlike {@link auto.$provide#value value}, a constant can be * injected into a module configuration function (see {@link angular.Module#config}) and it cannot * be overridden by an Angular {@link auto.$provide#decorator decorator}. * @@ -4213,7 +4322,7 @@ function annotate(fn, strictDi, name) { * @description * * Register a **service decorator** with the {@link auto.$injector $injector}. A service decorator - * intercepts the creation of a service, allowing it to override or modify the behaviour of the + * intercepts the creation of a service, allowing it to override or modify the behavior of the * service. The object returned by the decorator may be the original service, or a new service * object which replaces or wraps and delegates to the original service. * @@ -4342,6 +4451,7 @@ function createInjector(modulesToLoad, strictDi) { // Module Loading //////////////////////////////////// function loadModules(modulesToLoad) { + assertArg(isUndefined(modulesToLoad) || isArray(modulesToLoad), 'modulesToLoad', 'not an array'); var runBlocks = [], moduleFn; forEach(modulesToLoad, function(module) { if (loadedModules.get(module)) return; @@ -4515,7 +4625,7 @@ function $AnchorScrollProvider() { * When called, it scrolls to the element related to the specified `hash` or (if omitted) to the * current value of {@link ng.$location#hash $location.hash()}, according to the rules specified * in the - * [HTML5 spec](http://dev.w3.org/html5/spec/Overview.html#the-indicated-part-of-the-document). + * [HTML5 spec](http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-indicated-part-of-the-document). * * It also watches the {@link ng.$location#hash $location.hash()} and automatically scrolls to * match any anchor whenever it changes. This can be disabled by calling @@ -4798,27 +4908,8 @@ function prepareAnimateOptions(options) { : {}; } -var $$CoreAnimateRunnerProvider = function() { - this.$get = ['$q', '$$rAF', function($q, $$rAF) { - function AnimateRunner() {} - AnimateRunner.all = noop; - AnimateRunner.chain = noop; - AnimateRunner.prototype = { - end: noop, - cancel: noop, - resume: noop, - pause: noop, - complete: noop, - then: function(pass, fail) { - return $q(function(resolve) { - $$rAF(function() { - resolve(); - }); - }).then(pass, fail); - } - }; - return AnimateRunner; - }]; +var $$CoreAnimateJsProvider = function() { + this.$get = function() {}; }; // this is prefixed with Core since it conflicts with @@ -4846,65 +4937,75 @@ var $$CoreAnimateQueueProvider = function() { addRemoveClassesPostDigest(element, options.addClass, options.removeClass); } - return new $$AnimateRunner(); // jshint ignore:line + var runner = new $$AnimateRunner(); // jshint ignore:line + + // since there are no animations to run the runner needs to be + // notified that the animation call is complete. + runner.complete(); + return runner; } }; - function addRemoveClassesPostDigest(element, add, remove) { - var data = postDigestQueue.get(element); - var classVal; - - if (!data) { - postDigestQueue.put(element, data = {}); - postDigestElements.push(element); - } - if (add) { - forEach(add.split(' '), function(className) { + function updateData(data, classes, value) { + var changed = false; + if (classes) { + classes = isString(classes) ? classes.split(' ') : + isArray(classes) ? classes : []; + forEach(classes, function(className) { if (className) { - data[className] = true; + changed = true; + data[className] = value; } }); } + return changed; + } + + function handleCSSClassChanges() { + forEach(postDigestElements, function(element) { + var data = postDigestQueue.get(element); + if (data) { + var existing = splitClasses(element.attr('class')); + var toAdd = ''; + var toRemove = ''; + forEach(data, function(status, className) { + var hasClass = !!existing[className]; + if (status !== hasClass) { + if (status) { + toAdd += (toAdd.length ? ' ' : '') + className; + } else { + toRemove += (toRemove.length ? ' ' : '') + className; + } + } + }); - if (remove) { - forEach(remove.split(' '), function(className) { - if (className) { - data[className] = false; - } - }); - } + forEach(element, function(elm) { + toAdd && jqLiteAddClass(elm, toAdd); + toRemove && jqLiteRemoveClass(elm, toRemove); + }); + postDigestQueue.remove(element); + } + }); + postDigestElements.length = 0; + } - if (postDigestElements.length > 1) return; - - $rootScope.$$postDigest(function() { - forEach(postDigestElements, function(element) { - var data = postDigestQueue.get(element); - if (data) { - var existing = splitClasses(element.attr('class')); - var toAdd = ''; - var toRemove = ''; - forEach(data, function(status, className) { - var hasClass = !!existing[className]; - if (status !== hasClass) { - if (status) { - toAdd += (toAdd.length ? ' ' : '') + className; - } else { - toRemove += (toRemove.length ? ' ' : '') + className; - } - } - }); - forEach(element, function(elm) { - toAdd && jqLiteAddClass(elm, toAdd); - toRemove && jqLiteRemoveClass(elm, toRemove); - }); - postDigestQueue.remove(element); - } - }); + function addRemoveClassesPostDigest(element, add, remove) { + var data = postDigestQueue.get(element) || {}; - postDigestElements.length = 0; - }); + var classesAdded = updateData(data, add, true); + var classesRemoved = updateData(data, remove, false); + + if (classesAdded || classesRemoved) { + + postDigestQueue.put(element, data); + postDigestElements.push(element); + + if (postDigestElements.length === 1) { + $rootScope.$$postDigest(handleCSSClassChanges); + } + } } }]; }; @@ -5025,7 +5126,7 @@ var $AnimateProvider = ['$provide', function($provide) { * when an animation is detected (and animations are enabled), $animate will do the heavy lifting * to ensure that animation runs with the triggered DOM operation. * - * By default $animate doesn't trigger an animations. This is because the `ngAnimate` module isn't + * By default $animate doesn't trigger any animations. This is because the `ngAnimate` module isn't * included and only when it is active then the animation hooks that `$animate` triggers will be * functional. Once active then all structural `ng-` directives will trigger animations as they perform * their DOM-related operations (enter, leave and move). Other directives such as `ngClass`, @@ -5306,10 +5407,23 @@ var $AnimateProvider = ['$provide', function($provide) { * @kind function * * @description Performs an inline animation on the element which applies the provided to and from CSS styles to the element. - * If any detected CSS transition, keyframe or JavaScript matches the provided className value then the animation will take - * on the provided styles. For example, if a transition animation is set for the given className then the provided from and - * to styles will be applied alongside the given transition. If a JavaScript animation is detected then the provided styles - * will be given in as function paramters into the `animate` method (or as apart of the `options` parameter). + * If any detected CSS transition, keyframe or JavaScript matches the provided className value, then the animation will take + * on the provided styles. For example, if a transition animation is set for the given className, then the provided `from` and + * `to` styles will be applied alongside the given transition. If the CSS style provided in `from` does not have a corresponding + * style in `to`, the style in `from` is applied immediately, and no animation is run. + * If a JavaScript animation is detected then the provided styles will be given in as function parameters into the `animate` + * method (or as part of the `options` parameter): + * + * ```js + * ngModule.animation('.my-inline-animation', function() { + * return { + * animate : function(element, from, to, done, options) { + * //animation + * done(); + * } + * } + * }); + * ``` * * @param {DOMElement} element the element which the CSS styles will be applied to * @param {object} from the from (starting) CSS styles that will be applied to the element and across the animation. @@ -5334,105 +5448,351 @@ var $AnimateProvider = ['$provide', function($provide) { }]; }]; -function $$AsyncCallbackProvider() { - this.$get = ['$$rAF', '$timeout', function($$rAF, $timeout) { - return $$rAF.supported - ? function(fn) { return $$rAF(fn); } - : function(fn) { - return $timeout(fn, 0, false); +var $$AnimateAsyncRunFactoryProvider = function() { + this.$get = ['$$rAF', function($$rAF) { + var waitQueue = []; + + function waitForTick(fn) { + waitQueue.push(fn); + if (waitQueue.length > 1) return; + $$rAF(function() { + for (var i = 0; i < waitQueue.length; i++) { + waitQueue[i](); + } + waitQueue = []; + }); + } + + return function() { + var passed = false; + waitForTick(function() { + passed = true; + }); + return function(callback) { + passed ? callback() : waitForTick(callback); }; + }; }]; -} - -/* global stripHash: true */ +}; -/** - * ! This is a private undocumented service ! - * - * @name $browser - * @requires $log - * @description - * This object has two goals: - * - * - hide all the global state in the browser caused by the window object - * - abstract away all the browser specific features and inconsistencies - * - * For tests we provide {@link ngMock.$browser mock implementation} of the `$browser` - * service, which can be used for convenient testing of the application without the interaction with - * the real browser apis. - */ -/** - * @param {object} window The global window object. - * @param {object} document jQuery wrapped document. - * @param {object} $log window.console or an object with the same interface. - * @param {object} $sniffer $sniffer service - */ -function Browser(window, document, $log, $sniffer) { - var self = this, - rawDocument = document[0], - location = window.location, - history = window.history, - setTimeout = window.setTimeout, - clearTimeout = window.clearTimeout, - pendingDeferIds = {}; +var $$AnimateRunnerFactoryProvider = function() { + this.$get = ['$q', '$sniffer', '$$animateAsyncRun', '$document', '$timeout', + function($q, $sniffer, $$animateAsyncRun, $document, $timeout) { - self.isMock = false; + var INITIAL_STATE = 0; + var DONE_PENDING_STATE = 1; + var DONE_COMPLETE_STATE = 2; - var outstandingRequestCount = 0; - var outstandingRequestCallbacks = []; + AnimateRunner.chain = function(chain, callback) { + var index = 0; - // TODO(vojta): remove this temporary api - self.$$completeOutstandingRequest = completeOutstandingRequest; - self.$$incOutstandingRequestCount = function() { outstandingRequestCount++; }; + next(); + function next() { + if (index === chain.length) { + callback(true); + return; + } - /** - * Executes the `fn` function(supports currying) and decrements the `outstandingRequestCallbacks` - * counter. If the counter reaches 0, all the `outstandingRequestCallbacks` are executed. - */ - function completeOutstandingRequest(fn) { - try { - fn.apply(null, sliceArgs(arguments, 1)); - } finally { - outstandingRequestCount--; - if (outstandingRequestCount === 0) { - while (outstandingRequestCallbacks.length) { - try { - outstandingRequestCallbacks.pop()(); - } catch (e) { - $log.error(e); + chain[index](function(response) { + if (response === false) { + callback(false); + return; } + index++; + next(); + }); + } + }; + + AnimateRunner.all = function(runners, callback) { + var count = 0; + var status = true; + forEach(runners, function(runner) { + runner.done(onProgress); + }); + + function onProgress(response) { + status = status && response; + if (++count === runners.length) { + callback(status); } } - } - } + }; - function getHash(url) { - var index = url.indexOf('#'); - return index === -1 ? '' : url.substr(index); - } + function AnimateRunner(host) { + this.setHost(host); - /** - * @private - * Note: this method is used only by scenario runner - * TODO(vojta): prefix this method with $$ ? - * @param {function()} callback Function that will be called when no outstanding request - */ - self.notifyWhenNoOutstandingRequests = function(callback) { - if (outstandingRequestCount === 0) { - callback(); - } else { - outstandingRequestCallbacks.push(callback); - } - }; + var rafTick = $$animateAsyncRun(); + var timeoutTick = function(fn) { + $timeout(fn, 0, false); + }; - ////////////////////////////////////////////////////////////// - // URL API - ////////////////////////////////////////////////////////////// + this._doneCallbacks = []; + this._tick = function(fn) { + var doc = $document[0]; - var cachedState, lastHistoryState, - lastBrowserUrl = location.href, + // the document may not be ready or attached + // to the module for some internal tests + if (doc && doc.hidden) { + timeoutTick(fn); + } else { + rafTick(fn); + } + }; + this._state = 0; + } + + AnimateRunner.prototype = { + setHost: function(host) { + this.host = host || {}; + }, + + done: function(fn) { + if (this._state === DONE_COMPLETE_STATE) { + fn(); + } else { + this._doneCallbacks.push(fn); + } + }, + + progress: noop, + + getPromise: function() { + if (!this.promise) { + var self = this; + this.promise = $q(function(resolve, reject) { + self.done(function(status) { + status === false ? reject() : resolve(); + }); + }); + } + return this.promise; + }, + + then: function(resolveHandler, rejectHandler) { + return this.getPromise().then(resolveHandler, rejectHandler); + }, + + 'catch': function(handler) { + return this.getPromise()['catch'](handler); + }, + + 'finally': function(handler) { + return this.getPromise()['finally'](handler); + }, + + pause: function() { + if (this.host.pause) { + this.host.pause(); + } + }, + + resume: function() { + if (this.host.resume) { + this.host.resume(); + } + }, + + end: function() { + if (this.host.end) { + this.host.end(); + } + this._resolve(true); + }, + + cancel: function() { + if (this.host.cancel) { + this.host.cancel(); + } + this._resolve(false); + }, + + complete: function(response) { + var self = this; + if (self._state === INITIAL_STATE) { + self._state = DONE_PENDING_STATE; + self._tick(function() { + self._resolve(response); + }); + } + }, + + _resolve: function(response) { + if (this._state !== DONE_COMPLETE_STATE) { + forEach(this._doneCallbacks, function(fn) { + fn(response); + }); + this._doneCallbacks.length = 0; + this._state = DONE_COMPLETE_STATE; + } + } + }; + + return AnimateRunner; + }]; +}; + +/** + * @ngdoc service + * @name $animateCss + * @kind object + * + * @description + * This is the core version of `$animateCss`. By default, only when the `ngAnimate` is included, + * then the `$animateCss` service will actually perform animations. + * + * Click here {@link ngAnimate.$animateCss to read the documentation for $animateCss}. + */ +var $CoreAnimateCssProvider = function() { + this.$get = ['$$rAF', '$q', '$$AnimateRunner', function($$rAF, $q, $$AnimateRunner) { + + return function(element, initialOptions) { + // all of the animation functions should create + // a copy of the options data, however, if a + // parent service has already created a copy then + // we should stick to using that + var options = initialOptions || {}; + if (!options.$$prepared) { + options = copy(options); + } + + // there is no point in applying the styles since + // there is no animation that goes on at all in + // this version of $animateCss. + if (options.cleanupStyles) { + options.from = options.to = null; + } + + if (options.from) { + element.css(options.from); + options.from = null; + } + + /* jshint newcap: false*/ + var closed, runner = new $$AnimateRunner(); + return { + start: run, + end: run + }; + + function run() { + $$rAF(function() { + applyAnimationContents(); + if (!closed) { + runner.complete(); + } + closed = true; + }); + return runner; + } + + function applyAnimationContents() { + if (options.addClass) { + element.addClass(options.addClass); + options.addClass = null; + } + if (options.removeClass) { + element.removeClass(options.removeClass); + options.removeClass = null; + } + if (options.to) { + element.css(options.to); + options.to = null; + } + } + }; + }]; +}; + +/* global stripHash: true */ + +/** + * ! This is a private undocumented service ! + * + * @name $browser + * @requires $log + * @description + * This object has two goals: + * + * - hide all the global state in the browser caused by the window object + * - abstract away all the browser specific features and inconsistencies + * + * For tests we provide {@link ngMock.$browser mock implementation} of the `$browser` + * service, which can be used for convenient testing of the application without the interaction with + * the real browser apis. + */ +/** + * @param {object} window The global window object. + * @param {object} document jQuery wrapped document. + * @param {object} $log window.console or an object with the same interface. + * @param {object} $sniffer $sniffer service + */ +function Browser(window, document, $log, $sniffer) { + var self = this, + rawDocument = document[0], + location = window.location, + history = window.history, + setTimeout = window.setTimeout, + clearTimeout = window.clearTimeout, + pendingDeferIds = {}; + + self.isMock = false; + + var outstandingRequestCount = 0; + var outstandingRequestCallbacks = []; + + // TODO(vojta): remove this temporary api + self.$$completeOutstandingRequest = completeOutstandingRequest; + self.$$incOutstandingRequestCount = function() { outstandingRequestCount++; }; + + /** + * Executes the `fn` function(supports currying) and decrements the `outstandingRequestCallbacks` + * counter. If the counter reaches 0, all the `outstandingRequestCallbacks` are executed. + */ + function completeOutstandingRequest(fn) { + try { + fn.apply(null, sliceArgs(arguments, 1)); + } finally { + outstandingRequestCount--; + if (outstandingRequestCount === 0) { + while (outstandingRequestCallbacks.length) { + try { + outstandingRequestCallbacks.pop()(); + } catch (e) { + $log.error(e); + } + } + } + } + } + + function getHash(url) { + var index = url.indexOf('#'); + return index === -1 ? '' : url.substr(index); + } + + /** + * @private + * Note: this method is used only by scenario runner + * TODO(vojta): prefix this method with $$ ? + * @param {function()} callback Function that will be called when no outstanding request + */ + self.notifyWhenNoOutstandingRequests = function(callback) { + if (outstandingRequestCount === 0) { + callback(); + } else { + outstandingRequestCallbacks.push(callback); + } + }; + + ////////////////////////////////////////////////////////////// + // URL API + ////////////////////////////////////////////////////////////// + + var cachedState, lastHistoryState, + lastBrowserUrl = location.href, baseElement = document.find('base'), - reloadLocation = null; + pendingLocation = null; cacheState(); lastHistoryState = cachedState; @@ -5492,8 +5852,8 @@ function Browser(window, document, $log, $sniffer) { // Do the assignment again so that those two variables are referentially identical. lastHistoryState = cachedState; } else { - if (!sameBase || reloadLocation) { - reloadLocation = url; + if (!sameBase || pendingLocation) { + pendingLocation = url; } if (replace) { location.replace(url); @@ -5502,14 +5862,18 @@ function Browser(window, document, $log, $sniffer) { } else { location.hash = getHash(url); } + if (location.href !== url) { + pendingLocation = url; + } } return self; // getter } else { - // - reloadLocation is needed as browsers don't allow to read out - // the new location.href if a reload happened. + // - pendingLocation is needed as browsers don't allow to read out + // the new location.href if a reload happened or if there is a bug like in iOS 9 (see + // https://openradar.appspot.com/22186109). // - the replacement is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=407172 - return reloadLocation || location.href.replace(/%27/g,"'"); + return pendingLocation || location.href.replace(/%27/g,"'"); } }; @@ -5531,6 +5895,7 @@ function Browser(window, document, $log, $sniffer) { urlChangeInit = false; function cacheStateAndFireUrlChange() { + pendingLocation = null; cacheState(); fireUrlChange(); } @@ -5766,10 +6131,10 @@ function $BrowserProvider() { $scope.keys = []; $scope.cache = $cacheFactory('cacheId'); $scope.put = function(key, value) { - if ($scope.cache.get(key) === undefined) { + if (angular.isUndefined($scope.cache.get(key))) { $scope.keys.push(key); } - $scope.cache.put(key, value === undefined ? null : value); + $scope.cache.put(key, angular.isUndefined(value) ? null : value); }; }]); @@ -5792,9 +6157,9 @@ function $CacheFactoryProvider() { var size = 0, stats = extend({}, options, {id: cacheId}), - data = {}, + data = createMap(), capacity = (options && options.capacity) || Number.MAX_VALUE, - lruHash = {}, + lruHash = createMap(), freshEnd = null, staleEnd = null; @@ -5922,6 +6287,8 @@ function $CacheFactoryProvider() { delete lruHash[key]; } + if (!(key in data)) return; + delete data[key]; size--; }, @@ -5936,9 +6303,9 @@ function $CacheFactoryProvider() { * Clears the cache object of any entries. */ removeAll: function() { - data = {}; + data = createMap(); size = 0; - lruHash = {}; + lruHash = createMap(); freshEnd = staleEnd = null; }, @@ -6245,59 +6612,95 @@ function $TemplateCacheProvider() { * and other directives used in the directive's template will also be excluded from execution. * * #### `scope` - * **If set to `true`,** then a new scope will be created for this directive. If multiple directives on the - * same element request a new scope, only one new scope is created. The new scope rule does not - * apply for the root of the template since the root of the template always gets a new scope. + * The scope property can be `true`, an object or a falsy value: + * + * * **falsy:** No scope will be created for the directive. The directive will use its parent's scope. * - * **If set to `{}` (object hash),** then a new "isolate" scope is created. The 'isolate' scope differs from - * normal scope in that it does not prototypically inherit from the parent scope. This is useful - * when creating reusable components, which should not accidentally read or modify data in the - * parent scope. + * * **`true`:** A new child scope that prototypically inherits from its parent will be created for + * the directive's element. If multiple directives on the same element request a new scope, + * only one new scope is created. The new scope rule does not apply for the root of the template + * since the root of the template always gets a new scope. * - * The 'isolate' scope takes an object hash which defines a set of local scope properties - * derived from the parent scope. These local properties are useful for aliasing values for - * templates. Locals definition is a hash of local scope property to its source: + * * **`{...}` (an object hash):** A new "isolate" scope is created for the directive's element. The + * 'isolate' scope differs from normal scope in that it does not prototypically inherit from its parent + * scope. This is useful when creating reusable components, which should not accidentally read or modify + * data in the parent scope. + * + * The 'isolate' scope object hash defines a set of local scope properties derived from attributes on the + * directive's element. These local properties are useful for aliasing values for templates. The keys in + * the object hash map to the name of the property on the isolate scope; the values define how the property + * is bound to the parent scope, via matching attributes on the directive's element: * * * `@` or `@attr` - bind a local scope property to the value of DOM attribute. The result is - * always a string since DOM attributes are strings. If no `attr` name is specified then the - * attribute name is assumed to be the same as the local name. - * Given `` and widget definition - * of `scope: { localName:'@myAttr' }`, then widget scope property `localName` will reflect - * the interpolated value of `hello {{name}}`. As the `name` attribute changes so will the - * `localName` property on the widget scope. The `name` is read from the parent scope (not - * component scope). - * - * * `=` or `=attr` - set up bi-directional binding between a local scope property and the - * parent scope property of name defined via the value of the `attr` attribute. If no `attr` - * name is specified then the attribute name is assumed to be the same as the local name. - * Given `` and widget definition of - * `scope: { localModel:'=myAttr' }`, then widget scope property `localModel` will reflect the - * value of `parentModel` on the parent scope. Any changes to `parentModel` will be reflected - * in `localModel` and any changes in `localModel` will reflect in `parentModel`. If the parent - * scope property doesn't exist, it will throw a NON_ASSIGNABLE_MODEL_EXPRESSION exception. You - * can avoid this behavior using `=?` or `=?attr` in order to flag the property as optional. If - * you want to shallow watch for changes (i.e. $watchCollection instead of $watch) you can use - * `=*` or `=*attr` (`=*?` or `=*?attr` if the property is optional). - * - * * `&` or `&attr` - provides a way to execute an expression in the context of the parent scope. - * If no `attr` name is specified then the attribute name is assumed to be the same as the - * local name. Given `` and widget definition of - * `scope: { localFn:'&myAttr' }`, then isolate scope property `localFn` will point to - * a function wrapper for the `count = count + value` expression. Often it's desirable to - * pass data from the isolated scope via an expression to the parent scope, this can be - * done by passing a map of local variable names and values into the expression wrapper fn. - * For example, if the expression is `increment(amount)` then we can specify the amount value - * by calling the `localFn` as `localFn({amount: 22})`. + * always a string since DOM attributes are strings. If no `attr` name is specified then the + * attribute name is assumed to be the same as the local name. Given `` and the isolate scope definition `scope: { localName:'@myAttr' }`, + * the directive's scope property `localName` will reflect the interpolated value of `hello + * {{name}}`. As the `name` attribute changes so will the `localName` property on the directive's + * scope. The `name` is read from the parent scope (not the directive's scope). + * + * * `=` or `=attr` - set up a bidirectional binding between a local scope property and an expression + * passed via the attribute `attr`. The expression is evaluated in the context of the parent scope. + * If no `attr` name is specified then the attribute name is assumed to be the same as the local + * name. Given `` and the isolate scope definition `scope: { + * localModel: '=myAttr' }`, the property `localModel` on the directive's scope will reflect the + * value of `parentModel` on the parent scope. Changes to `parentModel` will be reflected in + * `localModel` and vice versa. Optional attributes should be marked as such with a question mark: + * `=?` or `=?attr`. If the binding expression is non-assignable, or if the attribute isn't + * optional and doesn't exist, an exception ({@link error/$compile/nonassign `$compile:nonassign`}) + * will be thrown upon discovering changes to the local value, since it will be impossible to sync + * them back to the parent scope. By default, the {@link ng.$rootScope.Scope#$watch `$watch`} + * method is used for tracking changes, and the equality check is based on object identity. + * However, if an object literal or an array literal is passed as the binding expression, the + * equality check is done by value (using the {@link angular.equals} function). It's also possible + * to watch the evaluated value shallowly with {@link ng.$rootScope.Scope#$watchCollection + * `$watchCollection`}: use `=*` or `=*attr` (`=*?` or `=*?attr` if the attribute is optional). + * + * * `&` or `&attr` - provides a way to execute an expression in the context of the parent scope. If + * no `attr` name is specified then the attribute name is assumed to be the same as the local name. + * Given `` and the isolate scope definition `scope: { + * localFn:'&myAttr' }`, the isolate scope property `localFn` will point to a function wrapper for + * the `count = count + value` expression. Often it's desirable to pass data from the isolated scope + * via an expression to the parent scope. This can be done by passing a map of local variable names + * and values into the expression wrapper fn. For example, if the expression is `increment(amount)` + * then we can specify the amount value by calling the `localFn` as `localFn({amount: 22})`. + * + * In general it's possible to apply more than one directive to one element, but there might be limitations + * depending on the type of scope required by the directives. The following points will help explain these limitations. + * For simplicity only two directives are taken into account, but it is also applicable for several directives: + * + * * **no scope** + **no scope** => Two directives which don't require their own scope will use their parent's scope + * * **child scope** + **no scope** => Both directives will share one single child scope + * * **child scope** + **child scope** => Both directives will share one single child scope + * * **isolated scope** + **no scope** => The isolated directive will use it's own created isolated scope. The other directive will use + * its parent's scope + * * **isolated scope** + **child scope** => **Won't work!** Only one scope can be related to one element. Therefore these directives cannot + * be applied to the same element. + * * **isolated scope** + **isolated scope** => **Won't work!** Only one scope can be related to one element. Therefore these directives + * cannot be applied to the same element. * * * #### `bindToController` - * When an isolate scope is used for a component (see above), and `controllerAs` is used, `bindToController: true` will + * This property is used to bind scope properties directly to the controller. It can be either + * `true` or an object hash with the same format as the `scope` property. Additionally, a controller + * alias must be set, either by using `controllerAs: 'myAlias'` or by specifying the alias in the controller + * definition: `controller: 'myCtrl as myAlias'`. + * + * When an isolate scope is used for a directive (see above), `bindToController: true` will * allow a component to have its properties bound to the controller, rather than to scope. When the controller * is instantiated, the initial values of the isolate scope bindings are already available. * + * It is also possible to set `bindToController` to an object hash with the same format as the `scope` property. + * This will set up the scope bindings to the controller directly. Note that `scope` can still be used + * to define which kind of scope is created. By default, no scope is created. Use `scope: {}` to create an isolate + * scope (useful for component directives). + * + * If both `bindToController` and `scope` are defined and have object hashes, `bindToController` overrides `scope`. + * + * * #### `controller` * Controller constructor function. The controller is instantiated before the - * pre-linking phase and it is shared with other directives (see + * pre-linking phase and can be accessed by other directives (see * `require` attribute). This allows the directives to communicate with each other and augment * each other's behavior. The controller is injectable (and supports bracket notation) with the following locals: * @@ -6337,9 +6740,10 @@ function $TemplateCacheProvider() { * * #### `controllerAs` * Identifier name for a reference to the controller in the directive's scope. - * This allows the controller to be referenced from the directive template. The directive - * needs to define a scope for this configuration to be used. Useful in the case when - * directive is used as component. + * This allows the controller to be referenced from the directive template. This is especially + * useful when a directive is used as component, i.e. with an `isolate` scope. It's also possible + * to use it in a directive without an `isolate` / `new` scope, but you need to be aware that the + * `controllerAs` reference might overwrite a property that already exists on the parent scope. * * * #### `restrict` @@ -6450,7 +6854,7 @@ function $TemplateCacheProvider() { *
* **Note:** The compile function cannot handle directives that recursively use themselves in their - * own templates or compile functions. Compiling these directives results in an infinite loop and a + * own templates or compile functions. Compiling these directives results in an infinite loop and * stack overflow errors. * * This can be avoided by manually using $compile in the postLink function to imperatively compile @@ -6506,7 +6910,7 @@ function $TemplateCacheProvider() { * otherwise the {@link error:$compile:ctreq Missing Required Controller} error is thrown. * * Note that you can also require the directive's own controller - it will be made available like - * like any other controller. + * any other controller. * * * `transcludeFn` - A transclude linking function pre-bound to the correct transclusion scope. * This is the same as the `$transclude` @@ -6532,7 +6936,7 @@ function $TemplateCacheProvider() { * * ### Transclusion * - * Transclusion is the process of extracting a collection of DOM element from one part of the DOM and + * Transclusion is the process of extracting a collection of DOM elements from one part of the DOM and * copying them to another part of the DOM, while maintaining their connection to the original AngularJS * scope from where they were taken. * @@ -6629,19 +7033,19 @@ function $TemplateCacheProvider() { * * The `$parent` scope hierarchy will look like this: * - * ``` - * - $rootScope - * - isolate - * - transclusion - * ``` + ``` + - $rootScope + - isolate + - transclusion + ``` * * but the scopes will inherit prototypically from different scopes to their `$parent`. * - * ``` - * - $rootScope - * - transclusion - * - isolate - * ``` + ``` + - $rootScope + - transclusion + - isolate + ``` * * * ### Attributes @@ -6649,10 +7053,9 @@ function $TemplateCacheProvider() { * The {@link ng.$compile.directive.Attributes Attributes} object - passed as a parameter in the * `link()` or `compile()` functions. It has a variety of uses. * - * accessing *Normalized attribute names:* - * Directives like 'ngBind' can be expressed in many ways: 'ng:bind', `data-ng-bind`, or 'x-ng-bind'. - * the attributes object allows for normalized access to - * the attributes. + * * *Accessing normalized attribute names:* Directives like 'ngBind' can be expressed in many ways: + * 'ng:bind', `data-ng-bind`, or 'x-ng-bind'. The attributes object allows for normalized access + * to the attributes. * * * *Directive inter-communication:* All directives share the same instance of the attributes * object which allows the directives to use the attributes object as inter directive @@ -6773,8 +7176,15 @@ function $TemplateCacheProvider() { * directives; if given, it will be passed through to the link functions of * directives found in `element` during compilation. * * `transcludeControllers` - an object hash with keys that map controller names - * to controller instances; if given, it will make the controllers - * available to directives. + * to a hash with the key `instance`, which maps to the controller instance; + * if given, it will make the controllers available to directives on the compileNode: + * ``` + * { + * parent: { + * instance: parentControllerInstance + * } + * } + * ``` * * `futureParentElement` - defines the parent to which the `cloneAttachFn` will add * the cloned elements; only needed for transcludes that are allowed to contain non html * elements (e.g. SVG elements). See also the directive.controller property. @@ -6833,6 +7243,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // The assumption is that future DOM event attribute names will begin with // 'on' and be composed of only English letters. var EVENT_HANDLER_ATTR_REGEXP = /^(on[a-z]+|formaction)$/; + var bindingCache = createMap(); function parseIsolateBindings(scope, directiveName, isController) { var LOCAL_REGEXP = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/; @@ -6840,6 +7251,10 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var bindings = {}; forEach(scope, function(definition, scopeName) { + if (definition in bindingCache) { + bindings[scopeName] = bindingCache[definition]; + return; + } var match = definition.match(LOCAL_REGEXP); if (!match) { @@ -6857,6 +7272,9 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { optional: match[3] === '?', attrName: match[4] || scopeName }; + if (match[4]) { + bindingCache[definition] = bindings[scopeName]; + } }); return bindings; @@ -6949,11 +7367,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { directive.name = directive.name || name; directive.require = directive.require || (directive.controller && directive.name); directive.restrict = directive.restrict || 'EA'; - var bindings = directive.$$bindings = - parseDirectiveBindings(directive, directive.name); - if (isObject(bindings.isolateScope)) { - directive.$$isolateBindings = bindings.isolateScope; - } directive.$$moduleName = directiveFactory.$$moduleName; directives.push(directive); } catch (e) { @@ -7063,9 +7476,9 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { this.$get = [ '$injector', '$interpolate', '$exceptionHandler', '$templateRequest', '$parse', - '$controller', '$rootScope', '$document', '$sce', '$animate', '$$sanitizeUri', + '$controller', '$rootScope', '$sce', '$animate', '$$sanitizeUri', function($injector, $interpolate, $exceptionHandler, $templateRequest, $parse, - $controller, $rootScope, $document, $sce, $animate, $$sanitizeUri) { + $controller, $rootScope, $sce, $animate, $$sanitizeUri) { var Attributes = function(element, attributesToCopy) { if (attributesToCopy) { @@ -7176,7 +7589,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var node = this.$$element[0], booleanKey = getBooleanAttrName(node, key), - aliasedKey = getAliasedAttrName(node, key), + aliasedKey = getAliasedAttrName(key), observer = key, nodeName; @@ -7243,7 +7656,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } if (writeAttr !== false) { - if (value === null || value === undefined) { + if (value === null || isUndefined(value)) { this.$$element.removeAttr(attrName); } else { this.$$element.attr(attrName, value); @@ -7277,7 +7690,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { * @param {string} key Normalized key. (ie ngAttribute) . * @param {function(interpolatedValue)} fn Function that will be called whenever the interpolated value of the attribute changes. - * See the {@link guide/directive#text-and-attribute-bindings Directives} guide for more info. + * See the {@link guide/interpolation#how-text-and-attribute-bindings-work Interpolation + * guide} for more info. * @returns {function()} Returns a deregistration function for this observer. */ $observe: function(key, fn) { @@ -7287,7 +7701,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { listeners.push(fn); $rootScope.$evalAsync(function() { - if (!listeners.$$inter && attrs.hasOwnProperty(key)) { + if (!listeners.$$inter && attrs.hasOwnProperty(key) && !isUndefined(attrs[key])) { // no one registered attribute interpolation function, so lets call it manually fn(attrs[key]); } @@ -7312,12 +7726,13 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var startSymbol = $interpolate.startSymbol(), endSymbol = $interpolate.endSymbol(), - denormalizeTemplate = (startSymbol == '{{' || endSymbol == '}}') + denormalizeTemplate = (startSymbol == '{{' && endSymbol == '}}') ? identity : function denormalizeTemplate(template) { return template.replace(/\{\{/g, startSymbol).replace(/}}/g, endSymbol); }, NG_ATTR_BINDING = /^ngAttr[A-Z]/; + var MULTI_ELEMENT_DIR_RE = /^(.+)Start$/; compile.$$addBindingInfo = debugInfoEnabled ? function $$addBindingInfo($element, binding) { var bindings = $element.data('$binding') || []; @@ -7355,13 +7770,19 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // modify it. $compileNodes = jqLite($compileNodes); } + + var NOT_EMPTY = /\S+/; + // We can not compile top level text elements since text nodes can be merged and we will // not be able to attach scope data to them, so we will wrap them in - forEach($compileNodes, function(node, index) { - if (node.nodeType == NODE_TYPE_TEXT && node.nodeValue.match(/\S+/) /* non-empty */ ) { - $compileNodes[index] = jqLite(node).wrap('').parent()[0]; + for (var i = 0, len = $compileNodes.length; i < len; i++) { + var domNode = $compileNodes[i]; + + if (domNode.nodeType === NODE_TYPE_TEXT && domNode.nodeValue.match(NOT_EMPTY) /* non-empty */) { + jqLiteWrapNode(domNode, $compileNodes[i] = document.createElement('span')); } - }); + } + var compositeLinkFn = compileNodes($compileNodes, transcludeFn, $compileNodes, maxPriority, ignoreDirective, previousCompileContext); @@ -7370,6 +7791,14 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { return function publicLinkFn(scope, cloneConnectFn, options) { assertArg(scope, 'scope'); + if (previousCompileContext && previousCompileContext.needsNewScope) { + // A parent directive did a replace and a directive on this element asked + // for transclusion, which caused us to lose a layer of element on which + // we could hold the new transclusion scope, so we will create it manually + // here. + scope = scope.$parent.$new(); + } + options = options || {}; var parentBoundTranscludeFn = options.parentBoundTranscludeFn, transcludeControllers = options.transcludeControllers, @@ -7515,11 +7944,6 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (nodeLinkFn.scope) { childScope = scope.$new(); compile.$$addScopeInfo(jqLite(node), childScope); - var destroyBindings = nodeLinkFn.$$destroyBindings; - if (destroyBindings) { - nodeLinkFn.$$destroyBindings = null; - childScope.$on('$destroyed', destroyBindings); - } } else { childScope = scope; } @@ -7538,8 +7962,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { childBoundTranscludeFn = null; } - nodeLinkFn(childLinkFn, childScope, node, $rootElement, childBoundTranscludeFn, - nodeLinkFn); + nodeLinkFn(childLinkFn, childScope, node, $rootElement, childBoundTranscludeFn); } else if (childLinkFn) { childLinkFn(scope, node.childNodes, undefined, parentBoundTranscludeFn); @@ -7608,13 +8031,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { }); } - var directiveNName = ngAttrName.replace(/(Start|End)$/, ''); - if (directiveIsMultiElement(directiveNName)) { - if (ngAttrName === directiveNName + 'Start') { - attrStartName = name; - attrEndName = name.substr(0, name.length - 5) + 'end'; - name = name.substr(0, name.length - 6); - } + var multiElementMatch = ngAttrName.match(MULTI_ELEMENT_DIR_RE); + if (multiElementMatch && directiveIsMultiElement(multiElementMatch[1])) { + attrStartName = name; + attrEndName = name.substr(0, name.length - 5) + 'end'; + name = name.substr(0, name.length - 6); } nName = directiveNormalize(name.toLowerCase()); @@ -7853,7 +8274,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } else { $template = jqLite(jqLiteClone(compileNode)).contents(); $compileNode.empty(); // clear contents - childTranscludeFn = compile($template, transcludeFn); + childTranscludeFn = compile($template, transcludeFn, undefined, + undefined, { needsNewScope: directive.$$isolateScope || directive.$$newScope}); } } @@ -7895,8 +8317,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var templateDirectives = collectDirectives(compileNode, [], newTemplateAttrs); var unprocessedDirectives = directives.splice(i + 1, directives.length - (i + 1)); - if (newIsolateScopeDirective) { - markDirectivesAsIsolate(templateDirectives); + if (newIsolateScopeDirective || newScopeDirective) { + // The original directive caused the current element to be replaced but this element + // also needs to have a new scope, so we need to tell the template directives + // that they would need to get their scope from further up, if they require transclusion + markDirectiveScope(templateDirectives, newIsolateScopeDirective, newScopeDirective); } directives = directives.concat(templateDirectives).concat(unprocessedDirectives); mergeTemplateAttributes(templateAttrs, newTemplateAttrs); @@ -8036,23 +8461,19 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var controllerInstance = $controller(controller, locals, true, directive.controllerAs); - // For directives with element transclusion the element is a comment, - // but jQuery .data doesn't support attaching data to comment nodes as it's hard to - // clean up (http://bugs.jquery.com/ticket/8335). + // For directives with element transclusion the element is a comment. + // In this case .data will not attach any data. // Instead, we save the controllers for the element in a local hash and attach to .data // later, once we have the actual element. elementControllers[directive.name] = controllerInstance; - if (!hasElementTranscludeDirective) { - $element.data('$' + directive.name + 'Controller', controllerInstance.instance); - } + $element.data('$' + directive.name + 'Controller', controllerInstance.instance); } return elementControllers; } - function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn, - thisLinkFn) { - var i, ii, linkFn, controller, isolateScope, elementControllers, transcludeFn, $element, - attrs; + function nodeLinkFn(childLinkFn, scope, linkNode, $rootElement, boundTranscludeFn) { + var linkFn, isolateScope, controllerScope, elementControllers, transcludeFn, $element, + attrs, removeScopeBindingWatches, removeControllerBindingWatches; if (compileNode === linkNode) { attrs = templateAttrs; @@ -8062,8 +8483,11 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { attrs = new Attributes($element, templateAttrs); } + controllerScope = scope; if (newIsolateScopeDirective) { isolateScope = scope.$new(true); + } else if (newScopeDirective) { + controllerScope = scope.$parent; } if (boundTranscludeFn) { @@ -8084,42 +8508,34 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { compile.$$addScopeClass($element, true); isolateScope.$$isolateBindings = newIsolateScopeDirective.$$isolateBindings; - initializeDirectiveBindings(scope, attrs, isolateScope, - isolateScope.$$isolateBindings, - newIsolateScopeDirective, isolateScope); - } - if (elementControllers) { - // Initialize bindToController bindings for new/isolate scopes - var scopeDirective = newIsolateScopeDirective || newScopeDirective; - var bindings; - var controllerForBindings; - if (scopeDirective && elementControllers[scopeDirective.name]) { - bindings = scopeDirective.$$bindings.bindToController; - controller = elementControllers[scopeDirective.name]; - - if (controller && controller.identifier && bindings) { - controllerForBindings = controller; - thisLinkFn.$$destroyBindings = - initializeDirectiveBindings(scope, attrs, controller.instance, - bindings, scopeDirective); - } + removeScopeBindingWatches = initializeDirectiveBindings(scope, attrs, isolateScope, + isolateScope.$$isolateBindings, + newIsolateScopeDirective); + if (removeScopeBindingWatches) { + isolateScope.$on('$destroy', removeScopeBindingWatches); } - for (i in elementControllers) { - controller = elementControllers[i]; - var controllerResult = controller(); - - if (controllerResult !== controller.instance) { - // If the controller constructor has a return value, overwrite the instance - // from setupControllers and update the element data - controller.instance = controllerResult; - $element.data('$' + i + 'Controller', controllerResult); - if (controller === controllerForBindings) { - // Remove and re-install bindToController bindings - thisLinkFn.$$destroyBindings(); - thisLinkFn.$$destroyBindings = - initializeDirectiveBindings(scope, attrs, controllerResult, bindings, scopeDirective); - } - } + } + + // Initialize bindToController bindings + for (var name in elementControllers) { + var controllerDirective = controllerDirectives[name]; + var controller = elementControllers[name]; + var bindings = controllerDirective.$$bindings.bindToController; + + if (controller.identifier && bindings) { + removeControllerBindingWatches = + initializeDirectiveBindings(controllerScope, attrs, controller.instance, bindings, controllerDirective); + } + + var controllerResult = controller(); + if (controllerResult !== controller.instance) { + // If the controller constructor has a return value, overwrite the instance + // from setupControllers + controller.instance = controllerResult; + $element.data('$' + controllerDirective.name + 'Controller', controllerResult); + removeControllerBindingWatches && removeControllerBindingWatches(); + removeControllerBindingWatches = + initializeDirectiveBindings(controllerScope, attrs, controller.instance, bindings, controllerDirective); } } @@ -8179,10 +8595,15 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { } } - function markDirectivesAsIsolate(directives) { - // mark all directives as needing isolate scope. + // Depending upon the context in which a directive finds itself it might need to have a new isolated + // or child scope created. For instance: + // * if the directive has been pulled into a template because another directive with a higher priority + // asked for element transclusion + // * if the directive itself asks for transclusion but it is at the root of a template and the original + // element was replaced. See https://github.com/angular/angular.js/issues/12936 + function markDirectiveScope(directives, isolateScope, newScope) { for (var j = 0, jj = directives.length; j < jj; j++) { - directives[j] = inherit(directives[j], {$$isolateScope: true}); + directives[j] = inherit(directives[j], {$$isolateScope: isolateScope, $$newScope: newScope}); } } @@ -8209,11 +8630,18 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { i = 0, ii = directives.length; i < ii; i++) { try { directive = directives[i]; - if ((maxPriority === undefined || maxPriority > directive.priority) && + if ((isUndefined(maxPriority) || maxPriority > directive.priority) && directive.restrict.indexOf(location) != -1) { if (startAttrName) { directive = inherit(directive, {$$start: startAttrName, $$end: endAttrName}); } + if (!directive.$$bindings) { + var bindings = directive.$$bindings = + parseDirectiveBindings(directive, directive.name); + if (isObject(bindings.isolateScope)) { + directive.$$isolateBindings = bindings.isolateScope; + } + } tDirectives.push(directive); match = directive; } @@ -8329,7 +8757,9 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { var templateDirectives = collectDirectives(compileNode, [], tempTemplateAttrs); if (isObject(origAsyncDirective.scope)) { - markDirectivesAsIsolate(templateDirectives); + // the original directive that caused the template to be loaded async required + // an isolate scope + markDirectiveScope(templateDirectives, true); } directives = templateDirectives.concat(directives); mergeTemplateAttributes(tAttrs, tempTemplateAttrs); @@ -8378,7 +8808,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { childBoundTranscludeFn = boundTranscludeFn; } afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, linkNode, $rootElement, - childBoundTranscludeFn, afterTemplateNodeLinkFn); + childBoundTranscludeFn); } linkQueue = null; }); @@ -8395,8 +8825,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { if (afterTemplateNodeLinkFn.transcludeOnThisElement) { childBoundTranscludeFn = createBoundTranscludeFn(scope, afterTemplateNodeLinkFn.transclude, boundTranscludeFn); } - afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, node, rootElement, childBoundTranscludeFn, - afterTemplateNodeLinkFn); + afterTemplateNodeLinkFn(afterTemplateChildLinkFn, scope, node, rootElement, childBoundTranscludeFn); } }; } @@ -8505,7 +8934,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { compile: function() { return { pre: function attrInterpolatePreLinkFn(scope, element, attr) { - var $$observers = (attr.$$observers || (attr.$$observers = {})); + var $$observers = (attr.$$observers || (attr.$$observers = createMap())); if (EVENT_HANDLER_ATTR_REGEXP.test(name)) { throw $compileMinErr('nodomevents', @@ -8608,7 +9037,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // Copy over user data (that includes Angular's $scope etc.). Don't copy private // data here because there's no public interface in jQuery to do that and copying over // event listeners (which is the main use of private data) wouldn't work anyway. - jqLite(newNode).data(jqLite(firstElementToRemove).data()); + jqLite.data(newNode, jqLite.data(firstElementToRemove)); // Remove data of the replaced element. We cannot just call .remove() // on the element it since that would deallocate scope that is needed @@ -8656,9 +9085,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // Set up $watches for isolate scope and controller bindings. This process // only occurs for isolate scopes and new scopes with controllerAs. - function initializeDirectiveBindings(scope, attrs, destination, bindings, - directive, newScope) { - var onNewScopeDestroyed; + function initializeDirectiveBindings(scope, attrs, destination, bindings, directive) { + var removeWatchCollection = []; forEach(bindings, function(definition, scopeName) { var attrName = definition.attrName, optional = definition.optional, @@ -8666,36 +9094,38 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { lastValue, parentGet, parentSet, compare; - if (!hasOwnProperty.call(attrs, attrName)) { - // In the case of user defined a binding with the same name as a method in Object.prototype but didn't set - // the corresponding attribute. We need to make sure subsequent code won't access to the prototype function - attrs[attrName] = undefined; - } - switch (mode) { case '@': - if (!attrs[attrName] && !optional) { - destination[scopeName] = undefined; + if (!optional && !hasOwnProperty.call(attrs, attrName)) { + destination[scopeName] = attrs[attrName] = void 0; } - attrs.$observe(attrName, function(value) { - destination[scopeName] = value; + if (isString(value)) { + destination[scopeName] = value; + } }); attrs.$$observers[attrName].$$scope = scope; - if (attrs[attrName]) { + lastValue = attrs[attrName]; + if (isString(lastValue)) { // If the attribute has been provided then we trigger an interpolation to ensure // the value is there for use in the link fn - destination[scopeName] = $interpolate(attrs[attrName])(scope); + destination[scopeName] = $interpolate(lastValue)(scope); + } else if (isBoolean(lastValue)) { + // If the attributes is one of the BOOLEAN_ATTR then Angular will have converted + // the value to boolean rather than a string, so we special case this situation + destination[scopeName] = lastValue; } break; case '=': - if (optional && !attrs[attrName]) { - return; + if (!hasOwnProperty.call(attrs, attrName)) { + if (optional) break; + attrs[attrName] = void 0; } - parentGet = $parse(attrs[attrName]); + if (optional && !attrs[attrName]) break; + parentGet = $parse(attrs[attrName]); if (parentGet.literal) { compare = equals; } else { @@ -8705,8 +9135,8 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { // reset the change, or we will throw this exception on every $digest lastValue = destination[scopeName] = parentGet(scope); throw $compileMinErr('nonassign', - "Expression '{0}' used with directive '{1}' is non-assignable!", - attrs[attrName], directive.name); + "Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!", + attrs[attrName], attrName, directive.name); }; lastValue = destination[scopeName] = parentGet(scope); var parentValueWatch = function parentValueWatch(parentValue) { @@ -8723,18 +9153,18 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { return lastValue = parentValue; }; parentValueWatch.$stateful = true; - var unwatch; + var removeWatch; if (definition.collection) { - unwatch = scope.$watchCollection(attrs[attrName], parentValueWatch); + removeWatch = scope.$watchCollection(attrs[attrName], parentValueWatch); } else { - unwatch = scope.$watch($parse(attrs[attrName], parentValueWatch), null, parentGet.literal); + removeWatch = scope.$watch($parse(attrs[attrName], parentValueWatch), null, parentGet.literal); } - onNewScopeDestroyed = (onNewScopeDestroyed || []); - onNewScopeDestroyed.push(unwatch); + removeWatchCollection.push(removeWatch); break; case '&': - parentGet = $parse(attrs[attrName]); + // Don't assign Object.prototype method to scope + parentGet = attrs.hasOwnProperty(attrName) ? $parse(attrs[attrName]) : noop; // Don't assign noop to destination if expression is not valid if (parentGet === noop && optional) break; @@ -8745,16 +9175,12 @@ function $CompileProvider($provide, $$sanitizeUriProvider) { break; } }); - var destroyBindings = onNewScopeDestroyed ? function destroyBindings() { - for (var i = 0, ii = onNewScopeDestroyed.length; i < ii; ++i) { - onNewScopeDestroyed[i](); + + return removeWatchCollection.length && function removeWatches() { + for (var i = 0, ii = removeWatchCollection.length; i < ii; ++i) { + removeWatchCollection[i](); } - } : noop; - if (newScope && destroyBindings !== noop) { - newScope.$on('$destroy', destroyBindings); - return noop; - } - return destroyBindings; + }; } }]; } @@ -8864,7 +9290,7 @@ function removeComments(jqNodes) { var $controllerMinErr = minErr('$controller'); -var CNTRL_REG = /^(\S+)(\s+as\s+(\w+))?$/; +var CNTRL_REG = /^(\S+)(\s+as\s+([\w$]+))?$/; function identifierForController(controller, ident) { if (ident && isString(ident)) return ident; if (isString(controller)) { @@ -9111,6 +9537,29 @@ function $ExceptionHandlerProvider() { }]; } +var $$ForceReflowProvider = function() { + this.$get = ['$document', function($document) { + return function(domNode) { + //the line below will force the browser to perform a repaint so + //that all the animated elements within the animation frame will + //be properly updated and drawn on screen. This is required to + //ensure that the preparation animation is properly flushed so that + //the active state picks up from there. DO NOT REMOVE THIS LINE. + //DO NOT OPTIMIZE THIS LINE. THE MINIFIER WILL REMOVE IT OTHERWISE WHICH + //WILL RESULT IN AN UNPREDICTABLE BUG THAT IS VERY HARD TO TRACK DOWN AND + //WILL TAKE YEARS AWAY FROM YOUR LIFE. + if (domNode) { + if (!domNode.nodeType && domNode instanceof jqLite) { + domNode = domNode[0]; + } + } else { + domNode = $document[0].body; + } + return domNode.offsetWidth + 1; + }; + }]; +}; + var APPLICATION_JSON = 'application/json'; var CONTENT_TYPE_APPLICATION_JSON = {'Content-Type': APPLICATION_JSON + ';charset=utf-8'}; var JSON_START = /^\[|^\{(?!\{)/; @@ -9119,6 +9568,12 @@ var JSON_ENDS = { '{': /}$/ }; var JSON_PROTECTION_PREFIX = /^\)\]\}',?\n/; +var $httpMinErr = minErr('$http'); +var $httpMinErrLegacyFn = function(method) { + return function() { + throw $httpMinErr('legacy', 'The method `{0}` on the promise returned from `$http` has been disabled.', method); + }; +}; function serializeValue(v) { if (isObject(v)) { @@ -9219,8 +9674,8 @@ function $HttpParamSerializerJQLikeProvider() { function serialize(toSerialize, prefix, topLevel) { if (toSerialize === null || isUndefined(toSerialize)) return; if (isArray(toSerialize)) { - forEach(toSerialize, function(value) { - serialize(value, prefix + '[]'); + forEach(toSerialize, function(value, index) { + serialize(value, prefix + '[' + (isObject(value) ? index : '') + ']'); }); } else if (isObject(toSerialize) && !isDate(toSerialize)) { forEachSorted(toSerialize, function(value, key) { @@ -9362,10 +9817,9 @@ function $HttpProvider() { * * Object containing default values for all {@link ng.$http $http} requests. * - * - **`defaults.cache`** - {Object} - an object built with {@link ng.$cacheFactory `$cacheFactory`} - * that will provide the cache for all requests who set their `cache` property to `true`. - * If you set the `defaults.cache = false` then only requests that specify their own custom - * cache object will be cached. See {@link $http#caching $http Caching} for more information. + * - **`defaults.cache`** - {boolean|Object} - A boolean value or object created with + * {@link ng.$cacheFactory `$cacheFactory`} to enable or disable caching of HTTP responses + * by default. See {@link $http#caching $http Caching} for more information. * * - **`defaults.xsrfCookieName`** - {string} - Name of cookie containing the XSRF token. * Defaults value is `'XSRF-TOKEN'`. @@ -9441,6 +9895,30 @@ function $HttpProvider() { return useApplyAsync; }; + var useLegacyPromise = true; + /** + * @ngdoc method + * @name $httpProvider#useLegacyPromiseExtensions + * @description + * + * Configure `$http` service to return promises without the shorthand methods `success` and `error`. + * This should be used to make sure that applications work without these methods. + * + * Defaults to true. If no value is specified, returns the current configured value. + * + * @param {boolean=} value If true, `$http` will return a promise with the deprecated legacy `success` and `error` methods. + * + * @returns {boolean|Object} If a value is specified, returns the $httpProvider for chaining. + * otherwise, returns the current configured value. + **/ + this.useLegacyPromiseExtensions = function(value) { + if (isDefined(value)) { + useLegacyPromise = !!value; + return this; + } + return useLegacyPromise; + }; + /** * @ngdoc property * @name $httpProvider#interceptors @@ -9506,66 +9984,47 @@ function $HttpProvider() { * * * ## General usage - * The `$http` service is a function which takes a single argument — a configuration object — - * that is used to generate an HTTP request and returns a {@link ng.$q promise} - * with two $http specific methods: `success` and `error`. + * The `$http` service is a function which takes a single argument — a {@link $http#usage configuration object} — + * that is used to generate an HTTP request and returns a {@link ng.$q promise}. * * ```js - * // Simple GET request example : - * $http.get('/someUrl'). - * success(function(data, status, headers, config) { + * // Simple GET request example: + * $http({ + * method: 'GET', + * url: '/someUrl' + * }).then(function successCallback(response) { * // this callback will be called asynchronously * // when the response is available - * }). - * error(function(data, status, headers, config) { - * // called asynchronously if an error occurs - * // or server returns response with an error status. - * }); - * ``` - * - * ```js - * // Simple POST request example (passing data) : - * $http.post('/someUrl', {msg:'hello word!'}). - * success(function(data, status, headers, config) { - * // this callback will be called asynchronously - * // when the response is available - * }). - * error(function(data, status, headers, config) { + * }, function errorCallback(response) { * // called asynchronously if an error occurs * // or server returns response with an error status. * }); * ``` * + * The response object has these properties: * - * Since the returned value of calling the $http function is a `promise`, you can also use - * the `then` method to register callbacks, and these callbacks will receive a single argument – - * an object representing the response. See the API signature and type info below for more - * details. + * - **data** – `{string|Object}` – The response body transformed with the transform + * functions. + * - **status** – `{number}` – HTTP status code of the response. + * - **headers** – `{function([headerName])}` – Header getter function. + * - **config** – `{Object}` – The configuration object that was used to generate the request. + * - **statusText** – `{string}` – HTTP status text of the response. * * A response status code between 200 and 299 is considered a success status and * will result in the success callback being called. Note that if the response is a redirect, * XMLHttpRequest will transparently follow it, meaning that the error callback will not be * called for such responses. * - * ## Writing Unit Tests that use $http - * When unit testing (using {@link ngMock ngMock}), it is necessary to call - * {@link ngMock.$httpBackend#flush $httpBackend.flush()} to flush each pending - * request using trained responses. - * - * ``` - * $httpBackend.expectGET(...); - * $http.get(...); - * $httpBackend.flush(); - * ``` * * ## Shortcut methods * * Shortcut methods are also available. All shortcut methods require passing in the URL, and - * request data must be passed in for POST/PUT requests. + * request data must be passed in for POST/PUT requests. An optional config can be passed as the + * last argument. * * ```js - * $http.get('/someUrl').success(successCallback); - * $http.post('/someUrl', data).success(successCallback); + * $http.get('/someUrl', config).then(successCallback, errorCallback); + * $http.post('/someUrl', data, config).then(successCallback, errorCallback); * ``` * * Complete list of shortcut methods: @@ -9579,6 +10038,25 @@ function $HttpProvider() { * - {@link ng.$http#patch $http.patch} * * + * ## Writing Unit Tests that use $http + * When unit testing (using {@link ngMock ngMock}), it is necessary to call + * {@link ngMock.$httpBackend#flush $httpBackend.flush()} to flush each pending + * request using trained responses. + * + * ``` + * $httpBackend.expectGET(...); + * $http.get(...); + * $httpBackend.flush(); + * ``` + * + * ## Deprecation Notice + *
+ * The `$http` legacy promise methods `success` and `error` have been deprecated. + * Use the standard `then` method instead. + * If {@link $httpProvider#useLegacyPromiseExtensions `$httpProvider.useLegacyPromiseExtensions`} is set to + * `false` then these methods will throw {@link $http:legacy `$http/legacy`} error. + *
+ * * ## Setting HTTP Headers * * The $http service will automatically add certain HTTP headers to all requests. These defaults @@ -9622,7 +10100,7 @@ function $HttpProvider() { * data: { test: 'test' } * } * - * $http(req).success(function(){...}).error(function(){...}); + * $http(req).then(function(){...}, function(){...}); * ``` * * ## Transforming Requests and Responses @@ -9632,6 +10110,15 @@ function $HttpProvider() { * the transformed value (`function(data, headersGetter, status)`) or an array of such transformation functions, * which allows you to `push` or `unshift` a new transformation function into the transformation chain. * + *
+ * **Note:** Angular does not make a copy of the `data` parameter before it is passed into the `transformRequest` pipeline. + * That means changes to the properties of `data` are not local to the transform function (since Javascript passes objects by reference). + * For example, when calling `$http.get(url, $scope.myObject)`, modifications to the object's properties in a transformRequest + * function will be reflected on the scope and in any templates where the object is data-bound. + * To prevent his, transform functions should have no side-effects. + * If you need to modify properties, it is recommended to make a copy of the data, or create new object to return. + *
+ * * ### Default Transformations * * The `$httpProvider` provider and `$http` service expose `defaults.transformRequest` and @@ -9689,26 +10176,35 @@ function $HttpProvider() { * * ## Caching * - * To enable caching, set the request configuration `cache` property to `true` (to use default - * cache) or to a custom cache object (built with {@link ng.$cacheFactory `$cacheFactory`}). - * When the cache is enabled, `$http` stores the response from the server in the specified - * cache. The next time the same request is made, the response is served from the cache without - * sending a request to the server. + * {@link ng.$http `$http`} responses are not cached by default. To enable caching, you must + * set the config.cache value or the default cache value to TRUE or to a cache object (created + * with {@link ng.$cacheFactory `$cacheFactory`}). If defined, the value of config.cache takes + * precedence over the default cache value. * - * Note that even if the response is served from cache, delivery of the data is asynchronous in - * the same way that real requests are. + * In order to: + * * cache all responses - set the default cache value to TRUE or to a cache object + * * cache a specific response - set config.cache value to TRUE or to a cache object * - * If there are multiple GET requests for the same URL that should be cached using the same - * cache, but the cache is not populated yet, only one request to the server will be made and - * the remaining requests will be fulfilled using the response from the first request. + * If caching is enabled, but neither the default cache nor config.cache are set to a cache object, + * then the default `$cacheFactory($http)` object is used. * - * You can change the default cache to a new object (built with - * {@link ng.$cacheFactory `$cacheFactory`}) by updating the - * {@link ng.$http#defaults `$http.defaults.cache`} property. All requests who set - * their `cache` property to `true` will now use this cache object. + * The default cache value can be set by updating the + * {@link ng.$http#defaults `$http.defaults.cache`} property or the + * {@link $httpProvider#defaults `$httpProvider.defaults.cache`} property. + * + * When caching is enabled, {@link ng.$http `$http`} stores the response from the server using + * the relevant cache object. The next time the same request is made, the response is returned + * from the cache without sending a request to the server. + * + * Take note that: + * + * * Only GET and JSONP requests are cached. + * * The cache key is the request URL including search parameters; headers are not considered. + * * Cached responses are returned asynchronously, in the same way as responses from the server. + * * If multiple identical requests are made using the same cache, which is not yet populated, + * one request will be made to the server and remaining requests will return the same response. + * * A cache-control header on the response does not affect if or how responses are cached. * - * If you set the default cache to `false` then only requests that specify their own custom - * cache object will be cached. * * ## Interceptors * @@ -9728,7 +10224,7 @@ function $HttpProvider() { * * There are two kinds of interceptors (and two kinds of rejection interceptors): * - * * `request`: interceptors get called with a http `config` object. The function is free to + * * `request`: interceptors get called with a http {@link $http#usage config} object. The function is free to * modify the `config` object or create a new one. The function needs to return the `config` * object directly, or a promise containing the `config` or a new `config` object. * * `requestError`: interceptor gets called when a previous interceptor threw an error or @@ -9830,13 +10326,13 @@ function $HttpProvider() { * * ### Cross Site Request Forgery (XSRF) Protection * - * [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) is a technique by which - * an unauthorized site can gain your user's private data. Angular provides a mechanism - * to counter XSRF. When performing XHR requests, the $http service reads a token from a cookie - * (by default, `XSRF-TOKEN`) and sets it as an HTTP header (`X-XSRF-TOKEN`). Since only - * JavaScript that runs on your domain could read the cookie, your server can be assured that - * the XHR came from JavaScript running on your domain. The header will not be set for - * cross-domain requests. + * [XSRF](http://en.wikipedia.org/wiki/Cross-site_request_forgery) is an attack technique by + * which the attacker can trick an authenticated user into unknowingly executing actions on your + * website. Angular provides a mechanism to counter XSRF. When performing XHR requests, the + * $http service reads a token from a cookie (by default, `XSRF-TOKEN`) and sets it as an HTTP + * header (`X-XSRF-TOKEN`). Since only JavaScript that runs on your domain could read the + * cookie, your server can be assured that the XHR came from JavaScript running on your domain. + * The header will not be set for cross-domain requests. * * To take advantage of this, your server needs to set a token in a JavaScript readable session * cookie called `XSRF-TOKEN` on the first HTTP GET request. On subsequent XHR requests the @@ -9854,7 +10350,6 @@ function $HttpProvider() { * In order to prevent collisions in environments where multiple Angular apps share the * same domain or subdomain, we recommend that each application uses unique cookie name. * - * * @param {object} config Object describing the request to be made and how it should be * processed. The object has following properties: * @@ -9879,7 +10374,7 @@ function $HttpProvider() { * transform function or an array of such functions. The transform function takes the http * response body, headers and status and returns its transformed (typically deserialized) version. * See {@link ng.$http#overriding-the-default-transformations-per-request - * Overriding the Default TransformationjqLiks} + * Overriding the Default Transformations} * - **paramSerializer** - `{string|function(Object):string}` - A function used to * prepare the string representation of request parameters (specified as an object). * If specified as string, it is interpreted as function registered with the @@ -9887,10 +10382,9 @@ function $HttpProvider() { * by registering it as a {@link auto.$provide#service service}. * The default serializer is the {@link $httpParamSerializer $httpParamSerializer}; * alternatively, you can use the {@link $httpParamSerializerJQLike $httpParamSerializerJQLike} - * - **cache** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the - * GET request, otherwise if a cache instance built with - * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for - * caching. + * - **cache** – `{boolean|Object}` – A boolean value or object created with + * {@link ng.$cacheFactory `$cacheFactory`} to enable or disable caching of the HTTP response. + * See {@link $http#caching $http Caching} for more information. * - **timeout** – `{number|Promise}` – timeout in milliseconds, or {@link ng.$q promise} * that should abort the request when resolved. * - **withCredentials** - `{boolean}` - whether to set the `withCredentials` flag on the @@ -9899,20 +10393,9 @@ function $HttpProvider() { * - **responseType** - `{string}` - see * [XMLHttpRequest.responseType](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#xmlhttprequest-responsetype). * - * @returns {HttpPromise} Returns a {@link ng.$q promise} object with the - * standard `then` method and two http specific methods: `success` and `error`. The `then` - * method takes two arguments a success and an error callback which will be called with a - * response object. The `success` and `error` methods take a single argument - a function that - * will be called when the request succeeds or fails respectively. The arguments passed into - * these functions are destructured representation of the response object passed into the - * `then` method. The response object has these properties: + * @returns {HttpPromise} Returns a {@link ng.$q `Promise}` that will be resolved to a response object + * when the request succeeds or fails. * - * - **data** – `{string|Object}` – The response body transformed with the transform - * functions. - * - **status** – `{number}` – HTTP status code of the response. - * - **headers** – `{function([headerName])}` – Header getter function. - * - **config** – `{Object}` – The configuration object that was used to generate the request. - * - **statusText** – `{string}` – HTTP status text of the response. * * @property {Array.} pendingRequests Array of config objects for currently pending * requests. This is primarily meant to be used for debugging purposes. @@ -9954,13 +10437,12 @@ function $HttpProvider() { $scope.response = null; $http({method: $scope.method, url: $scope.url, cache: $templateCache}). - success(function(data, status) { - $scope.status = status; - $scope.data = data; - }). - error(function(data, status) { - $scope.data = data || "Request failed"; - $scope.status = status; + then(function(response) { + $scope.status = response.status; + $scope.data = response.data; + }, function(response) { + $scope.data = response.data || "Request failed"; + $scope.status = response.status; }); }; @@ -10012,6 +10494,10 @@ function $HttpProvider() { throw minErr('$http')('badreq', 'Http request configuration must be an object. Received: {0}', requestConfig); } + if (!isString(requestConfig.url)) { + throw minErr('$http')('badreq', 'Http request configuration url must be a string. Received: {0}', requestConfig.url); + } + var config = extend({ method: 'get', transformRequest: defaults.transformRequest, @@ -10065,34 +10551,36 @@ function $HttpProvider() { promise = promise.then(thenFn, rejectFn); } - promise.success = function(fn) { - assertArgFn(fn, 'fn'); + if (useLegacyPromise) { + promise.success = function(fn) { + assertArgFn(fn, 'fn'); - promise.then(function(response) { - fn(response.data, response.status, response.headers, config); - }); - return promise; - }; + promise.then(function(response) { + fn(response.data, response.status, response.headers, config); + }); + return promise; + }; - promise.error = function(fn) { - assertArgFn(fn, 'fn'); + promise.error = function(fn) { + assertArgFn(fn, 'fn'); - promise.then(null, function(response) { - fn(response.data, response.status, response.headers, config); - }); - return promise; - }; + promise.then(null, function(response) { + fn(response.data, response.status, response.headers, config); + }); + return promise; + }; + } else { + promise.success = $httpMinErrLegacyFn('success'); + promise.error = $httpMinErrLegacyFn('error'); + } return promise; function transformResponse(response) { // make a copy since the response must be cacheable var resp = extend({}, response); - if (!response.data) { - resp.data = response.data; - } else { - resp.data = transformData(response.data, response.headers, response.status, config.transformResponse); - } + resp.data = transformData(response.data, response.headers, response.status, + config.transformResponse); return (isSuccess(response.status)) ? resp : $q.reject(resp); @@ -10370,8 +10858,8 @@ function $HttpProvider() { * Resolves the raw $http promise. */ function resolvePromise(response, status, headers, statusText) { - // normalize internal statuses to 0 - status = Math.max(status, 0); + //status: HTTP response status code, 0, -1 (aborted by timeout / promise) + status = status >= -1 ? status : 0; (isSuccess(status) ? deferred.resolve : deferred.reject)({ data: response, @@ -10402,8 +10890,33 @@ function $HttpProvider() { }]; } -function createXhr() { - return new window.XMLHttpRequest(); +/** + * @ngdoc service + * @name $xhrFactory + * + * @description + * Factory function used to create XMLHttpRequest objects. + * + * Replace or decorate this service to create your own custom XMLHttpRequest objects. + * + * ``` + * angular.module('myApp', []) + * .factory('$xhrFactory', function() { + * return function createXhr(method, url) { + * return new window.XMLHttpRequest({mozSystem: true}); + * }; + * }); + * ``` + * + * @param {string} method HTTP method of the request (GET, POST, PUT, ..) + * @param {string} url URL of the request. + */ +function $xhrFactoryProvider() { + this.$get = function() { + return function createXhr() { + return new window.XMLHttpRequest(); + }; + }; } /** @@ -10411,6 +10924,7 @@ function createXhr() { * @name $httpBackend * @requires $window * @requires $document + * @requires $xhrFactory * * @description * HTTP backend used by the {@link ng.$http service} that delegates to @@ -10423,8 +10937,8 @@ function createXhr() { * $httpBackend} which can be trained with responses. */ function $HttpBackendProvider() { - this.$get = ['$browser', '$window', '$document', function($browser, $window, $document) { - return createHttpBackend($browser, createXhr, $browser.defer, $window.angular.callbacks, $document[0]); + this.$get = ['$browser', '$window', '$document', '$xhrFactory', function($browser, $window, $document, $xhrFactory) { + return createHttpBackend($browser, $xhrFactory, $browser.defer, $window.angular.callbacks, $document[0]); }]; } @@ -10448,7 +10962,7 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc }); } else { - var xhr = createXhr(); + var xhr = createXhr(method, url); xhr.open(method, url, true); forEach(headers, function(value, key) { @@ -10460,7 +10974,7 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc xhr.onload = function requestLoaded() { var statusText = xhr.statusText || ''; - // responseText is the old-school way of retrieving response (supported by IE8 & 9) + // responseText is the old-school way of retrieving response (supported by IE9) // response/responseType properties were introduced in XHR Level2 spec (supported by IE10) var response = ('response' in xhr) ? xhr.response : xhr.responseText; @@ -10511,7 +11025,7 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc } } - xhr.send(post); + xhr.send(isUndefined(post) ? null : post); } if (timeout > 0) { @@ -10528,7 +11042,7 @@ function createHttpBackend($browser, createXhr, $browserDefer, callbacks, rawDoc function completeRequest(callback, status, response, headersString, statusText) { // cancel timeout and subsequent timeout promise resolution - if (timeoutId !== undefined) { + if (isDefined(timeoutId)) { $browserDefer.cancel(timeoutId); } jsonpDone = xhr = null; @@ -10596,7 +11110,7 @@ $interpolateMinErr.interr = function(text, err) { * Used for configuring the interpolation markup. Defaults to `{{` and `}}`. * * @example - + -
+
//demo.label//
@@ -10714,7 +11228,7 @@ function $InterpolateProvider() { * ```js * var $interpolate = ...; // injected * var exp = $interpolate('Hello {{name | uppercase}}!'); - * expect(exp({name:'Angular'}).toEqual('Hello ANGULAR!'); + * expect(exp({name:'Angular'})).toEqual('Hello ANGULAR!'); * ``` * * `$interpolate` takes an optional fourth argument, `allOrNothing`. If `allOrNothing` is @@ -11098,7 +11612,7 @@ function $IntervalProvider() { * @description * Cancels a task associated with the `promise`. * - * @param {promise} promise returned by the `$interval` function. + * @param {Promise=} promise returned by the `$interval` function. * @returns {boolean} Returns `true` if the task was successfully canceled. */ interval.cancel = function(promise) { @@ -11125,75 +11639,6 @@ function $IntervalProvider() { * * * `id` – `{string}` – locale id formatted as `languageId-countryId` (e.g. `en-us`) */ -function $LocaleProvider() { - this.$get = function() { - return { - id: 'en-us', - - NUMBER_FORMATS: { - DECIMAL_SEP: '.', - GROUP_SEP: ',', - PATTERNS: [ - { // Decimal Pattern - minInt: 1, - minFrac: 0, - maxFrac: 3, - posPre: '', - posSuf: '', - negPre: '-', - negSuf: '', - gSize: 3, - lgSize: 3 - },{ //Currency Pattern - minInt: 1, - minFrac: 2, - maxFrac: 2, - posPre: '\u00A4', - posSuf: '', - negPre: '(\u00A4', - negSuf: ')', - gSize: 3, - lgSize: 3 - } - ], - CURRENCY_SYM: '$' - }, - - DATETIME_FORMATS: { - MONTH: - 'January,February,March,April,May,June,July,August,September,October,November,December' - .split(','), - SHORTMONTH: 'Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec'.split(','), - DAY: 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'.split(','), - SHORTDAY: 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split(','), - AMPMS: ['AM','PM'], - medium: 'MMM d, y h:mm:ss a', - 'short': 'M/d/yy h:mm a', - fullDate: 'EEEE, MMMM d, y', - longDate: 'MMMM d, y', - mediumDate: 'MMM d, y', - shortDate: 'M/d/yy', - mediumTime: 'h:mm:ss a', - shortTime: 'h:mm a', - ERANAMES: [ - "Before Christ", - "Anno Domini" - ], - ERAS: [ - "BC", - "AD" - ] - }, - - pluralCat: function(num) { - if (num === 1) { - return 'one'; - } - return 'other'; - } - }; - }; -} var PATH_MATCH = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, DEFAULT_PORTS = {'http': 80, 'https': 443, 'ftp': 21}; @@ -11284,12 +11729,12 @@ function serverBase(url) { * * @constructor * @param {string} appBase application base URL + * @param {string} appBaseNoFile application base URL stripped of any filename * @param {string} basePrefix url path prefix */ -function LocationHtml5Url(appBase, basePrefix) { +function LocationHtml5Url(appBase, appBaseNoFile, basePrefix) { this.$$html5 = true; basePrefix = basePrefix || ''; - var appBaseNoFile = stripFile(appBase); parseAbsoluteUrl(appBase, this); @@ -11336,14 +11781,14 @@ function LocationHtml5Url(appBase, basePrefix) { var appUrl, prevAppUrl; var rewrittenUrl; - if ((appUrl = beginsWith(appBase, url)) !== undefined) { + if (isDefined(appUrl = beginsWith(appBase, url))) { prevAppUrl = appUrl; - if ((appUrl = beginsWith(basePrefix, appUrl)) !== undefined) { + if (isDefined(appUrl = beginsWith(basePrefix, appUrl))) { rewrittenUrl = appBaseNoFile + (beginsWith('/', appUrl) || appUrl); } else { rewrittenUrl = appBase + prevAppUrl; } - } else if ((appUrl = beginsWith(appBaseNoFile, url)) !== undefined) { + } else if (isDefined(appUrl = beginsWith(appBaseNoFile, url))) { rewrittenUrl = appBaseNoFile + appUrl; } else if (appBaseNoFile == url + '/') { rewrittenUrl = appBaseNoFile; @@ -11363,10 +11808,10 @@ function LocationHtml5Url(appBase, basePrefix) { * * @constructor * @param {string} appBase application base URL + * @param {string} appBaseNoFile application base URL stripped of any filename * @param {string} hashPrefix hashbang prefix */ -function LocationHashbangUrl(appBase, hashPrefix) { - var appBaseNoFile = stripFile(appBase); +function LocationHashbangUrl(appBase, appBaseNoFile, hashPrefix) { parseAbsoluteUrl(appBase, this); @@ -11475,14 +11920,13 @@ function LocationHashbangUrl(appBase, hashPrefix) { * * @constructor * @param {string} appBase application base URL + * @param {string} appBaseNoFile application base URL stripped of any filename * @param {string} hashPrefix hashbang prefix */ -function LocationHashbangInHtml5Url(appBase, hashPrefix) { +function LocationHashbangInHtml5Url(appBase, appBaseNoFile, hashPrefix) { this.$$html5 = true; LocationHashbangUrl.apply(this, arguments); - var appBaseNoFile = stripFile(appBase); - this.$$parseLinkUrl = function(url, relHref) { if (relHref && relHref[0] === '#') { // special case for links to hash fragments: @@ -11512,7 +11956,7 @@ function LocationHashbangInHtml5Url(appBase, hashPrefix) { hash = this.$$hash ? '#' + encodeUriSegment(this.$$hash) : ''; this.$$url = encodePath(this.$$path) + (search ? '?' + search : '') + hash; - // include hashPrefix in $$absUrl when $$url is empty so IE8 & 9 do not reload page because of removal of '#' + // include hashPrefix in $$absUrl when $$url is empty so IE9 does not reload page because of removal of '#' this.$$absUrl = appBase + hashPrefix + this.$$url; }; @@ -11770,9 +12214,9 @@ var locationPrototype = { * @description * This method is getter / setter. * - * Return hash fragment when called without any parameter. + * Returns the hash fragment when called without any parameters. * - * Change hash fragment when called with parameter and return `$location`. + * Changes the hash fragment when called with a parameter and returns `$location`. * * * ```js @@ -11793,8 +12237,8 @@ var locationPrototype = { * @name $location#replace * * @description - * If called, all changes to $location during current `$digest` will be replacing current history - * record, instead of adding new one. + * If called, all changes to $location during the current `$digest` will replace the current history + * record, instead of adding a new one. */ replace: function() { this.$$replace = true; @@ -12021,7 +12465,9 @@ function $LocationProvider() { appBase = stripHash(initialUrl); LocationMode = LocationHashbangUrl; } - $location = new LocationMode(appBase, '#' + hashPrefix); + var appBaseNoFile = stripFile(appBase); + + $location = new LocationMode(appBase, appBaseNoFile, '#' + hashPrefix); $location.$$parseLinkUrl(initialUrl, initialUrl); $location.$$state = $browser.state(); @@ -12101,11 +12547,18 @@ function $LocationProvider() { // update $location when $browser url changes $browser.onUrlChange(function(newUrl, newState) { + + if (isUndefined(beginsWith(appBaseNoFile, newUrl))) { + // If we are navigating outside of the app then force a reload + $window.location.href = newUrl; + return; + } + $rootScope.$evalAsync(function() { var oldUrl = $location.absUrl(); var oldState = $location.$$state; var defaultPrevented; - + newUrl = trimEmptyHash(newUrl); $location.$$parse(newUrl); $location.$$state = newState; @@ -12388,6 +12841,25 @@ function ensureSafeMemberName(name, fullExpression) { return name; } +function getStringValue(name, fullExpression) { + // From the JavaScript docs: + // Property names must be strings. This means that non-string objects cannot be used + // as keys in an object. Any non-string object, including a number, is typecasted + // into a string via the toString method. + // + // So, to ensure that we are checking the same `name` that JavaScript would use, + // we cast it to a string, if possible. + // Doing `name + ''` can cause a repl error if the result to `toString` is not a string, + // this is, this will handle objects that misbehave. + name = name + ''; + if (!isString(name)) { + throw $parseMinErr('iseccst', + 'Cannot convert object to primitive value! ' + + 'Expression: {0}', fullExpression); + } + return name; +} + function ensureSafeObject(obj, fullExpression) { // nifty check if obj is Function that is fast and works across iframes and other contexts if (obj) { @@ -12433,6 +12905,16 @@ function ensureSafeFunction(obj, fullExpression) { } } +function ensureSafeAssignContext(obj, fullExpression) { + if (obj) { + if (obj === (0).constructor || obj === (false).constructor || obj === ''.constructor || + obj === {}.constructor || obj === [].constructor || obj === Function.constructor) { + throw $parseMinErr('isecaf', + 'Assigning to a constructor is disallowed! Expression: {0}', fullExpression); + } + } +} + var OPERATORS = createMap(); forEach('+ - * / % === !== == != < > <= >= && || ! = |'.split(' '), function(operator) { OPERATORS[operator] = true; }); var ESCAPE = {"n":"\n", "f":"\f", "r":"\r", "t":"\t", "v":"\v", "'":"'", '"':'"'}; @@ -13114,6 +13596,7 @@ ASTCompiler.prototype = { this.state.computing = 'assign'; var result = this.nextId(); this.recurse(assignable, result); + this.return_(result); extra = 'fn.assign=' + this.generateFunction('assign', 's,v,l'); } var toWatch = getInputs(ast.body); @@ -13146,6 +13629,8 @@ ASTCompiler.prototype = { 'ensureSafeMemberName', 'ensureSafeObject', 'ensureSafeFunction', + 'getStringValue', + 'ensureSafeAssignContext', 'ifDefined', 'plus', 'text', @@ -13154,6 +13639,8 @@ ASTCompiler.prototype = { ensureSafeMemberName, ensureSafeObject, ensureSafeFunction, + getStringValue, + ensureSafeAssignContext, ifDefined, plusFn, expression); @@ -13294,9 +13781,13 @@ ASTCompiler.prototype = { intoId = intoId || this.nextId(); self.recurse(ast.object, left, undefined, function() { self.if_(self.notNull(left), function() { + if (create && create !== 1) { + self.addEnsureSafeAssignContext(left); + } if (ast.computed) { right = self.nextId(); self.recurse(ast.property, right); + self.getStringValue(right); self.addEnsureSafeMemberName(right); if (create && create !== 1) { self.if_(self.not(self.computedMember(left, right)), self.lazyAssign(self.computedMember(left, right), '{}')); @@ -13374,12 +13865,13 @@ ASTCompiler.prototype = { right = this.nextId(); left = {}; if (!isAssignable(ast.left)) { - throw $parseMinErr('lval', 'Trying to assing a value to a non l-value'); + throw $parseMinErr('lval', 'Trying to assign a value to a non l-value'); } this.recurse(ast.left, undefined, left, function() { self.if_(self.notNull(left.context), function() { self.recurse(ast.right, right); self.addEnsureSafeObject(self.member(left.context, left.name, left.computed)); + self.addEnsureSafeAssignContext(left.context); expression = self.member(left.context, left.name, left.computed) + ast.operator + right; self.assign(intoId, expression); recursionFn(intoId || expression); @@ -13505,6 +13997,10 @@ ASTCompiler.prototype = { this.current().body.push(this.ensureSafeFunction(item), ';'); }, + addEnsureSafeAssignContext: function(item) { + this.current().body.push(this.ensureSafeAssignContext(item), ';'); + }, + ensureSafeObject: function(item) { return 'ensureSafeObject(' + item + ',text)'; }, @@ -13517,6 +14013,14 @@ ASTCompiler.prototype = { return 'ensureSafeFunction(' + item + ',text)'; }, + getStringValue: function(item) { + this.assign(item, 'getStringValue(' + item + ',text)'); + }, + + ensureSafeAssignContext: function(item) { + return 'ensureSafeAssignContext(' + item + ',text)'; + }, + lazyRecurse: function(ast, intoId, nameId, recursionFn, create, skipWatchIdCheck) { var self = this; return function() { @@ -13694,6 +14198,7 @@ ASTInterpreter.prototype = { var lhs = left(scope, locals, assign, inputs); var rhs = right(scope, locals, assign, inputs); ensureSafeObject(lhs.value, self.expression); + ensureSafeAssignContext(lhs.context); lhs.context[lhs.name] = rhs; return context ? {value: rhs} : rhs; }; @@ -13891,9 +14396,13 @@ ASTInterpreter.prototype = { var value; if (lhs != null) { rhs = right(scope, locals, assign, inputs); + rhs = getStringValue(rhs); ensureSafeMemberName(rhs, expression); - if (create && create !== 1 && lhs && !(lhs[rhs])) { - lhs[rhs] = {}; + if (create && create !== 1) { + ensureSafeAssignContext(lhs); + if (lhs && !(lhs[rhs])) { + lhs[rhs] = {}; + } } value = lhs[rhs]; ensureSafeObject(value, expression); @@ -13908,8 +14417,11 @@ ASTInterpreter.prototype = { nonComputedMember: function(left, right, expensiveChecks, context, create, expression) { return function(scope, locals, assign, inputs) { var lhs = left(scope, locals, assign, inputs); - if (create && create !== 1 && lhs && !(lhs[right])) { - lhs[right] = {}; + if (create && create !== 1) { + ensureSafeAssignContext(lhs); + if (lhs && !(lhs[right])) { + lhs[right] = {}; + } } var value = lhs != null ? lhs[right] : undefined; if (expensiveChecks || isPossiblyDangerousMemberName(right)) { @@ -13950,32 +14462,6 @@ Parser.prototype = { } }; -////////////////////////////////////////////////// -// Parser helper functions -////////////////////////////////////////////////// - -function setter(obj, path, setValue, fullExp) { - ensureSafeObject(obj, fullExp); - - var element = path.split('.'), key; - for (var i = 0; element.length > 1; i++) { - key = ensureSafeMemberName(element.shift(), fullExp); - var propertyObj = ensureSafeObject(obj[key], fullExp); - if (!propertyObj) { - propertyObj = {}; - obj[key] = propertyObj; - } - obj = propertyObj; - } - key = ensureSafeMemberName(element.shift(), fullExp); - ensureSafeObject(obj[key], fullExp); - obj[key] = setValue; - return setValue; -} - -var getterFnCacheDefault = createMap(); -var getterFnCacheExpensive = createMap(); - function isPossiblyDangerousMemberName(name) { return name == 'constructor'; } @@ -14041,19 +14527,29 @@ function $ParseProvider() { var cacheDefault = createMap(); var cacheExpensive = createMap(); - this.$get = ['$filter', '$sniffer', function($filter, $sniffer) { + this.$get = ['$filter', function($filter) { + var noUnsafeEval = csp().noUnsafeEval; var $parseOptions = { - csp: $sniffer.csp, + csp: noUnsafeEval, expensiveChecks: false }, $parseOptionsExpensive = { - csp: $sniffer.csp, + csp: noUnsafeEval, expensiveChecks: true }; + var runningChecksEnabled = false; + + $parse.$$runningExpensiveChecks = function() { + return runningChecksEnabled; + }; - return function $parse(exp, interceptorFn, expensiveChecks) { + return $parse; + + function $parse(exp, interceptorFn, expensiveChecks) { var parsedExpression, oneTime, cacheKey; + expensiveChecks = expensiveChecks || runningChecksEnabled; + switch (typeof exp) { case 'string': exp = exp.trim(); @@ -14079,6 +14575,9 @@ function $ParseProvider() { } else if (parsedExpression.inputs) { parsedExpression.$$watchDelegate = inputsWatchDelegate; } + if (expensiveChecks) { + parsedExpression = expensiveChecksInterceptor(parsedExpression); + } cache[cacheKey] = parsedExpression; } return addInterceptor(parsedExpression, interceptorFn); @@ -14087,9 +14586,33 @@ function $ParseProvider() { return addInterceptor(exp, interceptorFn); default: - return noop; + return addInterceptor(noop, interceptorFn); } - }; + } + + function expensiveChecksInterceptor(fn) { + if (!fn) return fn; + expensiveCheckFn.$$watchDelegate = fn.$$watchDelegate; + expensiveCheckFn.assign = expensiveChecksInterceptor(fn.assign); + expensiveCheckFn.constant = fn.constant; + expensiveCheckFn.literal = fn.literal; + for (var i = 0; fn.inputs && i < fn.inputs.length; ++i) { + fn.inputs[i] = expensiveChecksInterceptor(fn.inputs[i]); + } + expensiveCheckFn.inputs = fn.inputs; + + return expensiveCheckFn; + + function expensiveCheckFn(scope, locals, assign, inputs) { + var expensiveCheckOldValue = runningChecksEnabled; + runningChecksEnabled = true; + try { + return fn(scope, locals, assign, inputs); + } finally { + runningChecksEnabled = expensiveCheckOldValue; + } + } + } function expressionInputDirtyCheck(newValue, oldValueOfValue) { @@ -14218,13 +14741,14 @@ function $ParseProvider() { function addInterceptor(parsedExpression, interceptorFn) { if (!interceptorFn) return parsedExpression; var watchDelegate = parsedExpression.$$watchDelegate; + var useInputs = false; var regularWatch = watchDelegate !== oneTimeLiteralWatchDelegate && watchDelegate !== oneTimeWatchDelegate; var fn = regularWatch ? function regularInterceptedExpression(scope, locals, assign, inputs) { - var value = parsedExpression(scope, locals, assign, inputs); + var value = useInputs && inputs ? inputs[0] : parsedExpression(scope, locals, assign, inputs); return interceptorFn(value, scope, locals); } : function oneTimeInterceptedExpression(scope, locals, assign, inputs) { var value = parsedExpression(scope, locals, assign, inputs); @@ -14242,6 +14766,7 @@ function $ParseProvider() { // If there is an interceptor, but no watchDelegate then treat the interceptor like // we treat filters - it is assumed to be a pure function unless flagged with $stateful fn.$$watchDelegate = inputsWatchDelegate; + useInputs = !parsedExpression.inputs; fn.inputs = parsedExpression.inputs ? parsedExpression.inputs : [parsedExpression]; } @@ -14303,6 +14828,8 @@ function $ParseProvider() { * * Note: progress/notify callbacks are not currently supported via the ES6-style interface. * + * Note: unlike ES6 behaviour, an exception thrown in the constructor function will NOT implicitly reject the promise. + * * However, the more traditional CommonJS-style usage is still available, and documented below. * * [The CommonJS Promise proposal](http://wiki.commonjs.org/wiki/Promises) describes a promise as an @@ -14522,8 +15049,11 @@ function qFactory(nextTick, exceptionHandler) { this.$$state = { status: 0 }; } - Promise.prototype = { + extend(Promise.prototype, { then: function(onFulfilled, onRejected, progressBack) { + if (isUndefined(onFulfilled) && isUndefined(onRejected) && isUndefined(progressBack)) { + return this; + } var result = new Deferred(); this.$$state.pending = this.$$state.pending || []; @@ -14544,7 +15074,7 @@ function qFactory(nextTick, exceptionHandler) { return handleCallback(error, false, callback); }, progressBack); } - }; + }); //Faster, more basic than angular.bind http://jsperf.com/angular-bind-vs-custom-vs-native function simpleBind(context, fn) { @@ -14591,7 +15121,7 @@ function qFactory(nextTick, exceptionHandler) { this.notify = simpleBind(this, this.notify); } - Deferred.prototype = { + extend(Deferred.prototype, { resolve: function(val) { if (this.promise.$$state.status) return; if (val === this.promise) { @@ -14654,7 +15184,7 @@ function qFactory(nextTick, exceptionHandler) { }); } } - }; + }); /** * @ngdoc method @@ -14737,6 +15267,9 @@ function qFactory(nextTick, exceptionHandler) { * the promise comes from a source that can't be trusted. * * @param {*} value Value or a promise + * @param {Function=} successCallback + * @param {Function=} errorCallback + * @param {Function=} progressCallback * @returns {Promise} Returns a promise of the passed value or promise */ @@ -14756,6 +15289,9 @@ function qFactory(nextTick, exceptionHandler) { * Alias of {@link ng.$q#when when} to maintain naming consistency with ES6. * * @param {*} value Value or a promise + * @param {Function=} successCallback + * @param {Function=} errorCallback + * @param {Function=} progressCallback * @returns {Promise} Returns a promise of the passed value or promise */ var resolve = when; @@ -14844,7 +15380,7 @@ function $$RAFProvider() { //rAF $window.webkitCancelRequestAnimationFrame; var rafSupported = !!requestAnimationFrame; - var rafFn = rafSupported + var raf = rafSupported ? function(fn) { var id = requestAnimationFrame(fn); return function() { @@ -14858,47 +15394,9 @@ function $$RAFProvider() { //rAF }; }; - queueFn.supported = rafSupported; - - var cancelLastRAF; - var taskCount = 0; - var taskQueue = []; - return queueFn; - - function flush() { - for (var i = 0; i < taskQueue.length; i++) { - var task = taskQueue[i]; - if (task) { - taskQueue[i] = null; - task(); - } - } - taskCount = taskQueue.length = 0; - } - - function queueFn(asyncFn) { - var index = taskQueue.length; - - taskCount++; - taskQueue.push(asyncFn); - - if (index === 0) { - cancelLastRAF = rafFn(flush); - } - - return function cancelQueueFn() { - if (index >= 0) { - taskQueue[index] = null; - index = null; + raf.supported = rafSupported; - if (--taskCount === 0 && cancelLastRAF) { - cancelLastRAF(); - cancelLastRAF = null; - taskQueue.length = 0; - } - } - }; - } + return raf; }]; } @@ -14916,15 +15414,15 @@ function $$RAFProvider() { //rAF * exposed as $$____ properties * * Loop operations are optimized by using while(count--) { ... } - * - this means that in order to keep the same order of execution as addition we have to add + * - This means that in order to keep the same order of execution as addition we have to add * items to the array at the beginning (unshift) instead of at the end (push) * * Child scopes are created and removed often - * - Using an array would be slow since inserts in middle are expensive so we use linked list + * - Using an array would be slow since inserts in the middle are expensive; so we use linked lists * - * There are few watches then a lot of observers. This is why you don't want the observer to be - * implemented in the same way as watch. Watch requires return of initialization function which - * are expensive to construct. + * There are fewer watches than observers. This is why you don't want the observer to be implemented + * in the same way as watch. Watch requires return of the initialization function which is expensive + * to construct. */ @@ -14966,7 +15464,7 @@ function $$RAFProvider() { //rAF * Every application has a single root {@link ng.$rootScope.Scope scope}. * All other scopes are descendant scopes of the root scope. Scopes provide separation * between the model and the view, via a mechanism for watching the model for changes. - * They also provide an event emission/broadcast and subscription facility. See the + * They also provide event emission/broadcast and subscription facility. See the * {@link guide/scope developer guide on scopes}. */ function $RootScopeProvider() { @@ -15003,6 +15501,29 @@ function $RootScopeProvider() { $event.currentScope.$$destroyed = true; } + function cleanUpScope($scope) { + + if (msie === 9) { + // There is a memory leak in IE9 if all child scopes are not disconnected + // completely when a scope is destroyed. So this code will recurse up through + // all this scopes children + // + // See issue https://github.com/angular/angular.js/issues/10706 + $scope.$$childHead && cleanUpScope($scope.$$childHead); + $scope.$$nextSibling && cleanUpScope($scope.$$nextSibling); + } + + // The code below works around IE9 and V8's memory leaks + // + // See: + // - https://code.google.com/p/v8/issues/detail?id=2073#c26 + // - https://github.com/angular/angular.js/issues/6794#issuecomment-38648909 + // - https://github.com/angular/angular.js/issues/1313#issuecomment-10378451 + + $scope.$parent = $scope.$$nextSibling = $scope.$$prevSibling = $scope.$$childHead = + $scope.$$childTail = $scope.$root = $scope.$$watchers = null; + } + /** * @ngdoc type * @name $rootScope.Scope @@ -15011,12 +15532,9 @@ function $RootScopeProvider() { * A root scope can be retrieved using the {@link ng.$rootScope $rootScope} key from the * {@link auto.$injector $injector}. Child scopes are created using the * {@link ng.$rootScope.Scope#$new $new()} method. (Most scopes are created automatically when - * compiled HTML template is executed.) + * compiled HTML template is executed.) See also the {@link guide/scope Scopes guide} for + * an in-depth introduction and usage examples. * - * Here is a simple scope snippet to show how you can interact with the scope. - * ```html - * - * ``` * * # Inheritance * A scope can inherit from a parent scope, as in this example: @@ -15158,10 +15676,10 @@ function $RootScopeProvider() { * Registers a `listener` callback to be executed whenever the `watchExpression` changes. * * - The `watchExpression` is called on every call to {@link ng.$rootScope.Scope#$digest - * $digest()} and should return the value that will be watched. (Since - * {@link ng.$rootScope.Scope#$digest $digest()} reruns when it detects changes the - * `watchExpression` can execute multiple times per - * {@link ng.$rootScope.Scope#$digest $digest()} and should be idempotent.) + * $digest()} and should return the value that will be watched. (`watchExpression` should not change + * its value when executed multiple times with the same input because it may be executed multiple + * times by {@link ng.$rootScope.Scope#$digest $digest()}. That is, `watchExpression` should be + * [idempotent](http://en.wikipedia.org/wiki/Idempotence). * - The `listener` is called only when the value from the current `watchExpression` and the * previous call to `watchExpression` are not equal (with the exception of the initial run, * see below). Inequality is determined according to reference inequality, @@ -15178,9 +15696,9 @@ function $RootScopeProvider() { * * * If you want to be notified whenever {@link ng.$rootScope.Scope#$digest $digest} is called, - * you can register a `watchExpression` function with no `listener`. (Since `watchExpression` - * can execute multiple times per {@link ng.$rootScope.Scope#$digest $digest} cycle when a - * change is detected, be prepared for multiple calls to your listener.) + * you can register a `watchExpression` function with no `listener`. (Be prepared for + * multiple calls to your `watchExpression` because it will execute multiple times in a + * single {@link ng.$rootScope.Scope#$digest $digest} cycle if a change is detected.) * * After a watcher is registered with the scope, the `listener` fn is called asynchronously * (via {@link ng.$rootScope.Scope#$evalAsync $evalAsync}) to initialize the @@ -15510,7 +16028,7 @@ function $RootScopeProvider() { // copy the items to oldValue and look for changes. newLength = 0; for (key in newValue) { - if (newValue.hasOwnProperty(key)) { + if (hasOwnProperty.call(newValue, key)) { newLength++; newItem = newValue[key]; oldItem = oldValue[key]; @@ -15532,7 +16050,7 @@ function $RootScopeProvider() { // we used to have more keys, need to find them and destroy them. changeDetected++; for (key in oldValue) { - if (!newValue.hasOwnProperty(key)) { + if (!hasOwnProperty.call(newValue, key)) { oldLength--; delete oldValue[key]; } @@ -15626,7 +16144,7 @@ function $RootScopeProvider() { * */ $digest: function() { - var watch, value, last, + var watch, value, last, fn, get, watchers, length, dirty, ttl = TTL, @@ -15672,7 +16190,8 @@ function $RootScopeProvider() { // Most common watches are on primitives, in which case we can short // circuit it with === operator, only when === fails do we use .equals if (watch) { - if ((value = watch.get(current)) !== (last = watch.last) && + get = watch.get; + if ((value = get(current)) !== (last = watch.last) && !(watch.eq ? equals(value, last) : (typeof value === 'number' && typeof last === 'number' @@ -15680,7 +16199,8 @@ function $RootScopeProvider() { dirty = true; lastDirtyWatch = watch; watch.last = watch.eq ? copy(value, null) : value; - watch.fn(value, ((last === initWatchVal) ? value : last), current); + fn = watch.fn; + fn(value, ((last === initWatchVal) ? value : last), current); if (ttl < 5) { logIdx = 4 - ttl; if (!watchLog[logIdx]) watchLog[logIdx] = []; @@ -15802,16 +16322,9 @@ function $RootScopeProvider() { this.$on = this.$watch = this.$watchGroup = function() { return noop; }; this.$$listeners = {}; - // All of the code below is bogus code that works around V8's memory leak via optimized code - // and inline caches. - // - // see: - // - https://code.google.com/p/v8/issues/detail?id=2073#c26 - // - https://github.com/angular/angular.js/issues/6794#issuecomment-38648909 - // - https://github.com/angular/angular.js/issues/1313#issuecomment-10378451 - - this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = - this.$$childTail = this.$root = this.$$watchers = null; + // Disconnect the next sibling to prevent `cleanUpScope` destroying those too + this.$$nextSibling = null; + cleanUpScope(this); }, /** @@ -15887,7 +16400,7 @@ function $RootScopeProvider() { }); } - asyncQueue.push({scope: this, expression: expr, locals: locals}); + asyncQueue.push({scope: this, expression: $parse(expr), locals: locals}); }, $$postDigest: function(fn) { @@ -15942,11 +16455,14 @@ function $RootScopeProvider() { $apply: function(expr) { try { beginPhase('$apply'); - return this.$eval(expr); + try { + return this.$eval(expr); + } finally { + clearPhase(); + } } catch (e) { $exceptionHandler(e); } finally { - clearPhase(); try { $rootScope.$digest(); } catch (e) { @@ -15976,6 +16492,7 @@ function $RootScopeProvider() { $applyAsync: function(expr) { var scope = this; expr && applyAsyncQueue.push($applyAsyncExpression); + expr = $parse(expr); scheduleApplyAsync(); function $applyAsyncExpression() { @@ -16250,6 +16767,21 @@ function $RootScopeProvider() { }]; } +/** + * @ngdoc service + * @name $rootElement + * + * @description + * The root element of Angular application. This is either the element where {@link + * ng.directive:ngApp ngApp} was declared or the element passed into + * {@link angular.bootstrap}. The element represents the root element of application. It is also the + * location where the application's {@link auto.$injector $injector} service gets + * published, and can be retrieved using `$rootElement.injector()`. + */ + + +// the implementation is in angular.bootstrap + /** * @description * Private service to sanitize uris for links and images. Used by $compile and $sanitize. @@ -16464,13 +16996,15 @@ function $SceDelegateProvider() { * @kind function * * @param {Array=} whitelist When provided, replaces the resourceUrlWhitelist with the value - * provided. This must be an array or null. A snapshot of this array is used so further - * changes to the array are ignored. + * provided. This must be an array or null. A snapshot of this array is used so further + * changes to the array are ignored. * - * Follow {@link ng.$sce#resourceUrlPatternItem this link} for a description of the items - * allowed in this array. + * Follow {@link ng.$sce#resourceUrlPatternItem this link} for a description of the items + * allowed in this array. * - * Note: **an empty whitelist array will block all URLs**! + *
+ * **Note:** an empty whitelist array will block all URLs! + *
* * @return {Array} the currently set whitelist array. * @@ -16493,17 +17027,17 @@ function $SceDelegateProvider() { * @kind function * * @param {Array=} blacklist When provided, replaces the resourceUrlBlacklist with the value - * provided. This must be an array or null. A snapshot of this array is used so further - * changes to the array are ignored. + * provided. This must be an array or null. A snapshot of this array is used so further + * changes to the array are ignored. * - * Follow {@link ng.$sce#resourceUrlPatternItem this link} for a description of the items - * allowed in this array. + * Follow {@link ng.$sce#resourceUrlPatternItem this link} for a description of the items + * allowed in this array. * - * The typical usage for the blacklist is to **block - * [open redirects](http://cwe.mitre.org/data/definitions/601.html)** served by your domain as - * these would otherwise be trusted but actually return content from the redirected domain. + * The typical usage for the blacklist is to **block + * [open redirects](http://cwe.mitre.org/data/definitions/601.html)** served by your domain as + * these would otherwise be trusted but actually return content from the redirected domain. * - * Finally, **the blacklist overrides the whitelist** and has the final say. + * Finally, **the blacklist overrides the whitelist** and has the final say. * * @return {Array} the currently set blacklist array. * @@ -16614,7 +17148,7 @@ function $SceDelegateProvider() { 'Attempted to trust a value in invalid context. Context: {0}; Value: {1}', type, trustedValue); } - if (trustedValue === null || trustedValue === undefined || trustedValue === '') { + if (trustedValue === null || isUndefined(trustedValue) || trustedValue === '') { return trustedValue; } // All the current contexts in SCE_CONTEXTS happen to be strings. In order to avoid trusting @@ -16669,7 +17203,7 @@ function $SceDelegateProvider() { * `$sceDelegate.trustAs`} if valid in this context. Otherwise, throws an exception. */ function getTrusted(type, maybeTrusted) { - if (maybeTrusted === null || maybeTrusted === undefined || maybeTrusted === '') { + if (maybeTrusted === null || isUndefined(maybeTrusted) || maybeTrusted === '') { return maybeTrusted; } var constructor = (byType.hasOwnProperty(type) ? byType[type] : null); @@ -16804,7 +17338,7 @@ function $SceDelegateProvider() { * By default, Angular only loads templates from the same domain and protocol as the application * document. This is done by calling {@link ng.$sce#getTrustedResourceUrl * $sce.getTrustedResourceUrl} on the template URL. To load templates from other domains and/or - * protocols, you may either either {@link ng.$sceDelegateProvider#resourceUrlWhitelist whitelist + * protocols, you may either {@link ng.$sceDelegateProvider#resourceUrlWhitelist whitelist * them} or {@link ng.$sce#trustAsResourceUrl wrap it} into a trusted value. * * *Please note*: @@ -16862,10 +17396,10 @@ function $SceDelegateProvider() { * - There are exactly **two wildcard sequences** - `*` and `**`. All other characters * match themselves. * - `*`: matches zero or more occurrences of any character other than one of the following 6 - * characters: '`:`', '`/`', '`.`', '`?`', '`&`' and ';'. It's a useful wildcard for use + * characters: '`:`', '`/`', '`.`', '`?`', '`&`' and '`;`'. It's a useful wildcard for use * in a whitelist. * - `**`: matches zero or more occurrences of *any* character. As such, it's not - * not appropriate to use in for a scheme, domain, etc. as it would match too much. (e.g. + * appropriate for use in a scheme, domain, etc. as it would match too much. (e.g. * http://**.example.com/ would match http://evil.com/?ignore=.example.com/ and that might * not have been the intention.) Its usage at the very end of the path is ok. (e.g. * http://foo.example.com/templates/**). @@ -16873,11 +17407,11 @@ function $SceDelegateProvider() { * - *Caveat*: While regular expressions are powerful and offer great flexibility, their syntax * (and all the inevitable escaping) makes them *harder to maintain*. It's easy to * accidentally introduce a bug when one updates a complex expression (imho, all regexes should - * have good test coverage.). For instance, the use of `.` in the regex is correct only in a + * have good test coverage). For instance, the use of `.` in the regex is correct only in a * small number of cases. A `.` character in the regex used when matching the scheme or a * subdomain could be matched against a `:` or literal `.` that was likely not intended. It * is highly recommended to use the string patterns and only fall back to regular expressions - * if they as a last resort. + * as a last resort. * - The regular expression must be an instance of RegExp (i.e. not a string.) It is * matched against the **entire** *normalized / absolute URL* of the resource being tested * (even when the RegExp did not have the `^` and `$` codes.) In addition, any flags @@ -16887,7 +17421,7 @@ function $SceDelegateProvider() { * remember to escape your regular expression (and be aware that you might need more than * one level of escaping depending on your templating engine and the way you interpolated * the value.) Do make use of your platform's escaping mechanism as it might be good - * enough before coding your own. e.g. Ruby has + * enough before coding your own. E.g. Ruby has * [Regexp.escape(str)](http://www.ruby-doc.org/core-2.0.0/Regexp.html#method-c-escape) * and Python has [re.escape](http://docs.python.org/library/re.html#re.escape). * Javascript lacks a similar built in function for escaping. Take a look at Google @@ -17687,8 +18221,8 @@ function $TimeoutProvider() { * @param {boolean=} [invokeApply=true] If set to `false` skips model dirty checking, otherwise * will invoke `fn` within the {@link ng.$rootScope.Scope#$apply $apply} block. * @param {...*=} Pass additional parameters to the executed function. - * @returns {Promise} Promise that will be resolved when the timeout is reached. The value this - * promise will be resolved with is the return value of the `fn` function. + * @returns {Promise} Promise that will be resolved when the timeout is reached. The promise + * will be resolved with the return value of the `fn` function. * */ function timeout(fn, delay, invokeApply) { @@ -17775,20 +18309,13 @@ var originUrl = urlResolve(window.location.href); * * Implementation Notes for IE * --------------------------- - * IE >= 8 and <= 10 normalizes the URL when assigned to the anchor node similar to the other + * IE <= 10 normalizes the URL when assigned to the anchor node similar to the other * browsers. However, the parsed components will not be set if the URL assigned did not specify * them. (e.g. if you assign a.href = "foo", then a.protocol, a.host, etc. will be empty.) We * work around that by performing the parsing in a 2nd step by taking a previously normalized * URL (e.g. by assigning to a.href) and assigning it a.href again. This correctly populates the * properties such as protocol, hostname, port, etc. * - * IE7 does not normalize the URL when assigned to an anchor node. (Apparently, it does, if one - * uses the inner HTML approach to assign the URL as part of an HTML snippet - - * http://stackoverflow.com/a/472729) However, setting img[src] does normalize the URL. - * Unfortunately, setting img[src] to something like "javascript:foo" on IE throws an exception. - * Since the primary usage for normalizing URLs is to sanitize such URLs, we can't use that - * method and IE < 8 is unsupported. - * * References: * http://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement * http://www.aptana.com/reference/html/api/HTMLAnchorElement.html @@ -17937,7 +18464,7 @@ function $$CookieReader($document) { // the first value that is seen for a cookie is the most // specific one. values for the same cookie name that // follow are for less specific paths. - if (lastCookies[name] === undefined) { + if (isUndefined(lastCookies[name])) { lastCookies[name] = safeDecodeURIComponent(cookie.substring(index + 1)); } } @@ -18068,6 +18595,7 @@ function $FilterProvider($provide) { * your filters, then you can use capitalization (`myappSubsectionFilterx`) or underscores * (`myapp_subsection_filterx`). *
+ * @param {Function} factory If the first argument was a string, a factory function for the filter to be registered. * @returns {Object} Registered filter instance, or if a map of filters was provided then a map * of the registered filter instances. */ @@ -18370,6 +18898,10 @@ function getTypeForFilter(val) { return (val === null) ? 'null' : typeof val; } +var MAX_DIGITS = 22; +var DECIMAL_SEP = '.'; +var ZERO_CHAR = '0'; + /** * @ngdoc filter * @name currency @@ -18415,9 +18947,9 @@ function getTypeForFilter(val) { } element(by.model('amount')).clear(); element(by.model('amount')).sendKeys('-1234'); - expect(element(by.id('currency-default')).getText()).toBe('($1,234.00)'); - expect(element(by.id('currency-custom')).getText()).toBe('(USD$1,234.00)'); - expect(element(by.id('currency-no-fractions')).getText()).toBe('(USD$1,234)'); + expect(element(by.id('currency-default')).getText()).toBe('-$1,234.00'); + expect(element(by.id('currency-custom')).getText()).toBe('-USD$1,234.00'); + expect(element(by.id('currency-no-fractions')).getText()).toBe('-USD$1,234'); });
@@ -18451,7 +18983,7 @@ function currencyFilter($locale) { * Formats a number as text. * * If the input is null or undefined, it will just be returned. - * If the input is infinite (Infinity/-Infinity) the Infinity symbol '∞' is returned. + * If the input is infinite (Infinity or -Infinity), the Infinity symbol '∞' or '-∞' is returned, respectively. * If the input is not a number an empty string is returned. * * @@ -18459,7 +18991,7 @@ function currencyFilter($locale) { * @param {(number|string)=} fractionSize Number of decimal places to round the number to. * If this is not provided then the fraction size is computed from the current locale's number * formatting pattern. In the case of the default locale, it will be 3. - * @returns {string} Number rounded to decimalPlaces and places a “,” after each third digit. + * @returns {string} Number rounded to fractionSize and places a “,” after each third digit. * * @example @@ -18494,8 +19026,6 @@ function currencyFilter($locale) { */ - - numberFilter.$inject = ['$locale']; function numberFilter($locale) { var formats = $locale.NUMBER_FORMATS; @@ -18509,92 +19039,194 @@ function numberFilter($locale) { }; } -var DECIMAL_SEP = '.'; -function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) { - if (isObject(number)) return ''; +/** + * Parse a number (as a string) into three components that can be used + * for formatting the number. + * + * (Significant bits of this parse algorithm came from https://github.com/MikeMcl/big.js/) + * + * @param {string} numStr The number to parse + * @return {object} An object describing this number, containing the following keys: + * - d : an array of digits containing leading zeros as necessary + * - i : the number of the digits in `d` that are to the left of the decimal point + * - e : the exponent for numbers that would need more than `MAX_DIGITS` digits in `d` + * + */ +function parse(numStr) { + var exponent = 0, digits, numberOfIntegerDigits; + var i, j, zeros; + + // Decimal point? + if ((numberOfIntegerDigits = numStr.indexOf(DECIMAL_SEP)) > -1) { + numStr = numStr.replace(DECIMAL_SEP, ''); + } + + // Exponential form? + if ((i = numStr.search(/e/i)) > 0) { + // Work out the exponent. + if (numberOfIntegerDigits < 0) numberOfIntegerDigits = i; + numberOfIntegerDigits += +numStr.slice(i + 1); + numStr = numStr.substring(0, i); + } else if (numberOfIntegerDigits < 0) { + // There was no decimal point or exponent so it is an integer. + numberOfIntegerDigits = numStr.length; + } + + // Count the number of leading zeros. + for (i = 0; numStr.charAt(i) == ZERO_CHAR; i++) {/* jshint noempty: false */} + + if (i == (zeros = numStr.length)) { + // The digits are all zero. + digits = [0]; + numberOfIntegerDigits = 1; + } else { + // Count the number of trailing zeros + zeros--; + while (numStr.charAt(zeros) == ZERO_CHAR) zeros--; + + // Trailing zeros are insignificant so ignore them + numberOfIntegerDigits -= i; + digits = []; + // Convert string to array of digits without leading/trailing zeros. + for (j = 0; i <= zeros; i++, j++) { + digits[j] = +numStr.charAt(i); + } + } + + // If the number overflows the maximum allowed digits then use an exponent. + if (numberOfIntegerDigits > MAX_DIGITS) { + digits = digits.splice(0, MAX_DIGITS - 1); + exponent = numberOfIntegerDigits - 1; + numberOfIntegerDigits = 1; + } - var isNegative = number < 0; - number = Math.abs(number); + return { d: digits, e: exponent, i: numberOfIntegerDigits }; +} - var isInfinity = number === Infinity; - if (!isInfinity && !isFinite(number)) return ''; +/** + * Round the parsed number to the specified number of decimal places + * This function changed the parsedNumber in-place + */ +function roundNumber(parsedNumber, fractionSize, minFrac, maxFrac) { + var digits = parsedNumber.d; + var fractionLen = digits.length - parsedNumber.i; - var numStr = number + '', - formatedText = '', - hasExponent = false, - parts = []; + // determine fractionSize if it is not specified; `+fractionSize` converts it to a number + fractionSize = (isUndefined(fractionSize)) ? Math.min(Math.max(minFrac, fractionLen), maxFrac) : +fractionSize; - if (isInfinity) formatedText = '\u221e'; + // The index of the digit to where rounding is to occur + var roundAt = fractionSize + parsedNumber.i; + var digit = digits[roundAt]; - if (!isInfinity && numStr.indexOf('e') !== -1) { - var match = numStr.match(/([\d\.]+)e(-?)(\d+)/); - if (match && match[2] == '-' && match[3] > fractionSize + 1) { - number = 0; + if (roundAt > 0) { + digits.splice(roundAt); } else { - formatedText = numStr; - hasExponent = true; + // We rounded to zero so reset the parsedNumber + parsedNumber.i = 1; + digits.length = roundAt = fractionSize + 1; + for (var i=0; i < roundAt; i++) digits[i] = 0; } - } - if (!isInfinity && !hasExponent) { - var fractionLen = (numStr.split(DECIMAL_SEP)[1] || '').length; + if (digit >= 5) digits[roundAt - 1]++; - // determine fractionSize if it is not specified - if (isUndefined(fractionSize)) { - fractionSize = Math.min(Math.max(pattern.minFrac, fractionLen), pattern.maxFrac); + // Pad out with zeros to get the required fraction length + for (; fractionLen < fractionSize; fractionLen++) digits.push(0); + + + // Do any carrying, e.g. a digit was rounded up to 10 + var carry = digits.reduceRight(function(carry, d, i, digits) { + d = d + carry; + digits[i] = d % 10; + return Math.floor(d / 10); + }, 0); + if (carry) { + digits.unshift(carry); + parsedNumber.i++; } +} - // safely round numbers in JS without hitting imprecisions of floating-point arithmetics - // inspired by: - // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round - number = +(Math.round(+(number.toString() + 'e' + fractionSize)).toString() + 'e' + -fractionSize); +/** + * Format a number into a string + * @param {number} number The number to format + * @param {{ + * minFrac, // the minimum number of digits required in the fraction part of the number + * maxFrac, // the maximum number of digits required in the fraction part of the number + * gSize, // number of digits in each group of separated digits + * lgSize, // number of digits in the last group of digits before the decimal separator + * negPre, // the string to go in front of a negative number (e.g. `-` or `(`)) + * posPre, // the string to go in front of a positive number + * negSuf, // the string to go after a negative number (e.g. `)`) + * posSuf // the string to go after a positive number + * }} pattern + * @param {string} groupSep The string to separate groups of number (e.g. `,`) + * @param {string} decimalSep The string to act as the decimal separator (e.g. `.`) + * @param {[type]} fractionSize The size of the fractional part of the number + * @return {string} The number formatted as a string + */ +function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) { - var fraction = ('' + number).split(DECIMAL_SEP); - var whole = fraction[0]; - fraction = fraction[1] || ''; + if (!(isString(number) || isNumber(number)) || isNaN(number)) return ''; - var i, pos = 0, - lgroup = pattern.lgSize, - group = pattern.gSize; + var isInfinity = !isFinite(number); + var isZero = false; + var numStr = Math.abs(number) + '', + formattedText = '', + parsedNumber; - if (whole.length >= (lgroup + group)) { - pos = whole.length - lgroup; - for (i = 0; i < pos; i++) { - if ((pos - i) % group === 0 && i !== 0) { - formatedText += groupSep; - } - formatedText += whole.charAt(i); - } + if (isInfinity) { + formattedText = '\u221e'; + } else { + parsedNumber = parse(numStr); + + roundNumber(parsedNumber, fractionSize, pattern.minFrac, pattern.maxFrac); + + var digits = parsedNumber.d; + var integerLen = parsedNumber.i; + var exponent = parsedNumber.e; + var decimals = []; + isZero = digits.reduce(function(isZero, d) { return isZero && !d; }, true); + + // pad zeros for small numbers + while (integerLen < 0) { + digits.unshift(0); + integerLen++; } - for (i = pos; i < whole.length; i++) { - if ((whole.length - i) % lgroup === 0 && i !== 0) { - formatedText += groupSep; - } - formatedText += whole.charAt(i); + // extract decimals digits + if (integerLen > 0) { + decimals = digits.splice(integerLen); + } else { + decimals = digits; + digits = [0]; + } + + // format the integer digits with grouping separators + var groups = []; + if (digits.length > pattern.lgSize) { + groups.unshift(digits.splice(-pattern.lgSize).join('')); } + while (digits.length > pattern.gSize) { + groups.unshift(digits.splice(-pattern.gSize).join('')); + } + if (digits.length) { + groups.unshift(digits.join('')); + } + formattedText = groups.join(groupSep); - // format fraction part. - while (fraction.length < fractionSize) { - fraction += '0'; + // append the decimal digits + if (decimals.length) { + formattedText += decimalSep + decimals.join(''); } - if (fractionSize && fractionSize !== "0") formatedText += decimalSep + fraction.substr(0, fractionSize); - } else { - if (fractionSize > 0 && number < 1) { - formatedText = number.toFixed(fractionSize); - number = parseFloat(formatedText); + if (exponent) { + formattedText += 'e+' + exponent; } } - - if (number === 0) { - isNegative = false; + if (number < 0 && !isZero) { + return pattern.negPre + formattedText + pattern.negSuf; + } else { + return pattern.posPre + formattedText + pattern.posSuf; } - - parts.push(isNegative ? pattern.negPre : pattern.posPre, - formatedText, - isNegative ? pattern.negSuf : pattern.posSuf); - return parts.join(''); } function padNumber(num, digits, trim) { @@ -18604,7 +19236,7 @@ function padNumber(num, digits, trim) { num = -num; } num = '' + num; - while (num.length < digits) num = '0' + num; + while (num.length < digits) num = ZERO_CHAR + num; if (trim) { num = num.substr(num.length - digits); } @@ -18873,13 +19505,13 @@ function dateFilter($locale) { var dateTimezoneOffset = date.getTimezoneOffset(); if (timezone) { - dateTimezoneOffset = timezoneToOffset(timezone, date.getTimezoneOffset()); + dateTimezoneOffset = timezoneToOffset(timezone, dateTimezoneOffset); date = convertTimezoneToLocal(date, timezone, true); } forEach(parts, function(value) { fn = DATE_FORMATS[value]; text += fn ? fn(date, $locale.DATETIME_FORMATS, dateTimezoneOffset) - : value.replace(/(^'|'$)/g, '').replace(/''/g, "'"); + : value === "''" ? "'" : value.replace(/(^'|'$)/g, '').replace(/''/g, "'"); }); return text; @@ -19060,7 +19692,7 @@ function limitToFilter() { if (!isArray(input) && !isString(input)) return input; begin = (!begin || isNaN(begin)) ? 0 : toInt(begin); - begin = (begin < 0 && begin >= -input.length) ? input.length + begin : begin; + begin = (begin < 0) ? Math.max(0, input.length + begin) : begin; if (limit >= 0) { return input.slice(begin, begin + limit); @@ -19115,17 +19747,6 @@ function limitToFilter() { * `reverse` is not set, which means it defaults to `false`. -
@@ -19141,6 +19762,17 @@ function limitToFilter() {
+ + angular.module('orderByExample', []) + .controller('ExampleController', ['$scope', function($scope) { + $scope.friends = + [{name:'John', phone:'555-1212', age:10}, + {name:'Mary', phone:'555-9876', age:19}, + {name:'Mike', phone:'555-4321', age:21}, + {name:'Adam', phone:'555-5678', age:35}, + {name:'Julie', phone:'555-8765', age:29}]; + }]); +
* * The predicate and reverse parameters can be controlled dynamically through scope properties, @@ -19148,49 +19780,24 @@ function limitToFilter() { * @example - -
Sorting predicate = {{predicate}}; reverse = {{reverse}}

- [ unsorted ] + - - - + + + @@ -19200,6 +19807,31 @@ function limitToFilter() {
- Name - - - Phone Number - - - Age - - + + + + + + + + +
{{friend.name}}
+ + angular.module('orderByExample', []) + .controller('ExampleController', ['$scope', function($scope) { + $scope.friends = + [{name:'John', phone:'555-1212', age:10}, + {name:'Mary', phone:'555-9876', age:19}, + {name:'Mike', phone:'555-4321', age:21}, + {name:'Adam', phone:'555-5678', age:35}, + {name:'Julie', phone:'555-8765', age:29}]; + $scope.predicate = 'age'; + $scope.reverse = true; + $scope.order = function(predicate) { + $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false; + $scope.predicate = predicate; + }; + }]); + + + .sortorder:after { + content: '\25b2'; + } + .sortorder.reverse:after { + content: '\25bc'; + } +
* * It's also possible to call the orderBy filter manually, by injecting `$filter`, retrieving the @@ -19211,21 +19843,30 @@ function limitToFilter() { * @example -
- - - - - - - - - - - -
Name - (^)Phone NumberAge
{{friend.name}}{{friend.phone}}{{friend.age}}
-
+
+
Sorting predicate = {{predicate}}; reverse = {{reverse}}
+ + + + + + + + + + + +
+ + + + + + + + +
{{friend.name}}{{friend.phone}}{{friend.age}}
+
@@ -19239,12 +19880,23 @@ function limitToFilter() { { name: 'Adam', phone: '555-5678', age: 35 }, { name: 'Julie', phone: '555-8765', age: 29 } ]; - $scope.order = function(predicate, reverse) { - $scope.friends = orderBy($scope.friends, predicate, reverse); + $scope.order = function(predicate) { + $scope.predicate = predicate; + $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false; + $scope.friends = orderBy($scope.friends, predicate, $scope.reverse); }; - $scope.order('-age',false); + $scope.order('age', true); }]); + + + .sortorder:after { + content: '\25b2'; + } + .sortorder.reverse:after { + content: '\25bc'; + } +
*/ orderByFilter.$inject = ['$parse']; @@ -19257,6 +19909,10 @@ function orderByFilter($parse) { if (sortPredicate.length === 0) { sortPredicate = ['+']; } var predicates = processPredicates(sortPredicate, reverseOrder); + // Add a predicate at the end that evaluates to the element index. This makes the + // sort stable as it works as a tie-breaker when all the input predicates cannot + // distinguish between two elements. + predicates.push({ get: function() { return {}; }, descending: reverseOrder ? -1 : 1}); // The next three lines are a version of a Swartzian Transform idiom from Perl // (sometimes called the Decorate-Sort-Undecorate idiom) @@ -19570,20 +20226,7 @@ var htmlAnchorDirective = valueFn({ * {@link guide/expression expression} inside `ngDisabled` evaluates to truthy. * * A special directive is necessary because we cannot use interpolation inside the `disabled` - * attribute. The following example would make the button enabled on Chrome/Firefox - * but not on older IEs: - * - * ```html - * - *
- * - *
- * ``` - * - * This is because the HTML specification does not require browsers to preserve the values of - * boolean attributes such as `disabled` (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. + * attribute. See the {@link guide/interpolation interpolation guide} for more info. * * @example @@ -19618,15 +20261,9 @@ var htmlAnchorDirective = valueFn({ * Note that this directive should not be used together with {@link ngModel `ngModel`}, * as this can lead to unexpected behavior. * - * ### Why do we need `ngChecked`? + * A special directive is necessary because we cannot use interpolation inside the `checked` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. * - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as checked. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngChecked` directive solves this problem for the `checked` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. * @example @@ -19655,13 +20292,12 @@ var htmlAnchorDirective = valueFn({ * @priority 100 * * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as readonly. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngReadonly` directive solves this problem for the `readonly` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. + * + * Sets the `readOnly` attribute on the element, if the expression inside `ngReadonly` is truthy. + * + * A special directive is necessary because we cannot use interpolation inside the `readOnly` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * * @example @@ -19690,13 +20326,11 @@ var htmlAnchorDirective = valueFn({ * @priority 100 * * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as selected. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngSelected` directive solves this problem for the `selected` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. + * + * Sets the `selected` attribute on the element, if the expression inside `ngSelected` is truthy. + * + * A special directive is necessary because we cannot use interpolation inside the `selected` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. * * @example @@ -19728,13 +20362,12 @@ var htmlAnchorDirective = valueFn({ * @priority 100 * * @description - * The HTML specification does not require browsers to preserve the values of boolean attributes - * such as open. (Their presence means true and their absence means false.) - * If we put an Angular interpolation expression into such an attribute then the - * binding information would be lost when the browser removes the attribute. - * The `ngOpen` directive solves this problem for the `open` attribute. - * This complementary directive is not removed by the browser and so provides - * a permanent reliable place to store the binding information. + * + * Sets the `open` attribute on the element, if the expression inside `ngOpen` is truthy. + * + * A special directive is necessary because we cannot use interpolation inside the `open` + * attribute. See the {@link guide/interpolation interpolation guide} for more info. + * * @example @@ -19878,6 +20511,7 @@ function nullFormRenameControl(control, name) { * @property {boolean} $dirty True if user has already interacted with the form. * @property {boolean} $valid True if all of the containing forms and controls are valid. * @property {boolean} $invalid True if at least one containing control or form is invalid. + * @property {boolean} $pending True if at least one containing control or form is pending. * @property {boolean} $submitted True if user has submitted the form even if its invalid. * * @property {Object} $error Is an object hash, containing references to controls or @@ -19917,8 +20551,6 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { var form = this, controls = []; - var parentForm = form.$$parentForm = element.parent().controller('form') || nullFormCtrl; - // init state form.$error = {}; form.$$success = {}; @@ -19929,8 +20561,7 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { form.$valid = true; form.$invalid = false; form.$submitted = false; - - parentForm.$addControl(form); + form.$$parentForm = nullFormCtrl; /** * @ngdoc method @@ -19969,11 +20600,23 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { /** * @ngdoc method * @name form.FormController#$addControl + * @param {object} control control object, either a {@link form.FormController} or an + * {@link ngModel.NgModelController} * * @description - * Register a control with the form. + * Register a control with the form. Input elements using ngModelController do this automatically + * when they are linked. + * + * Note that the current state of the control will not be reflected on the new parent form. This + * is not an issue with normal use, as freshly compiled and linked controls are in a `$pristine` + * state. * - * Input elements using ngModelController do this automatically when they are linked. + * However, if the method is used programmatically, for example by adding dynamically created controls, + * or controls that have been previously removed without destroying their corresponding DOM element, + * it's the developers responsiblity to make sure the current state propagates to the parent form. + * + * For example, if an input control is added that is already `$dirty` and has `$error` properties, + * calling `$setDirty()` and `$validate()` afterwards will propagate the state to the parent form. */ form.$addControl = function(control) { // Breaking change - before, inputs whose name was "hasOwnProperty" were quietly ignored @@ -19984,6 +20627,8 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { if (control.$name) { form[control.$name] = control; } + + control.$$parentForm = form; }; // Private API: rename a form control @@ -20000,11 +20645,18 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { /** * @ngdoc method * @name form.FormController#$removeControl + * @param {object} control control object, either a {@link form.FormController} or an + * {@link ngModel.NgModelController} * * @description * Deregister a control from the form. * * Input elements using ngModelController do this automatically when they are destroyed. + * + * Note that only the removed control's validation state (`$errors`etc.) will be removed from the + * form. `$dirty`, `$submitted` states will not be changed, because the expected behavior can be + * different from case to case. For example, removing the only `$dirty` control from a form may or + * may not mean that the form is still `$dirty`. */ form.$removeControl = function(control) { if (control.$name && form[control.$name] === control) { @@ -20021,6 +20673,7 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { }); arrayRemove(controls, control); + control.$$parentForm = nullFormCtrl; }; @@ -20057,7 +20710,6 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { delete object[property]; } }, - parentForm: parentForm, $animate: $animate }); @@ -20076,7 +20728,7 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { $animate.addClass(element, DIRTY_CLASS); form.$dirty = true; form.$pristine = false; - parentForm.$setDirty(); + form.$$parentForm.$setDirty(); }; /** @@ -20132,7 +20784,7 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { form.$setSubmitted = function() { $animate.addClass(element, SUBMITTED_CLASS); form.$submitted = true; - parentForm.$setSubmitted(); + form.$$parentForm.$setSubmitted(); }; } @@ -20171,17 +20823,14 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { * * In Angular, forms can be nested. This means that the outer form is valid when all of the child * forms are valid as well. However, browsers do not allow nesting of `
` elements, so - * Angular provides the {@link ng.directive:ngForm `ngForm`} directive which behaves identically to - * `` but can be nested. This allows you to have nested forms, which is very useful when - * using Angular validation directives in forms that are dynamically generated using the - * {@link ng.directive:ngRepeat `ngRepeat`} directive. Since you cannot dynamically generate the `name` - * attribute of input elements using interpolation, you have to wrap each set of repeated inputs in an - * `ngForm` directive and nest these in an outer `form` element. - * + * Angular provides the {@link ng.directive:ngForm `ngForm`} directive, which behaves identically to + * `form` but can be nested. Nested forms can be useful, for example, if the validity of a sub-group + * of controls needs to be determined. * * # CSS classes * - `ng-valid` is set if the form is valid. * - `ng-invalid` is set if the form is invalid. + * - `ng-pending` is set if the form is pending. * - `ng-pristine` is set if the form is pristine. * - `ng-dirty` is set if the form is dirty. * - `ng-submitted` is set if the form was submitted. @@ -20257,7 +20906,6 @@ function FormController(element, attrs, $scope, $animate, $interpolate) { '); +!window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend(''); \ No newline at end of file diff --git a/libs/bower_components/angular/angular.min.js b/libs/bower_components/angular/angular.min.js index 2c28ef96f2..da8fc6f7ba 100644 --- a/libs/bower_components/angular/angular.min.js +++ b/libs/bower_components/angular/angular.min.js @@ -1,290 +1,301 @@ /* - AngularJS v1.4.3 + AngularJS v1.4.10 (c) 2010-2015 Google, Inc. http://angularjs.org License: MIT */ -(function(O,U,t){'use strict';function J(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.3/"+(b?b+"/":"")+a;for(a=1;a").append(b).html();try{return b[0].nodeType===Na?M(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+M(b)})}catch(d){return M(c)}}function yc(b){try{return decodeURIComponent(b)}catch(a){}}function zc(b){var a={},c,d;m((b||"").split("&"),function(b){b&&(c=b.replace(/\+/g, -"%20").split("="),d=yc(c[0]),w(d)&&(b=w(c[1])?yc(c[1]):!0,Xa.call(a,d)?G(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))});return a}function Qb(b){var a=[];m(b,function(b,d){G(b)?m(b,function(b){a.push(ma(d,!0)+(!0===b?"":"="+ma(b,!0)))}):a.push(ma(d,!0)+(!0===b?"":"="+ma(b,!0)))});return a.length?a.join("&"):""}function ob(b){return ma(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ma(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g, -"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Yd(b,a){var c,d,e=Oa.length;for(d=0;d/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=eb(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return d},e= -/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;O&&e.test(O.name)&&(c.debugInfoEnabled=!0,O.name=O.name.replace(e,""));if(O&&!f.test(O.name))return d();O.name=O.name.replace(f,"");ca.resumeBootstrap=function(b){m(b,function(b){a.push(b)});return d()};z(ca.resumeDeferredBootstrap)&&ca.resumeDeferredBootstrap()}function $d(){O.name="NG_ENABLE_DEBUG_INFO!"+O.name;O.location.reload()}function ae(b){b=ca.element(b).injector();if(!b)throw Fa("test");return b.get("$$testability")}function Bc(b,a){a=a|| -"_";return b.replace(be,function(b,d){return(d?a:"")+b.toLowerCase()})}function ce(){var b;if(!Cc){var a=pb();la=O.jQuery;w(a)&&(la=null===a?t:O[a]);la&&la.fn.on?(y=la,P(la.fn,{scope:Pa.scope,isolateScope:Pa.isolateScope,controller:Pa.controller,injector:Pa.injector,inheritedData:Pa.inheritedData}),b=la.cleanData,la.cleanData=function(a){var d;if(Rb)Rb=!1;else for(var e=0,f;null!=(f=a[e]);e++)(d=la._data(f,"events"))&&d.$destroy&&la(f).triggerHandler("$destroy");b(a)}):y=Q;ca.element=y;Cc=!0}}function Sb(b, -a,c){if(!b)throw Fa("areq",a||"?",c||"required");return b}function Qa(b,a,c){c&&G(b)&&(b=b[b.length-1]);Sb(z(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ra(b,a){if("hasOwnProperty"===b)throw Fa("badname",a);}function Dc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g")+d[2];for(d=d[0];d--;)c=c.lastChild;f=cb(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";m(f,function(a){e.appendChild(a)});return e}function Q(b){if(b instanceof Q)return b;var a;L(b)&&(b=R(b),a=!0);if(!(this instanceof Q)){if(a&&"<"!=b.charAt(0))throw Ub("nosel");return new Q(b)}if(a){a=U; -var c;b=(c=Cf.exec(b))?[a.createElement(c[1])]:(c=Nc(b,a))?c.childNodes:[]}Oc(this,b)}function Vb(b){return b.cloneNode(!0)}function tb(b,a){a||ub(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;dk&&this.remove(s.key);return b}},get:function(a){if(k").parent()[0])});var f=S(a,b,a,c,d,e);Z.$$addScopeClass(a); -var g=null;return function(b,c,d){Sb(b,"scope");d=d||{};var e=d.parentBoundTranscludeFn,h=d.transcludeControllers;d=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==ta(d)&&d.toString().match(/SVG/)?"svg":"html":"html");d="html"!==g?y(Yb(g,y("
").append(a).html())):c?Pa.clone.call(a):a;if(h)for(var k in h)d.data("$"+k+"Controller",h[k].instance);Z.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,e);return d}}function S(a,b,c,d,e,f){function g(a, -c,d,e){var f,k,l,s,n,B,C;if(p)for(C=Array(c.length),s=0;sE.priority)break;if(v=E.scope)E.templateUrl|| -(H(v)?(O("new/isolated scope",u||$,E,ba),u=E):O("new/isolated scope",u,E,ba)),$=$||E;w=E.name;!E.templateUrl&&E.controller&&(v=E.controller,N=N||ga(),O("'"+w+"' controller",N[w],E,ba),N[w]=E);if(v=E.transclude)K=!0,E.$$tlb||(O("transclusion",m,E,ba),m=E),"element"==v?(q=!0,F=E.priority,v=ba,ba=d.$$element=y(U.createComment(" "+w+": "+d[w]+" ")),b=ba[0],T(f,za.call(v,0),b),A=Z(v,e,F,g&&g.name,{nonTlbTranscludeDirective:m})):(v=y(Vb(b)).contents(),ba.empty(),A=Z(v,e));if(E.template)if(I=!0,O("template", -D,E,ba),D=E,v=z(E.template)?E.template(ba,d):E.template,v=fa(v),E.replace){g=E;v=Tb.test(v)?$c(Yb(E.templateNamespace,R(v))):[];b=v[0];if(1!=v.length||b.nodeType!==qa)throw ea("tplrt",w,"");T(f,ba,b);Ta={$attr:{}};v=ha(b,[],Ta);var Q=a.splice(xa+1,a.length-(xa+1));u&&ad(v);a=a.concat(v).concat(Q);J(d,Ta);Ta=a.length}else ba.html(v);if(E.templateUrl)I=!0,O("template",D,E,ba),D=E,E.replace&&(g=E),S=Lf(a.splice(xa,a.length-xa),ba,d,f,K&&A,h,k,{controllerDirectives:N,newScopeDirective:$!==E&&$,newIsolateScopeDirective:u, -templateDirective:D,nonTlbTranscludeDirective:m}),Ta=a.length;else if(E.compile)try{Aa=E.compile(ba,d,A),z(Aa)?n(null,Aa,M,P):Aa&&n(Aa.pre,Aa.post,M,P)}catch(Kf){c(Kf,ua(ba))}E.terminal&&(S.terminal=!0,F=Math.max(F,E.priority))}S.scope=$&&!0===$.scope;S.transcludeOnThisElement=K;S.templateOnThisElement=I;S.transclude=A;s.hasElementTranscludeDirective=q;return S}function ad(a){for(var b=0,c=a.length;bn.priority)&&-1!=n.restrict.indexOf(f)&&(k&&(n=Ob(n,{$$start:k,$$end:l})),b.push(n),h=n)}catch(x){c(x)}}return h}function A(b){if(e.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,f=c.length;d"+b+"";return c.childNodes[0].childNodes;default:return b}}function Q(a,b){if("srcdoc"==b)return I.HTML;var c=ta(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b|| -"ngSrc"==b))return I.RESOURCE_URL}function V(a,c,d,e,f){var g=Q(a,e);f=h[e]||f;var l=b(d,!0,g,f);if(l){if("multiple"===e&&"select"===ta(a))throw ea("selmulti",ua(a));c.push({priority:100,compile:function(){return{pre:function(a,c,h){c=h.$$observers||(h.$$observers={});if(k.test(e))throw ea("nodomevents");var s=h[e];s!==d&&(l=s&&b(s,!0,g,f),d=s);l&&(h[e]=l(a),(c[e]||(c[e]=[])).$$inter=!0,(h.$$observers&&h.$$observers[e].$$scope||a).$watch(l,function(a,b){"class"===e&&a!=b?h.$updateClass(a,b):h.$set(e, -a)}))}}}})}}function T(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g=a)return b;for(;a--;)8=== -b[a].nodeType&&Mf.call(b,a,1);return b}function Xe(){var b={},a=!1;this.register=function(a,d){Ra(a,"controller");H(a)?P(b,a):b[a]=d};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(c,d){function e(a,b,c,d){if(!a||!H(a.$scope))throw J("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,g,h,l){var k,n,r;h=!0===h;l&&L(l)&&(r=l);if(L(f)){l=f.match(Xc);if(!l)throw Nf("ctrlfmt",f);n=l[1];r=r||l[3];f=b.hasOwnProperty(n)?b[n]:Dc(g.$scope,n,!0)||(a?Dc(d,n,!0):t);Qa(f, -n,!0)}if(h)return h=(G(f)?f[f.length-1]:f).prototype,k=Object.create(h||null),r&&e(g,r,k,n||f.name),P(function(){var a=c.invoke(f,k,g,n);a!==k&&(H(a)||z(a))&&(k=a,r&&e(g,r,k,n||f.name));return k},{instance:k,identifier:r});k=c.instantiate(f,g,n);r&&e(g,r,k,n||f.name);return k}}]}function Ye(){this.$get=["$window",function(b){return y(b.document)}]}function Ze(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Zb(b){return H(b)?aa(b)?b.toISOString():db(b):b} -function cf(){this.$get=function(){return function(b){if(!b)return"";var a=[];oc(b,function(b,d){null===b||A(b)||(G(b)?m(b,function(b,c){a.push(ma(d)+"="+ma(Zb(b)))}):a.push(ma(d)+"="+ma(Zb(b))))});return a.join("&")}}}function df(){this.$get=function(){return function(b){function a(b,e,f){null===b||A(b)||(G(b)?m(b,function(b){a(b,e+"[]")}):H(b)&&!aa(b)?oc(b,function(b,c){a(b,e+(f?"":"[")+c+(f?"":"]"))}):c.push(ma(e)+"="+ma(Zb(b))))}if(!b)return"";var c=[];a(b,"",!0);return c.join("&")}}}function $b(b, -a){if(L(b)){var c=b.replace(Of,"").trim();if(c){var d=a("Content-Type");(d=d&&0===d.indexOf(cd))||(d=(d=c.match(Pf))&&Qf[d[0]].test(c));d&&(b=wc(c))}}return b}function dd(b){var a=ga(),c;L(b)?m(b.split("\n"),function(b){c=b.indexOf(":");var e=M(R(b.substr(0,c)));b=R(b.substr(c+1));e&&(a[e]=a[e]?a[e]+", "+b:b)}):H(b)&&m(b,function(b,c){var f=M(c),g=R(b);f&&(a[f]=a[f]?a[f]+", "+g:g)});return a}function ed(b){var a;return function(c){a||(a=dd(b));return c?(c=a[M(c)],void 0===c&&(c=null),c):a}}function fd(b, -a,c,d){if(z(d))return d(b,a,c);m(d,function(d){b=d(b,a,c)});return b}function bf(){var b=this.defaults={transformResponse:[$b],transformRequest:[function(a){return H(a)&&"[object File]"!==sa.call(a)&&"[object Blob]"!==sa.call(a)&&"[object FormData]"!==sa.call(a)?db(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ia(ac),put:ia(ac),patch:ia(ac)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},a=!1;this.useApplyAsync=function(b){return w(b)? -(a=!!b,this):a};var c=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(d,e,f,g,h,l){function k(a){function c(a){var b=P({},a);b.data=a.data?fd(a.data,a.headers,a.status,e.transformResponse):a.data;a=a.status;return 200<=a&&300>a?b:h.reject(b)}function d(a,b){var c,e={};m(a,function(a,d){z(a)?(c=a(b),null!=c&&(e[d]=c)):e[d]=a});return e}if(!ca.isObject(a))throw J("$http")("badreq",a);var e=P({method:"get",transformRequest:b.transformRequest, -transformResponse:b.transformResponse,paramSerializer:b.paramSerializer},a);e.headers=function(a){var c=b.headers,e=P({},a.headers),f,g,h,c=P({},c.common,c[M(a.method)]);a:for(f in c){g=M(f);for(h in e)if(M(h)===g)continue a;e[f]=c[f]}return d(e,ia(a))}(a);e.method=rb(e.method);e.paramSerializer=L(e.paramSerializer)?l.get(e.paramSerializer):e.paramSerializer;var f=[function(a){var d=a.headers,e=fd(a.data,ed(d),t,a.transformRequest);A(e)&&m(d,function(a,b){"content-type"===M(b)&&delete d[b]});A(a.withCredentials)&& -!A(b.withCredentials)&&(a.withCredentials=b.withCredentials);return n(a,e).then(c,c)},t],g=h.when(e);for(m(x,function(a){(a.request||a.requestError)&&f.unshift(a.request,a.requestError);(a.response||a.responseError)&&f.push(a.response,a.responseError)});f.length;){a=f.shift();var k=f.shift(),g=g.then(a,k)}g.success=function(a){Qa(a,"fn");g.then(function(b){a(b.data,b.status,b.headers,e)});return g};g.error=function(a){Qa(a,"fn");g.then(null,function(b){a(b.data,b.status,b.headers,e)});return g};return g} -function n(c,f){function l(b,c,d,e){function f(){n(c,b,d,e)}N&&(200<=b&&300>b?N.put(S,[b,c,dd(d),e]):N.remove(S));a?g.$applyAsync(f):(f(),g.$$phase||g.$apply())}function n(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?I.resolve:I.reject)({data:a,status:b,headers:ed(d),config:c,statusText:e})}function x(a){n(a.data,a.status,ia(a.headers()),a.statusText)}function m(){var a=k.pendingRequests.indexOf(c);-1!==a&&k.pendingRequests.splice(a,1)}var I=h.defer(),B=I.promise,N,D,q=c.headers,S=r(c.url,c.paramSerializer(c.params)); -k.pendingRequests.push(c);B.then(m,m);!c.cache&&!b.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(N=H(c.cache)?c.cache:H(b.cache)?b.cache:s);N&&(D=N.get(S),w(D)?D&&z(D.then)?D.then(x,x):G(D)?n(D[1],D[0],ia(D[2]),D[3]):n(D,200,{},"OK"):N.put(S,B));A(D)&&((D=gd(c.url)?e()[c.xsrfCookieName||b.xsrfCookieName]:t)&&(q[c.xsrfHeaderName||b.xsrfHeaderName]=D),d(c.method,S,f,l,q,c.timeout,c.withCredentials,c.responseType));return B}function r(a,b){0=l&&(u.resolve(C),x(p.$$intervalId),delete f[p.$$intervalId]);F||b.$apply()},h);f[p.$$intervalId]=u;return p}var f={};e.cancel=function(b){return b&&b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]}function ge(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".", -GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"\u00a4",posSuf:"",negPre:"(\u00a4",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), -SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a",ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"]},pluralCat:function(b){return 1===b?"one":"other"}}}}function bc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=ob(b[a]);return b.join("/")}function hd(b,a){var c=Ba(b);a.$$protocol=c.protocol; -a.$$host=c.hostname;a.$$port=W(c.port)||Tf[c.protocol]||null}function id(b,a){var c="/"!==b.charAt(0);c&&(b="/"+b);var d=Ba(b);a.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname);a.$$search=zc(d.search);a.$$hash=decodeURIComponent(d.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function ya(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ja(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Bb(b){return b.replace(/(#.+)|#$/, -"$1")}function cc(b){return b.substr(0,Ja(b).lastIndexOf("/")+1)}function dc(b,a){this.$$html5=!0;a=a||"";var c=cc(b);hd(b,this);this.$$parse=function(a){var b=ya(c,a);if(!L(b))throw Cb("ipthprfx",a,c);id(b,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Qb(this.$$search),b=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=bc(this.$$path)+(a?"?"+a:"")+b;this.$$absUrl=c+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)), -!0;var f,g;(f=ya(b,d))!==t?(g=f,g=(f=ya(a,f))!==t?c+(ya("/",f)||f):b+g):(f=ya(c,d))!==t?g=c+f:c==d+"/"&&(g=c);g&&this.$$parse(g);return!!g}}function ec(b,a){var c=cc(b);hd(b,this);this.$$parse=function(d){var e=ya(b,d)||ya(c,d),f;A(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",A(e)&&(b=d,this.replace())):(f=ya(a,e),A(f)&&(f=e));id(f,this);d=this.$$path;var e=b,g=/^\/[A-Z]:(\/.*)/;0===f.indexOf(e)&&(f=f.replace(e,""));g.exec(f)||(d=(f=g.exec(d))?f[1]:d);this.$$path=d;this.$$compose()};this.$$compose= -function(){var c=Qb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=bc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+(this.$$url?a+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Ja(b)==Ja(a)?(this.$$parse(a),!0):!1}}function jd(b,a){this.$$html5=!0;ec.apply(this,arguments);var c=cc(b);this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;b==Ja(d)?f=d:(g=ya(c,d))?f=b+a+g:c===d+"/"&&(f=c);f&&this.$$parse(f);return!!f};this.$$compose=function(){var c= -Qb(this.$$search),e=this.$$hash?"#"+ob(this.$$hash):"";this.$$url=bc(this.$$path)+(c?"?"+c:"")+e;this.$$absUrl=b+a+this.$$url}}function Db(b){return function(){return this[b]}}function kd(b,a){return function(c){if(A(c))return this[b];this[b]=a(c);this.$$compose();return this}}function ff(){var b="",a={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(a){return w(a)?(b=a,this):b};this.html5Mode=function(b){return ab(b)?(a.enabled=b,this):H(b)?(ab(b.enabled)&&(a.enabled=b.enabled), -ab(b.requireBase)&&(a.requireBase=b.requireBase),ab(b.rewriteLinks)&&(a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=k.url(),f=k.$$state;try{d.url(a,b,c),k.$$state=d.state()}catch(g){throw k.url(e),k.$$state=f,g;}}function l(a,b){c.$broadcast("$locationChangeSuccess",k.absUrl(),a,k.$$state,b)}var k,n;n=d.baseHref();var r=d.url(),s;if(a.enabled){if(!n&&a.requireBase)throw Cb("nobase");s=r.substring(0, -r.indexOf("/",r.indexOf("//")+2))+(n||"/");n=e.history?dc:jd}else s=Ja(r),n=ec;k=new n(s,"#"+b);k.$$parseLinkUrl(r,r);k.$$state=d.state();var x=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&!b.shiftKey&&2!=b.which&&2!=b.button){for(var e=y(b.target);"a"!==ta(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),l=e.attr("href")||e.attr("xlink:href");H(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Ba(h.animVal).href);x.test(h)|| -!h||e.attr("target")||b.isDefaultPrevented()||!k.$$parseLinkUrl(h,l)||(b.preventDefault(),k.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}});Bb(k.absUrl())!=Bb(r)&&d.url(k.absUrl(),!0);var C=!0;d.onUrlChange(function(a,b){c.$evalAsync(function(){var d=k.absUrl(),e=k.$$state,f;k.$$parse(a);k.$$state=b;f=c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented;k.absUrl()===a&&(f?(k.$$parse(d),k.$$state=e,h(d,!1,e)):(C=!1,l(d,e)))});c.$$phase||c.$digest()});c.$watch(function(){var a= -Bb(d.url()),b=Bb(k.absUrl()),f=d.state(),g=k.$$replace,n=a!==b||k.$$html5&&e.history&&f!==k.$$state;if(C||n)C=!1,c.$evalAsync(function(){var b=k.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,k.$$state,f).defaultPrevented;k.absUrl()===b&&(d?(k.$$parse(a),k.$$state=f):(n&&h(b,g,f===k.$$state?null:k.$$state),l(a,f)))});k.$$replace=!1});return k}]}function gf(){var b=!0,a=this;this.debugEnabled=function(a){return w(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){a instanceof Error&& -(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=c.console||{},e=b[a]||b.log||v;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=[];m(arguments,function(b){a.push(d(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]} -function Ca(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw da("isecfld",a);return b}function oa(b,a){if(b){if(b.constructor===b)throw da("isecfn",a);if(b.window===b)throw da("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw da("isecdom",a);if(b===Object)throw da("isecobj",a);}return b}function ld(b,a){if(b){if(b.constructor===b)throw da("isecfn",a);if(b===Uf||b===Vf||b===Wf)throw da("isecff",a); -}}function Xf(b,a){return"undefined"!==typeof b?b:a}function md(b,a){return"undefined"===typeof b?a:"undefined"===typeof a?b:b+a}function T(b,a){var c,d;switch(b.type){case q.Program:c=!0;m(b.body,function(b){T(b.expression,a);c=c&&b.expression.constant});b.constant=c;break;case q.Literal:b.constant=!0;b.toWatch=[];break;case q.UnaryExpression:T(b.argument,a);b.constant=b.argument.constant;b.toWatch=b.argument.toWatch;break;case q.BinaryExpression:T(b.left,a);T(b.right,a);b.constant=b.left.constant&& -b.right.constant;b.toWatch=b.left.toWatch.concat(b.right.toWatch);break;case q.LogicalExpression:T(b.left,a);T(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.constant?[]:[b];break;case q.ConditionalExpression:T(b.test,a);T(b.alternate,a);T(b.consequent,a);b.constant=b.test.constant&&b.alternate.constant&&b.consequent.constant;b.toWatch=b.constant?[]:[b];break;case q.Identifier:b.constant=!1;b.toWatch=[b];break;case q.MemberExpression:T(b.object,a);b.computed&&T(b.property,a); -b.constant=b.object.constant&&(!b.computed||b.property.constant);b.toWatch=[b];break;case q.CallExpression:c=b.filter?!a(b.callee.name).$stateful:!1;d=[];m(b.arguments,function(b){T(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=b.filter&&!a(b.callee.name).$stateful?d:[b];break;case q.AssignmentExpression:T(b.left,a);T(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=[b];break;case q.ArrayExpression:c=!0;d=[];m(b.elements,function(b){T(b,a);c= -c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=d;break;case q.ObjectExpression:c=!0;d=[];m(b.properties,function(b){T(b.value,a);c=c&&b.value.constant;b.value.constant||d.push.apply(d,b.value.toWatch)});b.constant=c;b.toWatch=d;break;case q.ThisExpression:b.constant=!1,b.toWatch=[]}}function nd(b){if(1==b.length){b=b[0].expression;var a=b.toWatch;return 1!==a.length?a:a[0]!==b?a:t}}function od(b){return b.type===q.Identifier||b.type===q.MemberExpression}function pd(b){if(1=== -b.body.length&&od(b.body[0].expression))return{type:q.AssignmentExpression,left:b.body[0].expression,right:{type:q.NGValueParameter},operator:"="}}function qd(b){return 0===b.body.length||1===b.body.length&&(b.body[0].expression.type===q.Literal||b.body[0].expression.type===q.ArrayExpression||b.body[0].expression.type===q.ObjectExpression)}function rd(b,a){this.astBuilder=b;this.$filter=a}function sd(b,a){this.astBuilder=b;this.$filter=a}function Eb(b,a,c,d){oa(b,d);a=a.split(".");for(var e,f=0;1< -a.length;f++){e=Ca(a.shift(),d);var g=oa(b[e],d);g||(g={},b[e]=g);b=g}e=Ca(a.shift(),d);oa(b[e],d);return b[e]=c}function Fb(b){return"constructor"==b}function fc(b){return z(b.valueOf)?b.valueOf():Yf.call(b)}function hf(){var b=ga(),a=ga();this.$get=["$filter","$sniffer",function(c,d){function e(a,b){return null==a||null==b?a===b:"object"===typeof a&&(a=fc(a),"object"===typeof a)?!1:a===b||a!==a&&b!==b}function f(a,b,c,d,f){var g=d.inputs,h;if(1===g.length){var k=e,g=g[0];return a.$watch(function(a){var b= -g(a);e(b,k)||(h=d(a,t,t,[b]),k=b&&fc(b));return h},b,c,f)}for(var l=[],n=[],r=0,m=g.length;r=this.promise.$$state.status&&d&&d.length&&b(function(){for(var b,e,f=0,g=d.length;fa)for(b in l++,f)e.hasOwnProperty(b)|| -(m--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,g,k=1m&&(E=4-m,u[E]||(u[E]=[]),u[E].push({msg:z(b.exp)?"fn: "+(b.exp.name||b.exp.toString()):b.exp,newVal:f,oldVal:h}));else if(b===d){s=!1;break a}}catch(A){g(A)}if(!(k=x.$$watchersCount&&x.$$childHead||x!==this&&x.$$nextSibling))for(;x!== -this&&!(k=x.$$nextSibling);)x=x.$parent}while(x=k);if((s||t.length)&&!m--)throw p.$$phase=null,c("infdig",a,u);}while(s||t.length);for(p.$$phase=null;w.length;)try{w.shift()()}catch(y){g(y)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===p&&l.$$applicationDestroyed();s(this,-this.$$watchersCount);for(var b in this.$$listenerCount)x(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail== -this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=v;this.$on=this.$watch=this.$watchGroup=function(){return v};this.$$listeners={};this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(a,b){return h(a)(this,b)}, -$evalAsync:function(a,b){p.$$phase||t.length||l.defer(function(){t.length&&p.$digest()});t.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){w.push(a)},$apply:function(a){try{return r("$apply"),this.$eval(a)}catch(b){g(b)}finally{p.$$phase=null;try{p.$digest()}catch(c){throw g(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&I.push(b);u()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]|| -(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,x(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,f=!1,h={name:a,targetScope:e,stopPropagation:function(){f=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=cb([h],arguments,1),l,n;do{d=e.$$listeners[a]||c;h.currentScope=e;l=0;for(n=d.length;lUa)throw Da("iequirks");var d=ia(pa);d.isEnabled=function(){return b};d.trustAs=c.trustAs;d.getTrusted=c.getTrusted;d.valueOf=c.valueOf;b||(d.trustAs= -d.getTrusted=function(a,b){return b},d.valueOf=Ya);d.parseAs=function(b,c){var e=a(c);return e.literal&&e.constant?e:a(c,function(a){return d.getTrusted(b,a)})};var e=d.parseAs,f=d.getTrusted,g=d.trustAs;m(pa,function(a,b){var c=M(b);d[hb("parse_as_"+c)]=function(b){return e(a,b)};d[hb("get_trusted_"+c)]=function(b){return f(a,b)};d[hb("trust_as_"+c)]=function(b){return g(a,b)}});return d}]}function of(){this.$get=["$window","$document",function(b,a){var c={},d=W((/android (\d+)/.exec(M((b.navigator|| -{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,h=/^(Moz|webkit|ms)(?=[A-Z])/,l=f.body&&f.body.style,k=!1,n=!1;if(l){for(var r in l)if(k=h.exec(r)){g=k[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in l&&"webkit");k=!!("transition"in l||g+"Transition"in l);n=!!("animation"in l||g+"Animation"in l);!d||k&&n||(k=L(l.webkitTransition),n=L(l.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"=== -a&&11>=Ua)return!1;if(A(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:fb(),vendorPrefix:g,transitions:k,animations:n,android:d}}]}function qf(){this.$get=["$templateCache","$http","$q","$sce",function(b,a,c,d){function e(f,g){e.totalPendingRequests++;L(f)&&b.get(f)||(f=d.getTrustedResourceUrl(f));var h=a.defaults&&a.defaults.transformResponse;G(h)?h=h.filter(function(a){return a!==$b}):h===$b&&(h=null);return a.get(f,{cache:b,transformResponse:h})["finally"](function(){e.totalPendingRequests--}).then(function(a){b.put(f, -a.data);return a.data},function(a){if(!g)throw ea("tpload",f,a.status,a.statusText);return c.reject(a)})}e.totalPendingRequests=0;return e}]}function rf(){this.$get=["$rootScope","$browser","$location",function(b,a,c){return{findBindings:function(a,b,c){a=a.getElementsByClassName("ng-binding");var g=[];m(a,function(a){var d=ca.element(a).data("$binding");d&&m(d,function(d){c?(new RegExp("(^|\\s)"+ud(b)+"(\\s|\\||$)")).test(d)&&g.push(a):-1!=d.indexOf(b)&&g.push(a)})});return g},findModels:function(a, -b,c){for(var g=["ng-","data-ng-","ng\\:"],h=0;hb;b=Math.abs(b);var g=Infinity===b;if(!g&&!isFinite(b))return"";var h=b+"",l="",k=!1,n=[];g&&(l="\u221e"); -if(!g&&-1!==h.indexOf("e")){var r=h.match(/([\d\.]+)e(-?)(\d+)/);r&&"-"==r[2]&&r[3]>e+1?b=0:(l=h,k=!0)}if(g||k)0b&&(l=b.toFixed(e),b=parseFloat(l));else{g=(h.split(Dd)[1]||"").length;A(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);var g=(""+b).split(Dd),h=g[0],g=g[1]||"",r=0,s=a.lgSize,m=a.gSize;if(h.length>=s+m)for(r=h.length-s,k=0;kb&&(d="-",b=-b);for(b=""+b;b.length-c)e+=c;0===e&&-12==c&&(e=12);return Gb(e,a,d)}}function Hb(b,a){return function(c,d){var e=c["get"+b](),f=rb(a?"SHORT"+b:b);return d[f][e]}}function Ed(b){var a= -(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function Fd(b){return function(a){var c=Ed(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-+c;a=1+Math.round(a/6048E5);return Gb(a,b)}}function jc(b,a){return 0>=b.getFullYear()?a.ERAS[0]:a.ERAS[1]}function zd(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=W(b[9]+b[10]),g=W(b[9]+b[11]));h.call(a,W(b[1]), -W(b[2])-1,W(b[3]));f=W(b[4]||0)-f;g=W(b[5]||0)-g;h=W(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,f,g,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e,f){var g="",h=[],l,k;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;L(c)&&(c=fg.test(c)?W(c):a(c));V(c)&&(c=new Date(c));if(!aa(c)||!isFinite(c.getTime()))return c;for(;e;)(k=gg.exec(e))?(h=cb(h,k,1),e=h.pop()):(h.push(e),e=null);var n=c.getTimezoneOffset(); -f&&(n=xc(f,c.getTimezoneOffset()),c=Pb(c,f,!0));m(h,function(a){l=hg[a];g+=l?l(c,b.DATETIME_FORMATS,n):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function ag(){return function(b,a){A(a)&&(a=2);return db(b,a)}}function bg(){return function(b,a,c){a=Infinity===Math.abs(Number(a))?Number(a):W(a);if(isNaN(a))return b;V(b)&&(b=b.toString());if(!G(b)&&!L(b))return b;c=!c||isNaN(c)?0:W(c);c=0>c&&c>=-b.length?b.length+c:c;return 0<=a?b.slice(c,c+a):0===c?b.slice(a,b.length):b.slice(Math.max(0, -c+a),c)}}function Bd(b){function a(a,c){c=c?-1:1;return a.map(function(a){var d=1,h=Ya;if(z(a))h=a;else if(L(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))d="-"==a.charAt(0)?-1:1,a=a.substring(1);if(""!==a&&(h=b(a),h.constant))var l=h(),h=function(a){return a[l]}}return{get:h,descending:d*c}})}function c(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}return function(b,e,f){if(!Ea(b))return b;G(e)||(e=[e]);0===e.length&&(e=["+"]);var g=a(e,f);b=Array.prototype.map.call(b, -function(a,b){return{value:a,predicateValues:g.map(function(d){var e=d.get(a);d=typeof e;if(null===e)d="string",e="null";else if("string"===d)e=e.toLowerCase();else if("object"===d)a:{if("function"===typeof e.valueOf&&(e=e.valueOf(),c(e)))break a;if(rc(e)&&(e=e.toString(),c(e)))break a;e=b}return{value:e,type:d}})}});b.sort(function(a,b){for(var c=0,d=0,e=g.length;db||37<=b&&40>=b||n(a,this,this.value)});if(e.hasEvent("paste"))a.on("paste cut",n)}a.on("change",l);d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)}}function Kb(b,a){return function(c,d){var e,f;if(aa(c))return c;if(L(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1)); -if(ig.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},m(e,function(b,c){c=F};g.$observe("min",function(a){F=s(a);h.$validate()})}if(w(g.max)||g.ngMax){var u; -h.$validators.max=function(a){return!r(a)||A(u)||c(a)<=u};g.$observe("max",function(a){u=s(a);h.$validate()})}}}function Id(b,a,c,d){(d.$$hasNativeValidators=H(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{};return c.badInput&&!c.typeMismatch?t:b})}function Jd(b,a,c,d,e){if(w(d)){b=b(d);if(!b.constant)throw J("ngModel")("constexpr",c,d);return b(a)}return e}function lc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d(?:<\/\1>|)$/,Tb=/<|&#?\w+;/,Af=/<([\w:]+)/,Bf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,na={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};na.optgroup=na.option;na.tbody=na.tfoot=na.colgroup=na.caption=na.thead; -na.th=na.td;var Pa=Q.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===U.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),Q(O).on("load",a))},toString:function(){var b=[];m(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?y(this[b]):y(this[this.length+b])},length:0,push:kg,sort:[].sort,splice:[].splice},Ab={};m("multiple selected checked disabled readOnly required open".split(" "),function(b){Ab[M(b)]=b});var Tc={};m("input select option textarea button form details".split(" "), -function(b){Tc[b]=!0});var Uc={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};m({data:Wb,removeData:ub,hasData:function(b){for(var a in ib[b.ng339])return!0;return!1}},function(b,a){Q[a]=b});m({data:Wb,inheritedData:zb,scope:function(b){return y.data(b,"$scope")||zb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return y.data(b,"$isolateScope")||y.data(b,"$isolateScopeNoTemplate")},controller:Qc,injector:function(b){return zb(b, -"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:wb,css:function(b,a,c){a=hb(a);if(w(c))b.style[a]=c;else return b.style[a]},attr:function(b,a,c){var d=b.nodeType;if(d!==Na&&2!==d&&8!==d)if(d=M(a),Ab[d])if(w(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||v).specified?d:t;else if(w(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?t:b},prop:function(b,a,c){if(w(c))b[a]=c;else return b[a]}, -text:function(){function b(a,b){if(A(b)){var d=a.nodeType;return d===qa||d===Na?a.textContent:""}a.textContent=b}b.$dv="";return b}(),val:function(b,a){if(A(a)){if(b.multiple&&"select"===ta(b)){var c=[];m(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(A(a))return b.innerHTML;tb(b,!0);b.innerHTML=a},empty:Rc},function(b,a){Q.prototype[a]=function(a,d){var e,f,g=this.length;if(b!==Rc&&(2==b.length&&b!==wb&&b!==Qc? -a:d)===t){if(H(a)){for(e=0;e <= >= && || ! = |".split(" "),function(a){Mb[a]=!0});var qg={n:"\n",f:"\f",r:"\r", -t:"\t",v:"\v","'":"'",'"':'"'},gc=function(a){this.options=a};gc.prototype={constructor:gc,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a|| -"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<=a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){d=d||this.index;c=w(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw da("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index","<=",">=");)a={type:q.BinaryExpression,operator:c.text,left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a={type:q.BinaryExpression,operator:c.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a={type:q.BinaryExpression,operator:c.text, -left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:q.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=fa(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant(): -this.throwError("not a primary expression",this.peek());for(var c;c=this.expect("(","[",".");)"("===c.text?(a={type:q.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===c.text?(a={type:q.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===c.text?a={type:q.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var c={type:q.CallExpression,callee:this.identifier(), -arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.expression());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:q.Identifier,name:a.text}},constant:function(){return{type:q.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break; -a.push(this.expression())}while(this.expect(","))}this.consume("]");return{type:q.ArrayExpression,elements:a}},object:function(){var a=[],c;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;c={type:q.Property,kind:"init"};this.peek().constant?c.key=this.constant():this.peek().identifier?c.key=this.identifier():this.throwError("invalid key",this.peek());this.consume(":");c.value=this.expression();a.push(c)}while(this.expect(","))}this.consume("}");return{type:q.ObjectExpression,properties:a}}, -throwError:function(a,c){throw da("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},consume:function(a){if(0===this.tokens.length)throw da("ueoe",this.text);var c=this.expect(a);c||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return c},peekToken:function(){if(0===this.tokens.length)throw da("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){return this.peekAhead(0,a,c,d,e)},peekAhead:function(a,c,d,e,f){if(this.tokens.length>a){a=this.tokens[a]; -var g=a.text;if(g===c||g===d||g===e||g===f||!(c||d||e||f))return a}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},constants:{"true":{type:q.Literal,value:!0},"false":{type:q.Literal,value:!1},"null":{type:q.Literal,value:null},undefined:{type:q.Literal,value:t},"this":{type:q.ThisExpression}}};rd.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:c,fn:{vars:[],body:[],own:{}},assign:{vars:[], -body:[],own:{}},inputs:[]};T(e,d.$filter);var f="",g;this.stage="assign";if(g=pd(e))this.state.computing="assign",f=this.nextId(),this.recurse(g,f),f="fn.assign="+this.generateFunction("assign","s,v,l");g=nd(e.body);d.stage="inputs";m(g,function(a,c){var e="fn"+c;d.state[e]={vars:[],body:[],own:{}};d.state.computing=e;var f=d.nextId();d.recurse(a,f);d.return_(f);d.state.inputs.push(e);a.watchId=c});this.state.computing="fn";this.stage="main";this.recurse(e);f='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+ -"var fn="+this.generateFunction("fn","s,l,a,i")+f+this.watchFns()+"return fn;";f=(new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","ifDefined","plus","text",f))(this.$filter,Ca,oa,ld,Xf,md,a);this.state=this.stage=t;f.literal=qd(e);f.constant=e.constant;return f},USE:"use",STRICT:"strict",watchFns:function(){var a=[],c=this.state.inputs,d=this;m(c,function(c){a.push("var "+c+"="+d.generateFunction(c,"s"))});c.length&&a.push("fn.inputs=["+c.join(",")+"];");return a.join("")}, -generateFunction:function(a,c){return"function("+c+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],c=this;m(this.state.filters,function(d,e){a.push(d+"=$filter("+c.escape(e)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,c,d,e,f,g){var h,l,k=this,n,r;e=e||v;if(!g&&w(a.watchId))c=c||this.nextId(),this.if_("i", -this.lazyAssign(c,this.computedMember("i",a.watchId)),this.lazyRecurse(a,c,d,e,f,!0));else switch(a.type){case q.Program:m(a.body,function(c,d){k.recurse(c.expression,t,t,function(a){l=a});d!==a.body.length-1?k.current().body.push(l,";"):k.return_(l)});break;case q.Literal:r=this.escape(a.value);this.assign(c,r);e(r);break;case q.UnaryExpression:this.recurse(a.argument,t,t,function(a){l=a});r=a.operator+"("+this.ifDefined(l,0)+")";this.assign(c,r);e(r);break;case q.BinaryExpression:this.recurse(a.left, -t,t,function(a){h=a});this.recurse(a.right,t,t,function(a){l=a});r="+"===a.operator?this.plus(h,l):"-"===a.operator?this.ifDefined(h,0)+a.operator+this.ifDefined(l,0):"("+h+")"+a.operator+"("+l+")";this.assign(c,r);e(r);break;case q.LogicalExpression:c=c||this.nextId();k.recurse(a.left,c);k.if_("&&"===a.operator?c:k.not(c),k.lazyRecurse(a.right,c));e(c);break;case q.ConditionalExpression:c=c||this.nextId();k.recurse(a.test,c);k.if_(c,k.lazyRecurse(a.alternate,c),k.lazyRecurse(a.consequent,c));e(c); -break;case q.Identifier:c=c||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);Ca(a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){f&&1!==f&&k.if_(k.not(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(c,k.nonComputedMember("s",a.name))})},c&&k.lazyAssign(c,k.nonComputedMember("l", -a.name)));(k.state.expensiveChecks||Fb(a.name))&&k.addEnsureSafeObject(c);e(c);break;case q.MemberExpression:h=d&&(d.context=this.nextId())||this.nextId();c=c||this.nextId();k.recurse(a.object,h,t,function(){k.if_(k.notNull(h),function(){if(a.computed)l=k.nextId(),k.recurse(a.property,l),k.addEnsureSafeMemberName(l),f&&1!==f&&k.if_(k.not(k.computedMember(h,l)),k.lazyAssign(k.computedMember(h,l),"{}")),r=k.ensureSafeObject(k.computedMember(h,l)),k.assign(c,r),d&&(d.computed=!0,d.name=l);else{Ca(a.property.name); -f&&1!==f&&k.if_(k.not(k.nonComputedMember(h,a.property.name)),k.lazyAssign(k.nonComputedMember(h,a.property.name),"{}"));r=k.nonComputedMember(h,a.property.name);if(k.state.expensiveChecks||Fb(a.property.name))r=k.ensureSafeObject(r);k.assign(c,r);d&&(d.computed=!1,d.name=a.property.name)}},function(){k.assign(c,"undefined")});e(c)},!!f);break;case q.CallExpression:c=c||this.nextId();a.filter?(l=k.filter(a.callee.name),n=[],m(a.arguments,function(a){var c=k.nextId();k.recurse(a,c);n.push(c)}),r=l+ -"("+n.join(",")+")",k.assign(c,r),e(c)):(l=k.nextId(),h={},n=[],k.recurse(a.callee,l,h,function(){k.if_(k.notNull(l),function(){k.addEnsureSafeFunction(l);m(a.arguments,function(a){k.recurse(a,k.nextId(),t,function(a){n.push(k.ensureSafeObject(a))})});h.name?(k.state.expensiveChecks||k.addEnsureSafeObject(h.context),r=k.member(h.context,h.name,h.computed)+"("+n.join(",")+")"):r=l+"("+n.join(",")+")";r=k.ensureSafeObject(r);k.assign(c,r)},function(){k.assign(c,"undefined")});e(c)}));break;case q.AssignmentExpression:l= -this.nextId();h={};if(!od(a.left))throw da("lval");this.recurse(a.left,t,h,function(){k.if_(k.notNull(h.context),function(){k.recurse(a.right,l);k.addEnsureSafeObject(k.member(h.context,h.name,h.computed));r=k.member(h.context,h.name,h.computed)+a.operator+l;k.assign(c,r);e(c||r)})},1);break;case q.ArrayExpression:n=[];m(a.elements,function(a){k.recurse(a,k.nextId(),t,function(a){n.push(a)})});r="["+n.join(",")+"]";this.assign(c,r);e(r);break;case q.ObjectExpression:n=[];m(a.properties,function(a){k.recurse(a.value, -k.nextId(),t,function(c){n.push(k.escape(a.key.type===q.Identifier?a.key.name:""+a.key.value)+":"+c)})});r="{"+n.join(",")+"}";this.assign(c,r);e(r);break;case q.ThisExpression:this.assign(c,"s");e("s");break;case q.NGValueParameter:this.assign(c,"v"),e("v")}},getHasOwnProperty:function(a,c){var d=a+"."+c,e=this.current().own;e.hasOwnProperty(d)||(e[d]=this.nextId(!1,a+"&&("+this.escape(c)+" in "+a+")"));return e[d]},assign:function(a,c){if(a)return this.current().body.push(a,"=",c,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)|| -(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,c){return"ifDefined("+a+","+this.escape(c)+")"},plus:function(a,c){return"plus("+a+","+c+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,c,d){if(!0===a)c();else{var e=this.current().body;e.push("if(",a,"){");c();e.push("}");d&&(e.push("else{"),d(),e.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,c){return a+ -"."+c},computedMember:function(a,c){return a+"["+c+"]"},member:function(a,c,d){return d?this.computedMember(a,c):this.nonComputedMember(a,c)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+ -a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},lazyRecurse:function(a,c,d,e,f,g){var h=this;return function(){h.recurse(a,c,d,e,f,g)}},lazyAssign:function(a,c){var d=this;return function(){d.assign(a,c)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(L(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(V(a))return a.toString();if(!0===a)return"true"; -if(!1===a)return"false";if(null===a)return"null";if("undefined"===typeof a)return"undefined";throw da("esc");},nextId:function(a,c){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(c?"="+c:""));return d},current:function(){return this.state[this.state.computing]}};sd.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.expression=a;this.expensiveChecks=c;T(e,d.$filter);var f,g;if(f=pd(e))g=this.recurse(f);f=nd(e.body);var h;f&&(h=[],m(f,function(a,c){var e=d.recurse(a); -a.input=e;h.push(e);a.watchId=c}));var l=[];m(e.body,function(a){l.push(d.recurse(a.expression))});f=0===e.body.length?function(){}:1===e.body.length?l[0]:function(a,c){var d;m(l,function(e){d=e(a,c)});return d};g&&(f.assign=function(a,c,d){return g(a,d,c)});h&&(f.inputs=h);f.literal=qd(e);f.constant=e.constant;return f},recurse:function(a,c,d){var e,f,g=this,h;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case q.Literal:return this.value(a.value,c);case q.UnaryExpression:return f= -this.recurse(a.argument),this["unary"+a.operator](f,c);case q.BinaryExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,f,c);case q.LogicalExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,f,c);case q.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),c);case q.Identifier:return Ca(a.name,g.expression),g.identifier(a.name,g.expensiveChecks||Fb(a.name), -c,d,g.expression);case q.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Ca(a.property.name,g.expression),f=a.property.name),a.computed&&(f=this.recurse(a.property)),a.computed?this.computedMember(e,f,c,d,g.expression):this.nonComputedMember(e,f,g.expensiveChecks,c,d,g.expression);case q.CallExpression:return h=[],m(a.arguments,function(a){h.push(g.recurse(a))}),a.filter&&(f=this.$filter(a.callee.name)),a.filter||(f=this.recurse(a.callee,!0)),a.filter?function(a,d,e,g){for(var m= -[],q=0;q":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)>c(e,f,g,h);return d?{value:e}:e}},"binary<=":function(a,c,d){return function(e, -f,g,h){e=a(e,f,g,h)<=c(e,f,g,h);return d?{value:e}:e}},"binary>=":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)>=c(e,f,g,h);return d?{value:e}:e}},"binary&&":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)&&c(e,f,g,h);return d?{value:e}:e}},"binary||":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)||c(e,f,g,h);return d?{value:e}:e}},"ternary?:":function(a,c,d,e){return function(f,g,h,l){f=a(f,g,h,l)?c(f,g,h,l):d(f,g,h,l);return e?{value:f}:f}},value:function(a,c){return function(){return c? -{context:t,name:t,value:a}:a}},identifier:function(a,c,d,e,f){return function(g,h,l,k){g=h&&a in h?h:g;e&&1!==e&&g&&!g[a]&&(g[a]={});h=g?g[a]:t;c&&oa(h,f);return d?{context:g,name:a,value:h}:h}},computedMember:function(a,c,d,e,f){return function(g,h,l,k){var n=a(g,h,l,k),m,s;null!=n&&(m=c(g,h,l,k),Ca(m,f),e&&1!==e&&n&&!n[m]&&(n[m]={}),s=n[m],oa(s,f));return d?{context:n,name:m,value:s}:s}},nonComputedMember:function(a,c,d,e,f,g){return function(h,l,k,n){h=a(h,l,k,n);f&&1!==f&&h&&!h[c]&&(h[c]={}); -l=null!=h?h[c]:t;(d||Fb(c))&&oa(l,g);return e?{context:h,name:c,value:l}:l}},inputs:function(a,c){return function(d,e,f,g){return g?g[c]:a(d,e,f)}}};var hc=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d;this.ast=new q(this.lexer);this.astCompiler=d.csp?new sd(this.ast,c):new rd(this.ast,c)};hc.prototype={constructor:hc,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};ga();ga();var Yf=Object.prototype.valueOf,Da=J("$sce"),pa={HTML:"html",CSS:"css",URL:"url", -RESOURCE_URL:"resourceUrl",JS:"js"},ea=J("$compile"),X=U.createElement("a"),wd=Ba(O.location.href);xd.$inject=["$document"];Lc.$inject=["$provide"];yd.$inject=["$locale"];Ad.$inject=["$locale"];var Dd=".",hg={yyyy:Y("FullYear",4),yy:Y("FullYear",2,0,!0),y:Y("FullYear",1),MMMM:Hb("Month"),MMM:Hb("Month",!0),MM:Y("Month",2,1),M:Y("Month",1,1),dd:Y("Date",2),d:Y("Date",1),HH:Y("Hours",2),H:Y("Hours",1),hh:Y("Hours",2,-12),h:Y("Hours",1,-12),mm:Y("Minutes",2),m:Y("Minutes",1),ss:Y("Seconds",2),s:Y("Seconds", -1),sss:Y("Milliseconds",3),EEEE:Hb("Day"),EEE:Hb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a,c,d){a=-1*d;return a=(0<=a?"+":"")+(Gb(Math[0=a.getFullYear()?c.ERANAMES[0]:c.ERANAMES[1]}},gg=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,fg=/^\-?\d+$/;zd.$inject=["$locale"];var cg=ra(M),dg=ra(rb);Bd.$inject= -["$parse"];var ie=ra({restrict:"E",compile:function(a,c){if(!c.href&&!c.xlinkHref)return function(a,c){if("a"===c[0].nodeName.toLowerCase()){var f="[object SVGAnimatedString]"===sa.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}}),sb={};m(Ab,function(a,c){function d(a,d,f){a.$watch(f[e],function(a){f.$set(c,!!a)})}if("multiple"!=a){var e=wa("ng-"+c),f=d;"checked"===a&&(f=function(a,c,f){f.ngModel!==f[e]&&d(a,c,f)});sb[e]=function(){return{restrict:"A", -priority:100,link:f}}}});m(Uc,function(a,c){sb[c]=function(){return{priority:100,link:function(a,e,f){if("ngPattern"===c&&"/"==f.ngPattern.charAt(0)&&(e=f.ngPattern.match(jg))){f.$set("ngPattern",new RegExp(e[1],e[2]));return}a.$watch(f[c],function(a){f.$set(c,a)})}}}});m(["src","srcset","href"],function(a){var c=wa("ng-"+a);sb[c]=function(){return{priority:99,link:function(d,e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===sa.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href", -g=null);f.$observe(c,function(c){c?(f.$set(h,c),Ua&&g&&e.prop(g,f[h])):"href"===a&&f.$set(h,null)})}}}});var Ib={$addControl:v,$$renameControl:function(a,c){a.$name=c},$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v,$setSubmitted:v};Gd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Od=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Gd,compile:function(d,e){d.addClass(Va).addClass(mb);var f=e.name?"name":a&&e.ngForm?"ngForm": -!1;return{pre:function(a,d,e,k){if(!("action"in e)){var n=function(c){a.$apply(function(){k.$commitViewValue();k.$setSubmitted()});c.preventDefault()};d[0].addEventListener("submit",n,!1);d.on("$destroy",function(){c(function(){d[0].removeEventListener("submit",n,!1)},0,!1)})}var m=k.$$parentForm;f&&(Eb(a,k.$name,k,k.$name),e.$observe(f,function(c){k.$name!==c&&(Eb(a,k.$name,t,k.$name),m.$$renameControl(k,c),Eb(a,k.$name,k,k.$name))}));d.on("$destroy",function(){m.$removeControl(k);f&&Eb(a,e[f],t, -k.$name);P(k,Ib)})}}}}}]},je=Od(),we=Od(!0),ig=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,rg=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,sg=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,tg=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Pd=/^(\d{4})-(\d{2})-(\d{2})$/,Qd=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,mc=/^(\d{4})-W(\d\d)$/,Rd=/^(\d{4})-(\d\d)$/, -Sd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Td={text:function(a,c,d,e,f,g){kb(a,c,d,e,f,g);kc(e)},date:lb("date",Pd,Kb(Pd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":lb("datetimelocal",Qd,Kb(Qd,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:lb("time",Sd,Kb(Sd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:lb("week",mc,function(a,c){if(aa(a))return a;if(L(a)){mc.lastIndex=0;var d=mc.exec(a);if(d){var e=+d[1],f=+d[2],g=d=0,h=0,l=0,k=Ed(e),f=7*(f-1);c&&(d=c.getHours(),g= -c.getMinutes(),h=c.getSeconds(),l=c.getMilliseconds());return new Date(e,0,k.getDate()+f,d,g,h,l)}}return NaN},"yyyy-Www"),month:lb("month",Rd,Kb(Rd,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,g){Id(a,c,d,e);kb(a,c,d,e,f,g);e.$$parserName="number";e.$parsers.push(function(a){return e.$isEmpty(a)?null:tg.test(a)?parseFloat(a):t});e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!V(a))throw Lb("numfmt",a);a=a.toString()}return a});if(w(d.min)||d.ngMin){var h;e.$validators.min=function(a){return e.$isEmpty(a)|| -A(h)||a>=h};d.$observe("min",function(a){w(a)&&!V(a)&&(a=parseFloat(a,10));h=V(a)&&!isNaN(a)?a:t;e.$validate()})}if(w(d.max)||d.ngMax){var l;e.$validators.max=function(a){return e.$isEmpty(a)||A(l)||a<=l};d.$observe("max",function(a){w(a)&&!V(a)&&(a=parseFloat(a,10));l=V(a)&&!isNaN(a)?a:t;e.$validate()})}},url:function(a,c,d,e,f,g){kb(a,c,d,e,f,g);kc(e);e.$$parserName="url";e.$validators.url=function(a,c){var d=a||c;return e.$isEmpty(d)||rg.test(d)}},email:function(a,c,d,e,f,g){kb(a,c,d,e,f,g);kc(e); -e.$$parserName="email";e.$validators.email=function(a,c){var d=a||c;return e.$isEmpty(d)||sg.test(d)}},radio:function(a,c,d,e){A(d.name)&&c.attr("name",++nb);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,g,h,l){var k=Jd(l,a,"ngTrueValue",d.ngTrueValue,!0),n=Jd(l,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click",function(a){e.$setViewValue(c[0].checked,a&& -a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return!1===a};e.$formatters.push(function(a){return ka(a,k)});e.$parsers.push(function(a){return a?k:n})},hidden:v,button:v,submit:v,reset:v,file:v},Fc=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,g,h,l){l[0]&&(Td[M(h.type)]||Td.text)(f,g,h,l[0],c,a,d,e)}}}}],ug=/^(true|false|\d+)$/,Oe=function(){return{restrict:"A",priority:100,compile:function(a, -c){return ug.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},oe=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c,e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=a===t?"":a})}}}}],qe=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,g){d=a(f.attr(g.$attr.ngBindTemplate)); -c.$$addBindingInfo(f,d.expressions);f=f[0];g.$observe("ngBindTemplate",function(a){f.textContent=a===t?"":a})}}}}],pe=["$sce","$parse","$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var g=c(f.ngBindHtml),h=c(f.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(h,function(){e.html(a.getTrustedHtml(g(c))||"")})}}}}],Ne=ra({restrict:"A",require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}), -re=lc("",!0),te=lc("Odd",0),se=lc("Even",1),ue=Ma({compile:function(a,c){c.$set("ngCloak",t);a.removeClass("ng-cloak")}}),ve=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Kc={},vg={blur:!0,focus:!0};m("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=wa("ng-"+a);Kc[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,g){var h= -d(g[c],null,!0);return function(c,d){d.on(a,function(d){var f=function(){h(c,{$event:d})};vg[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var ye=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,l,k;c.$watch(e.ngIf,function(c){c?l||g(function(c,f){l=f;c[c.length++]=U.createComment(" end ngIf: "+e.ngIf+" ");h={clone:c};a.enter(c,d.parent(),d)}):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),h&&(k= -qb(h.clone),a.leave(k).then(function(){k=null}),h=null))})}}}],ze=["$templateRequest","$anchorScroll","$animate",function(a,c,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:ca.noop,compile:function(e,f){var g=f.ngInclude||f.src,h=f.onload||"",l=f.autoscroll;return function(e,f,m,s,q){var t=0,F,u,p,v=function(){u&&(u.remove(),u=null);F&&(F.$destroy(),F=null);p&&(d.leave(p).then(function(){u=null}),u=p,p=null)};e.$watch(g,function(g){var m=function(){!w(l)||l&&!e.$eval(l)|| -c()},r=++t;g?(a(g,!0).then(function(a){if(r===t){var c=e.$new();s.template=a;a=q(c,function(a){v();d.enter(a,null,f).then(m)});F=c;p=a;F.$emit("$includeContentLoaded",g);e.$eval(h)}},function(){r===t&&(v(),e.$emit("$includeContentError",g))}),e.$emit("$includeContentRequested",g)):(v(),s.template=null)})}}}}],Qe=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Nc(f.template,U).childNodes)(c,function(a){d.append(a)}, -{futureParentElement:d})):(d.html(f.template),a(d.contents())(c))}}}],Ae=Ma({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Me=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",g="false"!==d.ngTrim,h=g?R(f):f;e.$parsers.push(function(a){if(!A(a)){var c=[];a&&m(a.split(h),function(a){a&&c.push(g?R(a):a)});return c}});e.$formatters.push(function(a){return G(a)?a.join(f):t});e.$isEmpty=function(a){return!a|| -!a.length}}}},mb="ng-valid",Kd="ng-invalid",Va="ng-pristine",Jb="ng-dirty",Md="ng-pending",Lb=new J("ngModel"),wg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,g,h,l,k,n){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=t;this.$validators={};this.$asyncValidators={};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty= -!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=t;this.$name=n(d.name||"",!1)(a);var r=f(d.ngModel),s=r.assign,q=r,C=s,F=null,u,p=this;this.$$setOptions=function(a){if((p.$options=a)&&a.getterSetter){var c=f(d.ngModel+"()"),g=f(d.ngModel+"($$$p)");q=function(a){var d=r(a);z(d)&&(d=c(a));return d};C=function(a,c){z(r(a))?g(a,{$$$p:p.$modelValue}):s(a,p.$modelValue)}}else if(!r.assign)throw Lb("nonassign",d.ngModel,ua(e));};this.$render=v;this.$isEmpty=function(a){return A(a)|| -""===a||null===a||a!==a};var K=e.inheritedData("$formController")||Ib,y=0;Hd({ctrl:this,$element:e,set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},parentForm:K,$animate:g});this.$setPristine=function(){p.$dirty=!1;p.$pristine=!0;g.removeClass(e,Jb);g.addClass(e,Va)};this.$setDirty=function(){p.$dirty=!0;p.$pristine=!1;g.removeClass(e,Va);g.addClass(e,Jb);K.$setDirty()};this.$setUntouched=function(){p.$touched=!1;p.$untouched=!0;g.setClass(e,"ng-untouched","ng-touched")};this.$setTouched= -function(){p.$touched=!0;p.$untouched=!1;g.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){h.cancel(F);p.$viewValue=p.$$lastCommittedViewValue;p.$render()};this.$validate=function(){if(!V(p.$modelValue)||!isNaN(p.$modelValue)){var a=p.$$rawModelValue,c=p.$valid,d=p.$modelValue,e=p.$options&&p.$options.allowInvalid;p.$$runValidators(a,p.$$lastCommittedViewValue,function(f){e||c===f||(p.$modelValue=f?a:t,p.$modelValue!==d&&p.$$writeModelToScope())})}};this.$$runValidators= -function(a,c,d){function e(){var d=!0;m(p.$validators,function(e,f){var h=e(a,c);d=d&&h;g(f,h)});return d?!0:(m(p.$asyncValidators,function(a,c){g(c,null)}),!1)}function f(){var d=[],e=!0;m(p.$asyncValidators,function(f,h){var k=f(a,c);if(!k||!z(k.then))throw Lb("$asyncValidators",k);g(h,t);d.push(k.then(function(){g(h,!0)},function(a){e=!1;g(h,!1)}))});d.length?k.all(d).then(function(){h(e)},v):h(!0)}function g(a,c){l===y&&p.$setValidity(a,c)}function h(a){l===y&&d(a)}y++;var l=y;(function(){var a= -p.$$parserName||"parse";if(u===t)g(a,null);else return u||(m(p.$validators,function(a,c){g(c,null)}),m(p.$asyncValidators,function(a,c){g(c,null)})),g(a,u),u;return!0})()?e()?f():h(!1):h(!1)};this.$commitViewValue=function(){var a=p.$viewValue;h.cancel(F);if(p.$$lastCommittedViewValue!==a||""===a&&p.$$hasNativeValidators)p.$$lastCommittedViewValue=a,p.$pristine&&this.$setDirty(),this.$$parseAndValidate()};this.$$parseAndValidate=function(){var c=p.$$lastCommittedViewValue;if(u=A(c)?t:!0)for(var d= -0;df||e.$isEmpty(c)||c.length<=f}}}}},Ic=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=0;d.$observe("minlength",function(a){f=W(a)||0;e.$validate()});e.$validators.minlength=function(a,c){return e.$isEmpty(c)||c.length>=f}}}}};O.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(ce(),ee(ca),y(U).ready(function(){Zd(U,Ac)}))})(window,document);!window.angular.$$csp()&&window.angular.element(document.head).prepend(''); +(function(U,W,v){'use strict';function L(a){return function(){var b=arguments[0],d;d="["+(a?a+":":"")+b+"] http://errors.angularjs.org/1.4.10/"+(a?a+"/":"")+b;for(b=1;b").append(a).html();try{return a[0].nodeType===Oa?F(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+F(b)})}catch(c){return F(d)}}function wc(a){try{return decodeURIComponent(a)}catch(b){}} +function xc(a){var b={};p((a||"").split("&"),function(a){var c,e,f;a&&(e=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(e=a.substring(0,c),f=a.substring(c+1)),e=wc(e),x(e)&&(f=x(f)?wc(f):!0,sa.call(b,e)?K(b[e])?b[e].push(f):b[e]=[b[e],f]:b[e]=f))});return b}function Qb(a){var b=[];p(a,function(a,c){K(a)?p(a,function(a){b.push(ia(c,!0)+(!0===a?"":"="+ia(a,!0)))}):b.push(ia(c,!0)+(!0===a?"":"="+ia(a,!0)))});return b.length?b.join("&"):""}function nb(a){return ia(a,!0).replace(/%26/gi,"&").replace(/%3D/gi, +"=").replace(/%2B/gi,"+")}function ia(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function ce(a,b){var d,c,e=Pa.length;for(c=0;c/,">"));}b=b||[];b.unshift(["$provide",function(b){b.value("$rootElement",a)}]);d.debugInfoEnabled&&b.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);b.unshift("ng");c=db(b,d.strictDi);c.invoke(["$rootScope", +"$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d);c(b)(a)})}]);return c},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;U&&e.test(U.name)&&(d.debugInfoEnabled=!0,U.name=U.name.replace(e,""));if(U&&!f.test(U.name))return c();U.name=U.name.replace(f,"");fa.resumeBootstrap=function(a){p(a,function(a){b.push(a)});return c()};E(fa.resumeDeferredBootstrap)&&fa.resumeDeferredBootstrap()}function ee(){U.name="NG_ENABLE_DEBUG_INFO!"+U.name;U.location.reload()} +function fe(a){a=fa.element(a).injector();if(!a)throw Aa("test");return a.get("$$testability")}function zc(a,b){b=b||"_";return a.replace(ge,function(a,c){return(c?b:"")+a.toLowerCase()})}function he(){var a;if(!Ac){var b=ob();(qa=r(b)?U.jQuery:b?U[b]:v)&&qa.fn.on?(z=qa,M(qa.fn,{scope:Qa.scope,isolateScope:Qa.isolateScope,controller:Qa.controller,injector:Qa.injector,inheritedData:Qa.inheritedData}),a=qa.cleanData,qa.cleanData=function(b){var c;if(Rb)Rb=!1;else for(var e=0,f;null!=(f=b[e]);e++)(c= +qa._data(f,"events"))&&c.$destroy&&qa(f).triggerHandler("$destroy");a(b)}):z=R;fa.element=z;Ac=!0}}function pb(a,b,d){if(!a)throw Aa("areq",b||"?",d||"required");return a}function Ra(a,b,d){d&&K(a)&&(a=a[a.length-1]);pb(E(a),b,"not a function, got "+(a&&"object"===typeof a?a.constructor.name||"Object":typeof a));return a}function Sa(a,b){if("hasOwnProperty"===a)throw Aa("badname",b);}function Bc(a,b,d){if(!b)return a;b=b.split(".");for(var c,e=a,f=b.length,g=0;g")+c[2];for(c=c[0];c--;)d=d.lastChild;f=bb(f,d.childNodes);d=e.firstChild;d.textContent=""}else f.push(b.createTextNode(a));e.textContent="";e.innerHTML="";p(f,function(a){e.appendChild(a)});return e}function Mc(a, +b){var d=a.parentNode;d&&d.replaceChild(b,a);b.appendChild(a)}function R(a){if(a instanceof R)return a;var b;H(a)&&(a=V(a),b=!0);if(!(this instanceof R)){if(b&&"<"!=a.charAt(0))throw Ub("nosel");return new R(a)}if(b){b=W;var d;a=(d=Lf.exec(a))?[b.createElement(d[1])]:(d=Lc(a,b))?d.childNodes:[]}Nc(this,a)}function Vb(a){return a.cloneNode(!0)}function tb(a,b){b||ub(a);if(a.querySelectorAll)for(var d=a.querySelectorAll("*"),c=0,e=d.length;cm&&this.remove(G.key);return b}},get:function(a){if(m").append(a).html())):c?Qa.clone.call(a):a;if(g)for(var h in g)d.data("$"+h+"Controller",g[h].instance);J.$$addScopeInfo(d,b);c&&c(d,b);m&&m(b,d,d,f);return d}}function X(a,b,c,d,e,f){function g(a,c,d,e){var f,k,m,l,n,B,t;if(q)for(t=Array(c.length), +l=0;lr.priority)break;if(Q=r.scope)r.templateUrl||(I(Q)?(Va("new/isolated scope",C||A,r,$),C=r):Va("new/isolated scope",C,r,$)),A=A||r;y=r.name;!r.templateUrl&&r.controller&&(Q=r.controller,u=u||aa(),Va("'"+y+"' controller",u[y],r,$),u[y]=r);if(Q=r.transclude)N=!0,r.$$tlb||(Va("transclusion",D, +r,$),D=r),"element"==Q?(T=!0,P=r.priority,Q=$,$=d.$$element=z(W.createComment(" "+y+": "+d[y]+" ")),b=$[0],Z(f,ta.call(Q,0),b),Ha=J(Q,e,P,g&&g.name,{nonTlbTranscludeDirective:D})):(Q=z(Vb(b)).contents(),$.empty(),Ha=J(Q,e,v,v,{needsNewScope:r.$$isolateScope||r.$$newScope}));if(r.template)if(p=!0,Va("template",X,r,$),X=r,Q=E(r.template)?r.template($,d):r.template,Q=ia(Q),r.replace){g=r;Q=Tb.test(Q)?Yc(Yb(r.templateNamespace,V(Q))):[];b=Q[0];if(1!=Q.length||1!==b.nodeType)throw ga("tplrt",y,"");Z(f, +$,b);Q={$attr:{}};var Xc=ja(b,[],Q),Y=a.splice(F+1,a.length-(F+1));(C||A)&&x(Xc,C,A);a=a.concat(Xc).concat(Y);U(d,Q);M=a.length}else $.html(Q);if(r.templateUrl)p=!0,Va("template",X,r,$),X=r,r.replace&&(g=r),w=Vf(a.splice(F,a.length-F),$,d,f,N&&Ha,h,m,{controllerDirectives:u,newScopeDirective:A!==r&&A,newIsolateScopeDirective:C,templateDirective:X,nonTlbTranscludeDirective:D}),M=a.length;else if(r.compile)try{L=r.compile($,d,Ha),E(L)?n(null,L,O,R):L&&n(L.pre,L.post,O,R)}catch(da){c(da,ua($))}r.terminal&& +(w.terminal=!0,P=Math.max(P,r.priority))}w.scope=A&&!0===A.scope;w.transcludeOnThisElement=N;w.templateOnThisElement=p;w.transclude=Ha;l.hasElementTranscludeDirective=T;return w}function x(a,b,c){for(var d=0,e=a.length;dn.priority)&&-1!=n.restrict.indexOf(g)){m&&(n=Ob(n,{$$start:m,$$end:l})); +if(!n.$$bindings){var t=n,J=n,P=n.name,w={isolateScope:null,bindToController:null};I(J.scope)&&(!0===J.bindToController?(w.bindToController=d(J.scope,P,!0),w.isolateScope={}):w.isolateScope=d(J.scope,P,!1));I(J.bindToController)&&(w.bindToController=d(J.bindToController,P,!0));if(I(w.bindToController)){var C=J.controller,u=J.controllerAs;if(!C)throw ga("noctrl",P);var D;a:{var J=C,X=u;if(X&&H(X))D=X;else{if(H(J)){var ja=Zc.exec(J);if(ja){D=ja[3];break a}}D=void 0}}if(!D)throw ga("noident",P);}var N= +t.$$bindings=w;I(N.isolateScope)&&(n.$$isolateBindings=N.isolateScope)}b.push(n);h=n}}catch(p){c(p)}}return h}function L(b){if(e.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,f=c.length;d"+b+"";return c.childNodes[0].childNodes;default:return b}}function R(a,b){if("srcdoc"==b)return D.HTML;var c=pa(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b))return D.RESOURCE_URL}function Y(a,c,d,e,f){var g=R(a,e);f=h[e]||f;var k= +b(d,!0,g,f);if(k){if("multiple"===e&&"select"===pa(a))throw ga("selmulti",ua(a));c.push({priority:100,compile:function(){return{pre:function(a,c,h){c=h.$$observers||(h.$$observers=aa());if(m.test(e))throw ga("nodomevents");var l=h[e];l!==d&&(k=l&&b(l,!0,g,f),d=l);k&&(h[e]=k(a),(c[e]||(c[e]=[])).$$inter=!0,(h.$$observers&&h.$$observers[e].$$scope||a).$watch(k,function(a,b){"class"===e&&a!=b?h.$updateClass(a,b):h.$set(e,a)}))}}}})}}function Z(a,b,c){var d=b[0],e=b.length,f=d.parentNode,g,h;if(a)for(g= +0,h=a.length;g=b)return a;for(;b--;)8=== +a[b].nodeType&&Wf.call(a,b,1);return a}function df(){var a={},b=!1;this.register=function(b,c){Sa(b,"controller");I(b)?M(a,b):a[b]=c};this.allowGlobals=function(){b=!0};this.$get=["$injector","$window",function(d,c){function e(a,b,c,d){if(!a||!I(a.$scope))throw L("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,g,h,k){var m,l,n;h=!0===h;k&&H(k)&&(n=k);if(H(f)){k=f.match(Zc);if(!k)throw Xf("ctrlfmt",f);l=k[1];n=n||k[3];f=a.hasOwnProperty(l)?a[l]:Bc(g.$scope,l,!0)||(b?Bc(c,l,!0):v);Ra(f, +l,!0)}if(h)return h=(K(f)?f[f.length-1]:f).prototype,m=Object.create(h||null),n&&e(g,n,m,l||f.name),M(function(){var a=d.invoke(f,m,g,l);a!==m&&(I(a)||E(a))&&(m=a,n&&e(g,n,m,l||f.name));return m},{instance:m,identifier:n});m=d.instantiate(f,g,l);n&&e(g,n,m,l||f.name);return m}}]}function ef(){this.$get=["$window",function(a){return z(a.document)}]}function ff(){this.$get=["$log",function(a){return function(b,d){a.error.apply(a,arguments)}}]}function Zb(a){return I(a)?da(a)?a.toISOString():cb(a):a} +function lf(){this.$get=function(){return function(a){if(!a)return"";var b=[];oc(a,function(a,c){null===a||r(a)||(K(a)?p(a,function(a,d){b.push(ia(c)+"="+ia(Zb(a)))}):b.push(ia(c)+"="+ia(Zb(a))))});return b.join("&")}}}function mf(){this.$get=function(){return function(a){function b(a,e,f){null===a||r(a)||(K(a)?p(a,function(a,c){b(a,e+"["+(I(a)?c:"")+"]")}):I(a)&&!da(a)?oc(a,function(a,c){b(a,e+(f?"":"[")+c+(f?"":"]"))}):d.push(ia(e)+"="+ia(Zb(a))))}if(!a)return"";var d=[];b(a,"",!0);return d.join("&")}}} +function $b(a,b){if(H(a)){var d=a.replace(Yf,"").trim();if(d){var c=b("Content-Type");(c=c&&0===c.indexOf(bd))||(c=(c=d.match(Zf))&&$f[c[0]].test(d));c&&(a=uc(d))}}return a}function cd(a){var b=aa(),d;H(a)?p(a.split("\n"),function(a){d=a.indexOf(":");var e=F(V(a.substr(0,d)));a=V(a.substr(d+1));e&&(b[e]=b[e]?b[e]+", "+a:a)}):I(a)&&p(a,function(a,d){var f=F(d),g=V(a);f&&(b[f]=b[f]?b[f]+", "+g:g)});return b}function dd(a){var b;return function(d){b||(b=cd(a));return d?(d=b[F(d)],void 0===d&&(d=null), +d):b}}function ed(a,b,d,c){if(E(c))return c(a,b,d);p(c,function(c){a=c(a,b,d)});return a}function kf(){var a=this.defaults={transformResponse:[$b],transformRequest:[function(a){return I(a)&&"[object File]"!==oa.call(a)&&"[object Blob]"!==oa.call(a)&&"[object FormData]"!==oa.call(a)?cb(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ha(ac),put:ha(ac),patch:ha(ac)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},b=!1;this.useApplyAsync= +function(a){return x(a)?(b=!!a,this):b};var d=!0;this.useLegacyPromiseExtensions=function(a){return x(a)?(d=!!a,this):d};var c=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(e,f,g,h,k,m){function l(b){function c(a){var b=M({},a);b.data=ed(a.data,a.headers,a.status,f.transformResponse);a=a.status;return 200<=a&&300>a?b:k.reject(b)}function e(a,b){var c,d={};p(a,function(a,e){E(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a});return d}if(!fa.isObject(b))throw L("$http")("badreq", +b);if(!H(b.url))throw L("$http")("badreq",b.url);var f=M({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer},b);f.headers=function(b){var c=a.headers,d=M({},b.headers),f,g,h,c=M({},c.common,c[F(b.method)]);a:for(f in c){g=F(f);for(h in d)if(F(h)===g)continue a;d[f]=c[f]}return e(d,ha(b))}(b);f.method=rb(f.method);f.paramSerializer=H(f.paramSerializer)?m.get(f.paramSerializer):f.paramSerializer;var g=[function(b){var d=b.headers, +e=ed(b.data,dd(d),v,b.transformRequest);r(e)&&p(d,function(a,b){"content-type"===F(b)&&delete d[b]});r(b.withCredentials)&&!r(a.withCredentials)&&(b.withCredentials=a.withCredentials);return n(b,e).then(c,c)},v],h=k.when(f);for(p(u,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError);(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){b=g.shift();var l=g.shift(),h=h.then(b,l)}d?(h.success=function(a){Ra(a,"fn");h.then(function(b){a(b.data,b.status, +b.headers,f)});return h},h.error=function(a){Ra(a,"fn");h.then(null,function(b){a(b.data,b.status,b.headers,f)});return h}):(h.success=fd("success"),h.error=fd("error"));return h}function n(c,d){function g(a,c,d,e){function f(){m(c,a,d,e)}C&&(200<=a&&300>a?C.put(P,[a,c,cd(d),e]):C.remove(P));b?h.$applyAsync(f):(f(),h.$$phase||h.$apply())}function m(a,b,d,e){b=-1<=b?b:0;(200<=b&&300>b?p.resolve:p.reject)({data:a,status:b,headers:dd(d),config:c,statusText:e})}function n(a){m(a.data,a.status,ha(a.headers()), +a.statusText)}function u(){var a=l.pendingRequests.indexOf(c);-1!==a&&l.pendingRequests.splice(a,1)}var p=k.defer(),B=p.promise,C,J,X=c.headers,P=G(c.url,c.paramSerializer(c.params));l.pendingRequests.push(c);B.then(u,u);!c.cache&&!a.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(C=I(c.cache)?c.cache:I(a.cache)?a.cache:A);C&&(J=C.get(P),x(J)?J&&E(J.then)?J.then(n,n):K(J)?m(J[1],J[0],ha(J[2]),J[3]):m(J,200,{},"OK"):C.put(P,B));r(J)&&((J=gd(c.url)?f()[c.xsrfCookieName||a.xsrfCookieName]: +v)&&(X[c.xsrfHeaderName||a.xsrfHeaderName]=J),e(c.method,P,d,g,X,c.timeout,c.withCredentials,c.responseType));return B}function G(a,b){0=k&&(q.resolve(u),A(w.$$intervalId),delete f[w.$$intervalId]);S||a.$apply()}, +h);f[w.$$intervalId]=q;return w}var f={};e.cancel=function(a){return a&&a.$$intervalId in f?(f[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete f[a.$$intervalId],!0):!1};return e}]}function bc(a){a=a.split("/");for(var b=a.length;b--;)a[b]=nb(a[b]);return a.join("/")}function hd(a,b){var d=wa(a);b.$$protocol=d.protocol;b.$$host=d.hostname;b.$$port=ea(d.port)||bg[d.protocol]||null}function id(a,b){var d="/"!==a.charAt(0);d&&(a="/"+a);var c=wa(a);b.$$path=decodeURIComponent(d&& +"/"===c.pathname.charAt(0)?c.pathname.substring(1):c.pathname);b.$$search=xc(c.search);b.$$hash=decodeURIComponent(c.hash);b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function ra(a,b){if(0===b.indexOf(a))return b.substr(a.length)}function Fa(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function hb(a){return a.replace(/(#.+)|#$/,"$1")}function cc(a,b,d){this.$$html5=!0;d=d||"";hd(a,this);this.$$parse=function(a){var d=ra(b,a);if(!H(d))throw Cb("ipthprfx",a,b);id(d,this);this.$$path|| +(this.$$path="/");this.$$compose()};this.$$compose=function(){var a=Qb(this.$$search),d=this.$$hash?"#"+nb(this.$$hash):"";this.$$url=bc(this.$$path)+(a?"?"+a:"")+d;this.$$absUrl=b+this.$$url.substr(1)};this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;x(f=ra(a,c))?(g=f,g=x(f=ra(d,f))?b+(ra("/",f)||f):a+g):x(f=ra(b,c))?g=b+f:b==c+"/"&&(g=b);g&&this.$$parse(g);return!!g}}function dc(a,b,d){hd(a,this);this.$$parse=function(c){var e=ra(a,c)||ra(b,c),f;r(e)||"#"!== +e.charAt(0)?this.$$html5?f=e:(f="",r(e)&&(a=c,this.replace())):(f=ra(d,e),r(f)&&(f=e));id(f,this);c=this.$$path;var e=a,g=/^\/[A-Z]:(\/.*)/;0===f.indexOf(e)&&(f=f.replace(e,""));g.exec(f)||(c=(f=g.exec(c))?f[1]:c);this.$$path=c;this.$$compose()};this.$$compose=function(){var b=Qb(this.$$search),e=this.$$hash?"#"+nb(this.$$hash):"";this.$$url=bc(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=a+(this.$$url?d+this.$$url:"")};this.$$parseLinkUrl=function(b,d){return Fa(a)==Fa(b)?(this.$$parse(b),!0):!1}}function jd(a, +b,d){this.$$html5=!0;dc.apply(this,arguments);this.$$parseLinkUrl=function(c,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;a==Fa(c)?f=c:(g=ra(b,c))?f=a+d+g:b===c+"/"&&(f=b);f&&this.$$parse(f);return!!f};this.$$compose=function(){var b=Qb(this.$$search),e=this.$$hash?"#"+nb(this.$$hash):"";this.$$url=bc(this.$$path)+(b?"?"+b:"")+e;this.$$absUrl=a+d+this.$$url}}function Db(a){return function(){return this[a]}}function kd(a,b){return function(d){if(r(d))return this[a];this[a]=b(d);this.$$compose(); +return this}}function pf(){var a="",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return x(b)?(a=b,this):a};this.html5Mode=function(a){return Ma(a)?(b.enabled=a,this):I(a)?(Ma(a.enabled)&&(b.enabled=a.enabled),Ma(a.requireBase)&&(b.requireBase=a.requireBase),Ma(a.rewriteLinks)&&(b.rewriteLinks=a.rewriteLinks),this):b};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(d,c,e,f,g){function h(a,b,d){var e=m.url(),f=m.$$state;try{c.url(a,b,d),m.$$state= +c.state()}catch(g){throw m.url(e),m.$$state=f,g;}}function k(a,b){d.$broadcast("$locationChangeSuccess",m.absUrl(),a,m.$$state,b)}var m,l;l=c.baseHref();var n=c.url(),G;if(b.enabled){if(!l&&b.requireBase)throw Cb("nobase");G=n.substring(0,n.indexOf("/",n.indexOf("//")+2))+(l||"/");l=e.history?cc:jd}else G=Fa(n),l=dc;var A=G.substr(0,Fa(G).lastIndexOf("/")+1);m=new l(G,A,"#"+a);m.$$parseLinkUrl(n,n);m.$$state=c.state();var u=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(b.rewriteLinks&&!a.ctrlKey&& +!a.metaKey&&!a.shiftKey&&2!=a.which&&2!=a.button){for(var e=z(a.target);"a"!==pa(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),k=e.attr("href")||e.attr("xlink:href");I(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=wa(h.animVal).href);u.test(h)||!h||e.attr("target")||a.isDefaultPrevented()||!m.$$parseLinkUrl(h,k)||(a.preventDefault(),m.absUrl()!=c.url()&&(d.$apply(),g.angular["ff-684208-preventDefault"]=!0))}});hb(m.absUrl())!=hb(n)&&c.url(m.absUrl(),!0);var S=!0;c.onUrlChange(function(a, +b){r(ra(A,a))?g.location.href=a:(d.$evalAsync(function(){var c=m.absUrl(),e=m.$$state,f;a=hb(a);m.$$parse(a);m.$$state=b;f=d.$broadcast("$locationChangeStart",a,c,b,e).defaultPrevented;m.absUrl()===a&&(f?(m.$$parse(c),m.$$state=e,h(c,!1,e)):(S=!1,k(c,e)))}),d.$$phase||d.$digest())});d.$watch(function(){var a=hb(c.url()),b=hb(m.absUrl()),f=c.state(),g=m.$$replace,l=a!==b||m.$$html5&&e.history&&f!==m.$$state;if(S||l)S=!1,d.$evalAsync(function(){var b=m.absUrl(),c=d.$broadcast("$locationChangeStart", +b,a,m.$$state,f).defaultPrevented;m.absUrl()===b&&(c?(m.$$parse(a),m.$$state=f):(l&&h(b,g,f===m.$$state?null:m.$$state),k(a,f)))});m.$$replace=!1});return m}]}function qf(){var a=!0,b=this;this.debugEnabled=function(b){return x(b)?(a=b,this):a};this.$get=["$window",function(d){function c(a){a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line));return a}function e(a){var b=d.console|| +{},e=b[a]||b.log||y;a=!1;try{a=!!e.apply}catch(k){}return a?function(){var a=[];p(arguments,function(b){a.push(c(b))});return e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Wa(a,b){if("__defineGetter__"===a||"__defineSetter__"===a||"__lookupGetter__"===a||"__lookupSetter__"===a||"__proto__"===a)throw ba("isecfld",b);return a}function ld(a,b){a+= +"";if(!H(a))throw ba("iseccst",b);return a}function xa(a,b){if(a){if(a.constructor===a)throw ba("isecfn",b);if(a.window===a)throw ba("isecwindow",b);if(a.children&&(a.nodeName||a.prop&&a.attr&&a.find))throw ba("isecdom",b);if(a===Object)throw ba("isecobj",b);}return a}function md(a,b){if(a){if(a.constructor===a)throw ba("isecfn",b);if(a===cg||a===dg||a===eg)throw ba("isecff",b);}}function Eb(a,b){if(a&&(a===(0).constructor||a===(!1).constructor||a==="".constructor||a==={}.constructor||a===[].constructor|| +a===Function.constructor))throw ba("isecaf",b);}function fg(a,b){return"undefined"!==typeof a?a:b}function nd(a,b){return"undefined"===typeof a?b:"undefined"===typeof b?a:a+b}function Y(a,b){var d,c;switch(a.type){case s.Program:d=!0;p(a.body,function(a){Y(a.expression,b);d=d&&a.expression.constant});a.constant=d;break;case s.Literal:a.constant=!0;a.toWatch=[];break;case s.UnaryExpression:Y(a.argument,b);a.constant=a.argument.constant;a.toWatch=a.argument.toWatch;break;case s.BinaryExpression:Y(a.left, +b);Y(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case s.LogicalExpression:Y(a.left,b);Y(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=a.constant?[]:[a];break;case s.ConditionalExpression:Y(a.test,b);Y(a.alternate,b);Y(a.consequent,b);a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant;a.toWatch=a.constant?[]:[a];break;case s.Identifier:a.constant=!1;a.toWatch=[a];break;case s.MemberExpression:Y(a.object, +b);a.computed&&Y(a.property,b);a.constant=a.object.constant&&(!a.computed||a.property.constant);a.toWatch=[a];break;case s.CallExpression:d=a.filter?!b(a.callee.name).$stateful:!1;c=[];p(a.arguments,function(a){Y(a,b);d=d&&a.constant;a.constant||c.push.apply(c,a.toWatch)});a.constant=d;a.toWatch=a.filter&&!b(a.callee.name).$stateful?c:[a];break;case s.AssignmentExpression:Y(a.left,b);Y(a.right,b);a.constant=a.left.constant&&a.right.constant;a.toWatch=[a];break;case s.ArrayExpression:d=!0;c=[];p(a.elements, +function(a){Y(a,b);d=d&&a.constant;a.constant||c.push.apply(c,a.toWatch)});a.constant=d;a.toWatch=c;break;case s.ObjectExpression:d=!0;c=[];p(a.properties,function(a){Y(a.value,b);d=d&&a.value.constant;a.value.constant||c.push.apply(c,a.value.toWatch)});a.constant=d;a.toWatch=c;break;case s.ThisExpression:a.constant=!1,a.toWatch=[]}}function od(a){if(1==a.length){a=a[0].expression;var b=a.toWatch;return 1!==b.length?b:b[0]!==a?b:v}}function pd(a){return a.type===s.Identifier||a.type===s.MemberExpression} +function qd(a){if(1===a.body.length&&pd(a.body[0].expression))return{type:s.AssignmentExpression,left:a.body[0].expression,right:{type:s.NGValueParameter},operator:"="}}function rd(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===s.Literal||a.body[0].expression.type===s.ArrayExpression||a.body[0].expression.type===s.ObjectExpression)}function sd(a,b){this.astBuilder=a;this.$filter=b}function td(a,b){this.astBuilder=a;this.$filter=b}function Fb(a){return"constructor"==a} +function ec(a){return E(a.valueOf)?a.valueOf():gg.call(a)}function rf(){var a=aa(),b=aa();this.$get=["$filter",function(d){function c(c,f,n){var t,p,D;n=n||u;switch(typeof c){case "string":D=c=c.trim();var r=n?b:a;t=r[D];if(!t){":"===c.charAt(0)&&":"===c.charAt(1)&&(p=!0,c=c.substring(2));t=n?A:G;var B=new fc(t);t=(new gc(B,d,t)).parse(c);t.constant?t.$$watchDelegate=m:p?t.$$watchDelegate=t.literal?k:h:t.inputs&&(t.$$watchDelegate=g);n&&(t=e(t));r[D]=t}return l(t,f);case "function":return l(c,f); +default:return l(y,f)}}function e(a){function b(c,d,e,f){var g=u;u=!0;try{return a(c,d,e,f)}finally{u=g}}if(!a)return a;b.$$watchDelegate=a.$$watchDelegate;b.assign=e(a.assign);b.constant=a.constant;b.literal=a.literal;for(var c=0;a.inputs&&c=this.promise.$$state.status&&d&&d.length&&a(function(){for(var a,e,f=0,g=d.length;fa)for(b in l++,f)sa.call(e,b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,g,k=1r&&(T= +4-r,u[T]||(u[T]=[]),u[T].push({msg:E(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:f,oldVal:h}));else if(a===c){A=!1;break a}}catch(y){g(y)}if(!(n=w.$$watchersCount&&w.$$childHead||w!==this&&w.$$nextSibling))for(;w!==this&&!(n=w.$$nextSibling);)w=w.$parent}while(w=n);if((A||N.length)&&!r--)throw t.$$phase=null,d("infdig",b,u);}while(A||N.length);for(t.$$phase=null;D.length;)try{D.shift()()}catch(z){g(z)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"); +this.$$destroyed=!0;this===t&&k.$$applicationDestroyed();A(this,-this.$$watchersCount);for(var b in this.$$listenerCount)u(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling);a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling);this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling);this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling);this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=y;this.$on= +this.$watch=this.$watchGroup=function(){return y};this.$$listeners={};this.$$nextSibling=null;l(this)}},$eval:function(a,b){return h(a)(this,b)},$evalAsync:function(a,b){t.$$phase||N.length||k.defer(function(){N.length&&t.$digest()});N.push({scope:this,expression:h(a),locals:b})},$$postDigest:function(a){D.push(a)},$apply:function(a){try{G("$apply");try{return this.$eval(a)}finally{t.$$phase=null}}catch(b){g(b)}finally{try{t.$digest()}catch(c){throw g(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)} +var c=this;a&&T.push(b);a=h(a);w()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,u(e,1,a))}},$emit:function(a,b){var c=[],d,e=this,f=!1,h={name:a,targetScope:e,stopPropagation:function(){f=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=bb([h],arguments,1),l,m;do{d= +e.$$listeners[a]||c;h.currentScope=e;l=0;for(m=d.length;lGa)throw ya("iequirks");var c=ha(la);c.isEnabled=function(){return a}; +c.trustAs=d.trustAs;c.getTrusted=d.getTrusted;c.valueOf=d.valueOf;a||(c.trustAs=c.getTrusted=function(a,b){return b},c.valueOf=Za);c.parseAs=function(a,d){var e=b(d);return e.literal&&e.constant?e:b(d,function(b){return c.getTrusted(a,b)})};var e=c.parseAs,f=c.getTrusted,g=c.trustAs;p(la,function(a,b){var d=F(b);c[eb("parse_as_"+d)]=function(b){return e(a,b)};c[eb("get_trusted_"+d)]=function(b){return f(a,b)};c[eb("trust_as_"+d)]=function(b){return g(a,b)}});return c}]}function xf(){this.$get=["$window", +"$document",function(a,b){var d={},c=ea((/android (\d+)/.exec(F((a.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((a.navigator||{}).userAgent),f=b[0]||{},g,h=/^(Moz|webkit|ms)(?=[A-Z])/,k=f.body&&f.body.style,m=!1,l=!1;if(k){for(var n in k)if(m=h.exec(n)){g=m[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in k&&"webkit");m=!!("transition"in k||g+"Transition"in k);l=!!("animation"in k||g+"Animation"in k);!c||m&&l||(m=H(k.webkitTransition),l=H(k.webkitAnimation))}return{history:!(!a.history|| +!a.history.pushState||4>c||e),hasEvent:function(a){if("input"===a&&11>=Ga)return!1;if(r(d[a])){var b=f.createElement("div");d[a]="on"+a in b}return d[a]},csp:Ba(),vendorPrefix:g,transitions:m,animations:l,android:c}}]}function zf(){this.$get=["$templateCache","$http","$q","$sce",function(a,b,d,c){function e(f,g){e.totalPendingRequests++;H(f)&&a.get(f)||(f=c.getTrustedResourceUrl(f));var h=b.defaults&&b.defaults.transformResponse;K(h)?h=h.filter(function(a){return a!==$b}):h===$b&&(h=null);return b.get(f, +{cache:a,transformResponse:h})["finally"](function(){e.totalPendingRequests--}).then(function(b){a.put(f,b.data);return b.data},function(a){if(!g)throw ga("tpload",f,a.status,a.statusText);return d.reject(a)})}e.totalPendingRequests=0;return e}]}function Af(){this.$get=["$rootScope","$browser","$location",function(a,b,d){return{findBindings:function(a,b,d){a=a.getElementsByClassName("ng-binding");var g=[];p(a,function(a){var c=fa.element(a).data("$binding");c&&p(c,function(c){d?(new RegExp("(^|\\s)"+ +vd(b)+"(\\s|\\||$)")).test(c)&&g.push(a):-1!=c.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,d){for(var g=["ng-","data-ng-","ng\\:"],h=0;hc&&(c=e),c+=+a.slice(e+1),a=a.substring(0,e)):0>c&&(c=a.length);for(e=0;a.charAt(e)==ic;e++);if(e==(g=a.length))d=[0],c=1;else{for(g--;a.charAt(g)==ic;)g--;c-=e;d=[];for(f=0;e<=g;e++,f++)d[f]=+a.charAt(e)}c>Fd&&(d=d.splice(0,Fd-1),b=c-1,c=1);return{d:d,e:b,i:c}}function pg(a,b,d,c){var e=a.d,f=e.length-a.i;b=r(b)?Math.min(Math.max(d,f),c):+b;d=b+a.i;c=e[d];if(0h;)k.unshift(0),h++;0b.lgSize&&h.unshift(k.splice(-b.lgSize).join(""));k.length>b.gSize;)h.unshift(k.splice(-b.gSize).join("")); +k.length&&h.unshift(k.join(""));k=h.join(d);f.length&&(k+=c+f.join(""));e&&(k+="e+"+e)}return 0>a&&!g?b.negPre+k+b.negSuf:b.posPre+k+b.posSuf}function Gb(a,b,d){var c="";0>a&&(c="-",a=-a);for(a=""+a;a.length-d)e+=d;0===e&&-12==d&&(e=12);return Gb(e,b,c)}}function Hb(a,b){return function(d,c){var e=d["get"+a](),f=rb(b?"SHORT"+a:a);return c[f][e]}}function Gd(a){var b=(new Date(a, +0,1)).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Hd(a){return function(b){var d=Gd(b.getFullYear());b=+new Date(b.getFullYear(),b.getMonth(),b.getDate()+(4-b.getDay()))-+d;b=1+Math.round(b/6048E5);return Gb(b,a)}}function jc(a,b){return 0>=a.getFullYear()?b.ERAS[0]:b.ERAS[1]}function Ad(a){function b(a){var b;if(b=a.match(d)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,k=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=ea(b[9]+b[10]),g=ea(b[9]+b[11]));h.call(a,ea(b[1]),ea(b[2])- +1,ea(b[3]));f=ea(b[4]||0)-f;g=ea(b[5]||0)-g;h=ea(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));k.call(a,f,g,h,b)}return a}var d=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,f){var g="",h=[],k,m;d=d||"mediumDate";d=a.DATETIME_FORMATS[d]||d;H(c)&&(c=qg.test(c)?ea(c):b(c));O(c)&&(c=new Date(c));if(!da(c)||!isFinite(c.getTime()))return c;for(;d;)(m=rg.exec(d))?(h=bb(h,m,1),d=h.pop()):(h.push(d),d=null);var l=c.getTimezoneOffset(); +f&&(l=vc(f,l),c=Pb(c,f,!0));p(h,function(b){k=sg[b];g+=k?k(c,a.DATETIME_FORMATS,l):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function jg(){return function(a,b){r(b)&&(b=2);return cb(a,b)}}function kg(){return function(a,b,d){b=Infinity===Math.abs(Number(b))?Number(b):ea(b);if(isNaN(b))return a;O(a)&&(a=a.toString());if(!K(a)&&!H(a))return a;d=!d||isNaN(d)?0:ea(d);d=0>d?Math.max(0,a.length+d):d;return 0<=b?a.slice(d,d+b):0===d?a.slice(b,a.length):a.slice(Math.max(0,d+b), +d)}}function Cd(a){function b(b,d){d=d?-1:1;return b.map(function(b){var c=1,h=Za;if(E(b))h=b;else if(H(b)){if("+"==b.charAt(0)||"-"==b.charAt(0))c="-"==b.charAt(0)?-1:1,b=b.substring(1);if(""!==b&&(h=a(b),h.constant))var k=h(),h=function(a){return a[k]}}return{get:h,descending:c*d}})}function d(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}return function(a,e,f){if(!za(a))return a;K(e)||(e=[e]);0===e.length&&(e=["+"]);var g=b(e,f);g.push({get:function(){return{}}, +descending:f?-1:1});a=Array.prototype.map.call(a,function(a,b){return{value:a,predicateValues:g.map(function(c){var e=c.get(a);c=typeof e;if(null===e)c="string",e="null";else if("string"===c)e=e.toLowerCase();else if("object"===c)a:{if("function"===typeof e.valueOf&&(e=e.valueOf(),d(e)))break a;if(qc(e)&&(e=e.toString(),d(e)))break a;e=b}return{value:e,type:c}})}});a.sort(function(a,b){for(var c=0,d=0,e=g.length;db||37<=b&&40>=b||l(a,this,this.value)});if(e.hasEvent("paste"))b.on("paste cut",l)}b.on("change",m);if(Kd[g]&&c.$$hasNativeValidators&&g===d.type)b.on("keydown wheel mousedown",function(a){if(!k){var b=this.validity,c=b.badInput,d=b.typeMismatch;k=f.defer(function(){k=null;b.badInput===c&&b.typeMismatch=== +d||m(a)})}});c.$render=function(){var a=c.$isEmpty(c.$viewValue)?"":c.$viewValue;b.val()!==a&&b.val(a)}}function Kb(a,b){return function(d,c){var e,f;if(da(d))return d;if(H(d)){'"'==d.charAt(0)&&'"'==d.charAt(d.length-1)&&(d=d.substring(1,d.length-1));if(tg.test(d))return new Date(d);a.lastIndex=0;if(e=a.exec(d))return e.shift(),f=c?{yyyy:c.getFullYear(),MM:c.getMonth()+1,dd:c.getDate(),HH:c.getHours(),mm:c.getMinutes(),ss:c.getSeconds(),sss:c.getMilliseconds()/1E3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0, +ss:0,sss:0},p(e,function(a,c){c=s};g.$observe("min",function(a){s=p(a);h.$validate()})}if(x(g.max)||g.ngMax){var q;h.$validators.max=function(a){return!n(a)||r(q)||d(a)<=q};g.$observe("max",function(a){q=p(a);h.$validate()})}}}function Ld(a,b,d,c){(c.$$hasNativeValidators=I(b[0].validity))&&c.$parsers.push(function(a){var c=b.prop("validity")||{}; +return c.badInput&&!c.typeMismatch?v:a})}function Md(a,b,d,c,e){if(x(c)){a=a(c);if(!a.constant)throw kb("constexpr",d,c);return a(b)}return e}function lc(a,b){a="ngClass"+a;return["$animate",function(d){function c(a,b){var c=[],d=0;a:for(;d(?:<\/\1>|)$/, +Tb=/<|&#?\w+;/,Jf=/<([\w:-]+)/,Kf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,ka={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ka.optgroup=ka.option;ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead;ka.th=ka.td;var Rf=Node.prototype.contains||function(a){return!!(this.compareDocumentPosition(a)& +16)},Qa=R.prototype={ready:function(a){function b(){d||(d=!0,a())}var d=!1;"complete"===W.readyState?setTimeout(b):(this.on("DOMContentLoaded",b),R(U).on("load",b))},toString:function(){var a=[];p(this,function(b){a.push(""+b)});return"["+a.join(", ")+"]"},eq:function(a){return 0<=a?z(this[a]):z(this[this.length+a])},length:0,push:vg,sort:[].sort,splice:[].splice},Bb={};p("multiple selected checked disabled readOnly required open".split(" "),function(a){Bb[F(a)]=a});var Sc={};p("input select option textarea button form details".split(" "), +function(a){Sc[a]=!0});var ad={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};p({data:Wb,removeData:ub,hasData:function(a){for(var b in fb[a.ng339])return!0;return!1}},function(a,b){R[b]=a});p({data:Wb,inheritedData:Ab,scope:function(a){return z.data(a,"$scope")||Ab(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return z.data(a,"$isolateScope")||z.data(a,"$isolateScopeNoTemplate")},controller:Pc,injector:function(a){return Ab(a, +"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:xb,css:function(a,b,d){b=eb(b);if(x(d))a.style[b]=d;else return a.style[b]},attr:function(a,b,d){var c=a.nodeType;if(c!==Oa&&2!==c&&8!==c)if(c=F(b),Bb[c])if(x(d))d?(a[b]=!0,a.setAttribute(b,c)):(a[b]=!1,a.removeAttribute(c));else return a[b]||(a.attributes.getNamedItem(b)||y).specified?c:v;else if(x(d))a.setAttribute(b,d);else if(a.getAttribute)return a=a.getAttribute(b,2),null===a?v:a},prop:function(a,b,d){if(x(d))a[b]=d;else return a[b]}, +text:function(){function a(a,d){if(r(d)){var c=a.nodeType;return 1===c||c===Oa?a.textContent:""}a.textContent=d}a.$dv="";return a}(),val:function(a,b){if(r(b)){if(a.multiple&&"select"===pa(a)){var d=[];p(a.options,function(a){a.selected&&d.push(a.value||a.text)});return 0===d.length?null:d}return a.value}a.value=b},html:function(a,b){if(r(b))return a.innerHTML;tb(a,!0);a.innerHTML=b},empty:Qc},function(a,b){R.prototype[b]=function(b,c){var e,f,g=this.length;if(a!==Qc&&r(2==a.length&&a!==xb&&a!==Pc? +b:c)){if(I(b)){for(e=0;e <= >= && || ! = |".split(" "),function(a){Lb[a]=!0});var Bg={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},fc=function(a){this.options= +a};fc.prototype={constructor:fc,lex:function(a){this.text=a;this.index=0;for(this.tokens=[];this.index=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===a||"\v"===a||"\u00a0"===a},isIdent:function(a){return"a"<= +a&&"z">=a||"A"<=a&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,d){d=d||this.index;b=x(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,d)+"]":" "+d;throw ba("lexerr",a,b,this.text);},readNumber:function(){for(var a="",b=this.index;this.index","<=",">=");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),b;b=this.expect("+","-");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),b;b=this.expect("*","/","%");)a={type:s.BinaryExpression,operator:b.text,left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+", +"-","!"))?{type:s.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=Na(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(", +"[",".");)"("===b.text?(a={type:s.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:s.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:s.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var b={type:s.CallExpression,callee:this.identifier(),arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return b}, +parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.expression());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:s.Identifier,name:a.text}},constant:function(){return{type:s.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text){do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","))}this.consume("]"); +return{type:s.ArrayExpression,elements:a}},object:function(){var a=[],b;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;b={type:s.Property,kind:"init"};this.peek().constant?b.key=this.constant():this.peek().identifier?b.key=this.identifier():this.throwError("invalid key",this.peek());this.consume(":");b.value=this.expression();a.push(b)}while(this.expect(","))}this.consume("}");return{type:s.ObjectExpression,properties:a}},throwError:function(a,b){throw ba("syntax",b.text,a,b.index+1,this.text, +this.text.substring(b.index));},consume:function(a){if(0===this.tokens.length)throw ba("ueoe",this.text);var b=this.expect(a);b||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return b},peekToken:function(){if(0===this.tokens.length)throw ba("ueoe",this.text);return this.tokens[0]},peek:function(a,b,d,c){return this.peekAhead(0,a,b,d,c)},peekAhead:function(a,b,d,c,e){if(this.tokens.length>a){a=this.tokens[a];var f=a.text;if(f===b||f===d||f===c||f===e||!(b||d||c||e))return a}return!1}, +expect:function(a,b,d,c){return(a=this.peek(a,b,d,c))?(this.tokens.shift(),a):!1},constants:{"true":{type:s.Literal,value:!0},"false":{type:s.Literal,value:!1},"null":{type:s.Literal,value:null},undefined:{type:s.Literal,value:v},"this":{type:s.ThisExpression}}};sd.prototype={compile:function(a,b){var d=this,c=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:b,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]};Y(c,d.$filter);var e="",f;this.stage="assign"; +if(f=qd(c))this.state.computing="assign",e=this.nextId(),this.recurse(f,e),this.return_(e),e="fn.assign="+this.generateFunction("assign","s,v,l");f=od(c.body);d.stage="inputs";p(f,function(a,b){var c="fn"+b;d.state[c]={vars:[],body:[],own:{}};d.state.computing=c;var e=d.nextId();d.recurse(a,e);d.return_(e);d.state.inputs.push(c);a.watchId=b});this.state.computing="fn";this.stage="main";this.recurse(c);e='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+ +e+this.watchFns()+"return fn;";e=(new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",e))(this.$filter,Wa,xa,md,ld,Eb,fg,nd,a);this.state=this.stage=v;e.literal=rd(c);e.constant=c.constant;return e},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,d=this;p(b,function(b){a.push("var "+b+"="+d.generateFunction(b,"s"))});b.length&&a.push("fn.inputs=["+b.join(",")+"];");return a.join("")}, +generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;p(this.state.filters,function(d,c){a.push(d+"=$filter("+b.escape(c)+")")});return a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,c,e,f){var g,h,k=this,m,l;c=c||y;if(!f&&x(a.watchId))b=b||this.nextId(),this.if_("i", +this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,c,e,!0));else switch(a.type){case s.Program:p(a.body,function(b,c){k.recurse(b.expression,v,v,function(a){h=a});c!==a.body.length-1?k.current().body.push(h,";"):k.return_(h)});break;case s.Literal:l=this.escape(a.value);this.assign(b,l);c(l);break;case s.UnaryExpression:this.recurse(a.argument,v,v,function(a){h=a});l=a.operator+"("+this.ifDefined(h,0)+")";this.assign(b,l);c(l);break;case s.BinaryExpression:this.recurse(a.left, +v,v,function(a){g=a});this.recurse(a.right,v,v,function(a){h=a});l="+"===a.operator?this.plus(g,h):"-"===a.operator?this.ifDefined(g,0)+a.operator+this.ifDefined(h,0):"("+g+")"+a.operator+"("+h+")";this.assign(b,l);c(l);break;case s.LogicalExpression:b=b||this.nextId();k.recurse(a.left,b);k.if_("&&"===a.operator?b:k.not(b),k.lazyRecurse(a.right,b));c(b);break;case s.ConditionalExpression:b=b||this.nextId();k.recurse(a.test,b);k.if_(b,k.lazyRecurse(a.alternate,b),k.lazyRecurse(a.consequent,b));c(b); +break;case s.Identifier:b=b||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);Wa(a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){e&&1!==e&&k.if_(k.not(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(b,k.nonComputedMember("s",a.name))})},b&&k.lazyAssign(b,k.nonComputedMember("l", +a.name)));(k.state.expensiveChecks||Fb(a.name))&&k.addEnsureSafeObject(b);c(b);break;case s.MemberExpression:g=d&&(d.context=this.nextId())||this.nextId();b=b||this.nextId();k.recurse(a.object,g,v,function(){k.if_(k.notNull(g),function(){e&&1!==e&&k.addEnsureSafeAssignContext(g);if(a.computed)h=k.nextId(),k.recurse(a.property,h),k.getStringValue(h),k.addEnsureSafeMemberName(h),e&&1!==e&&k.if_(k.not(k.computedMember(g,h)),k.lazyAssign(k.computedMember(g,h),"{}")),l=k.ensureSafeObject(k.computedMember(g, +h)),k.assign(b,l),d&&(d.computed=!0,d.name=h);else{Wa(a.property.name);e&&1!==e&&k.if_(k.not(k.nonComputedMember(g,a.property.name)),k.lazyAssign(k.nonComputedMember(g,a.property.name),"{}"));l=k.nonComputedMember(g,a.property.name);if(k.state.expensiveChecks||Fb(a.property.name))l=k.ensureSafeObject(l);k.assign(b,l);d&&(d.computed=!1,d.name=a.property.name)}},function(){k.assign(b,"undefined")});c(b)},!!e);break;case s.CallExpression:b=b||this.nextId();a.filter?(h=k.filter(a.callee.name),m=[],p(a.arguments, +function(a){var b=k.nextId();k.recurse(a,b);m.push(b)}),l=h+"("+m.join(",")+")",k.assign(b,l),c(b)):(h=k.nextId(),g={},m=[],k.recurse(a.callee,h,g,function(){k.if_(k.notNull(h),function(){k.addEnsureSafeFunction(h);p(a.arguments,function(a){k.recurse(a,k.nextId(),v,function(a){m.push(k.ensureSafeObject(a))})});g.name?(k.state.expensiveChecks||k.addEnsureSafeObject(g.context),l=k.member(g.context,g.name,g.computed)+"("+m.join(",")+")"):l=h+"("+m.join(",")+")";l=k.ensureSafeObject(l);k.assign(b,l)}, +function(){k.assign(b,"undefined")});c(b)}));break;case s.AssignmentExpression:h=this.nextId();g={};if(!pd(a.left))throw ba("lval");this.recurse(a.left,v,g,function(){k.if_(k.notNull(g.context),function(){k.recurse(a.right,h);k.addEnsureSafeObject(k.member(g.context,g.name,g.computed));k.addEnsureSafeAssignContext(g.context);l=k.member(g.context,g.name,g.computed)+a.operator+h;k.assign(b,l);c(b||l)})},1);break;case s.ArrayExpression:m=[];p(a.elements,function(a){k.recurse(a,k.nextId(),v,function(a){m.push(a)})}); +l="["+m.join(",")+"]";this.assign(b,l);c(l);break;case s.ObjectExpression:m=[];p(a.properties,function(a){k.recurse(a.value,k.nextId(),v,function(b){m.push(k.escape(a.key.type===s.Identifier?a.key.name:""+a.key.value)+":"+b)})});l="{"+m.join(",")+"}";this.assign(b,l);c(l);break;case s.ThisExpression:this.assign(b,"s");c("s");break;case s.NGValueParameter:this.assign(b,"v"),c("v")}},getHasOwnProperty:function(a,b){var d=a+"."+b,c=this.current().own;c.hasOwnProperty(d)||(c[d]=this.nextId(!1,a+"&&("+ +this.escape(b)+" in "+a+")"));return c[d]},assign:function(a,b){if(a)return this.current().body.push(a,"=",b,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,d){if(!0===a)b();else{var c=this.current().body;c.push("if(",a, +"){");b();c.push("}");d&&(c.push("else{"),d(),c.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){return a+"."+b},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,d){return d?this.computedMember(a,b):this.nonComputedMember(a,b)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")}, +addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+",text)")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+ +a+",text)"},lazyRecurse:function(a,b,d,c,e,f){var g=this;return function(){g.recurse(a,b,d,c,e,f)}},lazyAssign:function(a,b){var d=this;return function(){d.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(H(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(O(a))return a.toString();if(!0===a)return"true";if(!1===a)return"false";if(null===a)return"null";if("undefined"=== +typeof a)return"undefined";throw ba("esc");},nextId:function(a,b){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(b?"="+b:""));return d},current:function(){return this.state[this.state.computing]}};td.prototype={compile:function(a,b){var d=this,c=this.astBuilder.ast(a);this.expression=a;this.expensiveChecks=b;Y(c,d.$filter);var e,f;if(e=qd(c))f=this.recurse(e);e=od(c.body);var g;e&&(g=[],p(e,function(a,b){var c=d.recurse(a);a.input=c;g.push(c);a.watchId=b}));var h=[];p(c.body,function(a){h.push(d.recurse(a.expression))}); +e=0===c.body.length?function(){}:1===c.body.length?h[0]:function(a,b){var c;p(h,function(d){c=d(a,b)});return c};f&&(e.assign=function(a,b,c){return f(a,c,b)});g&&(e.inputs=g);e.literal=rd(c);e.constant=c.constant;return e},recurse:function(a,b,d){var c,e,f=this,g;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case s.Literal:return this.value(a.value,b);case s.UnaryExpression:return e=this.recurse(a.argument),this["unary"+a.operator](e,b);case s.BinaryExpression:return c=this.recurse(a.left), +e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case s.LogicalExpression:return c=this.recurse(a.left),e=this.recurse(a.right),this["binary"+a.operator](c,e,b);case s.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case s.Identifier:return Wa(a.name,f.expression),f.identifier(a.name,f.expensiveChecks||Fb(a.name),b,d,f.expression);case s.MemberExpression:return c=this.recurse(a.object,!1,!!d),a.computed||(Wa(a.property.name, +f.expression),e=a.property.name),a.computed&&(e=this.recurse(a.property)),a.computed?this.computedMember(c,e,b,d,f.expression):this.nonComputedMember(c,e,f.expensiveChecks,b,d,f.expression);case s.CallExpression:return g=[],p(a.arguments,function(a){g.push(f.recurse(a))}),a.filter&&(e=this.$filter(a.callee.name)),a.filter||(e=this.recurse(a.callee,!0)),a.filter?function(a,c,d,f){for(var n=[],p=0;p":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)>b(c,e,f,g);return d?{value:c}:c}},"binary<=":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)<=b(c,e,f,g);return d?{value:c}:c}},"binary>=":function(a,b,d){return function(c, +e,f,g){c=a(c,e,f,g)>=b(c,e,f,g);return d?{value:c}:c}},"binary&&":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)&&b(c,e,f,g);return d?{value:c}:c}},"binary||":function(a,b,d){return function(c,e,f,g){c=a(c,e,f,g)||b(c,e,f,g);return d?{value:c}:c}},"ternary?:":function(a,b,d,c){return function(e,f,g,h){e=a(e,f,g,h)?b(e,f,g,h):d(e,f,g,h);return c?{value:e}:e}},value:function(a,b){return function(){return b?{context:v,name:v,value:a}:a}},identifier:function(a,b,d,c,e){return function(f,g,h,k){f= +g&&a in g?g:f;c&&1!==c&&f&&!f[a]&&(f[a]={});g=f?f[a]:v;b&&xa(g,e);return d?{context:f,name:a,value:g}:g}},computedMember:function(a,b,d,c,e){return function(f,g,h,k){var m=a(f,g,h,k),l,n;null!=m&&(l=b(f,g,h,k),l=ld(l),Wa(l,e),c&&1!==c&&(Eb(m),m&&!m[l]&&(m[l]={})),n=m[l],xa(n,e));return d?{context:m,name:l,value:n}:n}},nonComputedMember:function(a,b,d,c,e,f){return function(g,h,k,m){g=a(g,h,k,m);e&&1!==e&&(Eb(g),g&&!g[b]&&(g[b]={}));h=null!=g?g[b]:v;(d||Fb(b))&&xa(h,f);return c?{context:g,name:b,value:h}: +h}},inputs:function(a,b){return function(d,c,e,f){return f?f[b]:a(d,c,e)}}};var gc=function(a,b,d){this.lexer=a;this.$filter=b;this.options=d;this.ast=new s(this.lexer);this.astCompiler=d.csp?new td(this.ast,b):new sd(this.ast,b)};gc.prototype={constructor:gc,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};var gg=Object.prototype.valueOf,ya=L("$sce"),la={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},ga=L("$compile"),Z=W.createElement("a"), +xd=wa(U.location.href);yd.$inject=["$document"];Jc.$inject=["$provide"];var Fd=22,Ed=".",ic="0";zd.$inject=["$locale"];Bd.$inject=["$locale"];var sg={yyyy:ca("FullYear",4),yy:ca("FullYear",2,0,!0),y:ca("FullYear",1),MMMM:Hb("Month"),MMM:Hb("Month",!0),MM:ca("Month",2,1),M:ca("Month",1,1),dd:ca("Date",2),d:ca("Date",1),HH:ca("Hours",2),H:ca("Hours",1),hh:ca("Hours",2,-12),h:ca("Hours",1,-12),mm:ca("Minutes",2),m:ca("Minutes",1),ss:ca("Seconds",2),s:ca("Seconds",1),sss:ca("Milliseconds",3),EEEE:Hb("Day"), +EEE:Hb("Day",!0),a:function(a,b){return 12>a.getHours()?b.AMPMS[0]:b.AMPMS[1]},Z:function(a,b,d){a=-1*d;return a=(0<=a?"+":"")+(Gb(Math[0=a.getFullYear()?b.ERANAMES[0]:b.ERANAMES[1]}},rg=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,qg=/^\-?\d+$/;Ad.$inject=["$locale"];var lg=na(F),mg=na(rb);Cd.$inject=["$parse"];var me=na({restrict:"E",compile:function(a, +b){if(!b.href&&!b.xlinkHref)return function(a,b){if("a"===b[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===oa.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(e)||a.preventDefault()})}}}}),sb={};p(Bb,function(a,b){function d(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}if("multiple"!=a){var c=va("ng-"+b),e=d;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[c]&&d(a,b,e)});sb[c]=function(){return{restrict:"A",priority:100,link:e}}}});p(ad,function(a,b){sb[b]= +function(){return{priority:100,link:function(a,c,e){if("ngPattern"===b&&"/"==e.ngPattern.charAt(0)&&(c=e.ngPattern.match(ug))){e.$set("ngPattern",new RegExp(c[1],c[2]));return}a.$watch(e[b],function(a){e.$set(b,a)})}}}});p(["src","srcset","href"],function(a){var b=va("ng-"+a);sb[b]=function(){return{priority:99,link:function(d,c,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===oa.call(c.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null);e.$observe(b,function(b){b?(e.$set(g,b), +Ga&&f&&c.prop(f,e[g])):"href"===a&&e.$set(g,null)})}}}});var Ib={$addControl:y,$$renameControl:function(a,b){a.$name=b},$removeControl:y,$setValidity:y,$setDirty:y,$setPristine:y,$setSubmitted:y};Id.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Rd=function(a){return["$timeout","$parse",function(b,d){function c(a){return""===a?d('this[""]').assign:d(a).assign||y}return{name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:Id,compile:function(d,f){d.addClass(Xa).addClass(lb); +var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,e,f){var n=f[0];if(!("action"in e)){var p=function(b){a.$apply(function(){n.$commitViewValue();n.$setSubmitted()});b.preventDefault()};d[0].addEventListener("submit",p,!1);d.on("$destroy",function(){b(function(){d[0].removeEventListener("submit",p,!1)},0,!1)})}(f[1]||n.$$parentForm).$addControl(n);var r=g?c(n.$name):y;g&&(r(a,n),e.$observe(g,function(b){n.$name!==b&&(r(a,v),n.$$parentForm.$$renameControl(n,b),r=c(n.$name),r(a,n))})); +d.on("$destroy",function(){n.$$parentForm.$removeControl(n);r(a,v);M(n,Ib)})}}}}}]},ne=Rd(),Ae=Rd(!0),tg=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,Cg=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Dg=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Eg=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Sd=/^(\d{4})-(\d{2})-(\d{2})$/,Td=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, +mc=/^(\d{4})-W(\d\d)$/,Ud=/^(\d{4})-(\d\d)$/,Vd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Kd=aa();p(["date","datetime-local","month","time","week"],function(a){Kd[a]=!0});var Wd={text:function(a,b,d,c,e,f){ib(a,b,d,c,e,f);kc(c)},date:jb("date",Sd,Kb(Sd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":jb("datetimelocal",Td,Kb(Td,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:jb("time",Vd,Kb(Vd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:jb("week",mc,function(a,b){if(da(a))return a; +if(H(a)){mc.lastIndex=0;var d=mc.exec(a);if(d){var c=+d[1],e=+d[2],f=d=0,g=0,h=0,k=Gd(c),e=7*(e-1);b&&(d=b.getHours(),f=b.getMinutes(),g=b.getSeconds(),h=b.getMilliseconds());return new Date(c,0,k.getDate()+e,d,f,g,h)}}return NaN},"yyyy-Www"),month:jb("month",Ud,Kb(Ud,["yyyy","MM"]),"yyyy-MM"),number:function(a,b,d,c,e,f){Ld(a,b,d,c);ib(a,b,d,c,e,f);c.$$parserName="number";c.$parsers.push(function(a){return c.$isEmpty(a)?null:Eg.test(a)?parseFloat(a):v});c.$formatters.push(function(a){if(!c.$isEmpty(a)){if(!O(a))throw kb("numfmt", +a);a=a.toString()}return a});if(x(d.min)||d.ngMin){var g;c.$validators.min=function(a){return c.$isEmpty(a)||r(g)||a>=g};d.$observe("min",function(a){x(a)&&!O(a)&&(a=parseFloat(a,10));g=O(a)&&!isNaN(a)?a:v;c.$validate()})}if(x(d.max)||d.ngMax){var h;c.$validators.max=function(a){return c.$isEmpty(a)||r(h)||a<=h};d.$observe("max",function(a){x(a)&&!O(a)&&(a=parseFloat(a,10));h=O(a)&&!isNaN(a)?a:v;c.$validate()})}},url:function(a,b,d,c,e,f){ib(a,b,d,c,e,f);kc(c);c.$$parserName="url";c.$validators.url= +function(a,b){var d=a||b;return c.$isEmpty(d)||Cg.test(d)}},email:function(a,b,d,c,e,f){ib(a,b,d,c,e,f);kc(c);c.$$parserName="email";c.$validators.email=function(a,b){var d=a||b;return c.$isEmpty(d)||Dg.test(d)}},radio:function(a,b,d,c){r(d.name)&&b.attr("name",++mb);b.on("click",function(a){b[0].checked&&c.$setViewValue(d.value,a&&a.type)});c.$render=function(){b[0].checked=d.value==c.$viewValue};d.$observe("value",c.$render)},checkbox:function(a,b,d,c,e,f,g,h){var k=Md(h,a,"ngTrueValue",d.ngTrueValue, +!0),m=Md(h,a,"ngFalseValue",d.ngFalseValue,!1);b.on("click",function(a){c.$setViewValue(b[0].checked,a&&a.type)});c.$render=function(){b[0].checked=c.$viewValue};c.$isEmpty=function(a){return!1===a};c.$formatters.push(function(a){return ma(a,k)});c.$parsers.push(function(a){return a?k:m})},hidden:y,button:y,submit:y,reset:y,file:y},Dc=["$browser","$sniffer","$filter","$parse",function(a,b,d,c){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(Wd[F(g.type)]||Wd.text)(e,f, +g,h[0],b,a,d,c)}}}}],Fg=/^(true|false|\d+)$/,Se=function(){return{restrict:"A",priority:100,compile:function(a,b){return Fg.test(b.ngValue)?function(a,b,e){e.$set("value",a.$eval(e.ngValue))}:function(a,b,e){a.$watch(e.ngValue,function(a){e.$set("value",a)})}}}},se=["$compile",function(a){return{restrict:"AC",compile:function(b){a.$$addBindingClass(b);return function(b,c,e){a.$$addBindingInfo(c,e.ngBind);c=c[0];b.$watch(e.ngBind,function(a){c.textContent=r(a)?"":a})}}}}],ue=["$interpolate","$compile", +function(a,b){return{compile:function(d){b.$$addBindingClass(d);return function(c,d,f){c=a(d.attr(f.$attr.ngBindTemplate));b.$$addBindingInfo(d,c.expressions);d=d[0];f.$observe("ngBindTemplate",function(a){d.textContent=r(a)?"":a})}}}}],te=["$sce","$parse","$compile",function(a,b,d){return{restrict:"A",compile:function(c,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(c);return function(b,c,e){d.$$addBindingInfo(c,e.ngBindHtml);b.$watch(g,function(){c.html(a.getTrustedHtml(f(b))|| +"")})}}}}],Re=na({restrict:"A",require:"ngModel",link:function(a,b,d,c){c.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),ve=lc("",!0),xe=lc("Odd",0),we=lc("Even",1),ye=Ka({compile:function(a,b){b.$set("ngCloak",v);a.removeClass("ng-cloak")}}),ze=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Ic={},Gg={blur:!0,focus:!0};p("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), +function(a){var b=va("ng-"+a);Ic[b]=["$parse","$rootScope",function(d,c){return{restrict:"A",compile:function(e,f){var g=d(f[b],null,!0);return function(b,d){d.on(a,function(d){var e=function(){g(b,{$event:d})};Gg[a]&&c.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var Ce=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(b,d,c,e,f){var g,h,k;b.$watch(c.ngIf,function(b){b?h||f(function(b,e){h=e;b[b.length++]=W.createComment(" end ngIf: "+ +c.ngIf+" ");g={clone:b};a.enter(b,d.parent(),d)}):(k&&(k.remove(),k=null),h&&(h.$destroy(),h=null),g&&(k=qb(g.clone),a.leave(k).then(function(){k=null}),g=null))})}}}],De=["$templateRequest","$anchorScroll","$animate",function(a,b,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:fa.noop,compile:function(c,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(c,e,l,n,p){var r=0,u,s,q,w=function(){s&&(s.remove(),s=null);u&&(u.$destroy(),u=null);q&& +(d.leave(q).then(function(){s=null}),s=q,q=null)};c.$watch(f,function(f){var l=function(){!x(h)||h&&!c.$eval(h)||b()},D=++r;f?(a(f,!0).then(function(a){if(!c.$$destroyed&&D===r){var b=c.$new();n.template=a;a=p(b,function(a){w();d.enter(a,null,e).then(l)});u=b;q=a;u.$emit("$includeContentLoaded",f);c.$eval(g)}},function(){c.$$destroyed||D!==r||(w(),c.$emit("$includeContentError",f))}),c.$emit("$includeContentRequested",f)):(w(),n.template=null)})}}}}],Ue=["$compile",function(a){return{restrict:"ECA", +priority:-400,require:"ngInclude",link:function(b,d,c,e){/SVG/.test(d[0].toString())?(d.empty(),a(Lc(e.template,W).childNodes)(b,function(a){d.append(a)},{futureParentElement:d})):(d.html(e.template),a(d.contents())(b))}}}],Ee=Ka({priority:450,compile:function(){return{pre:function(a,b,d){a.$eval(d.ngInit)}}}}),Qe=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,c){var e=b.attr(d.$attr.ngList)||", ",f="false"!==d.ngTrim,g=f?V(e):e;c.$parsers.push(function(a){if(!r(a)){var b= +[];a&&p(a.split(g),function(a){a&&b.push(f?V(a):a)});return b}});c.$formatters.push(function(a){return K(a)?a.join(e):v});c.$isEmpty=function(a){return!a||!a.length}}}},lb="ng-valid",Nd="ng-invalid",Xa="ng-pristine",Jb="ng-dirty",Pd="ng-pending",kb=L("ngModel"),Hg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,b,d,c,e,f,g,h,k,m){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=v;this.$validators={};this.$asyncValidators= +{};this.$parsers=[];this.$formatters=[];this.$viewChangeListeners=[];this.$untouched=!0;this.$touched=!1;this.$pristine=!0;this.$dirty=!1;this.$valid=!0;this.$invalid=!1;this.$error={};this.$$success={};this.$pending=v;this.$name=m(d.name||"",!1)(a);this.$$parentForm=Ib;var l=e(d.ngModel),n=l.assign,s=l,A=n,u=null,z,q=this;this.$$setOptions=function(a){if((q.$options=a)&&a.getterSetter){var b=e(d.ngModel+"()"),f=e(d.ngModel+"($$$p)");s=function(a){var c=l(a);E(c)&&(c=b(a));return c};A=function(a, +b){E(l(a))?f(a,{$$$p:q.$modelValue}):n(a,q.$modelValue)}}else if(!l.assign)throw kb("nonassign",d.ngModel,ua(c));};this.$render=y;this.$isEmpty=function(a){return r(a)||""===a||null===a||a!==a};var w=0;Jd({ctrl:this,$element:c,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]},$animate:f});this.$setPristine=function(){q.$dirty=!1;q.$pristine=!0;f.removeClass(c,Jb);f.addClass(c,Xa)};this.$setDirty=function(){q.$dirty=!0;q.$pristine=!1;f.removeClass(c,Xa);f.addClass(c,Jb);q.$$parentForm.$setDirty()}; +this.$setUntouched=function(){q.$touched=!1;q.$untouched=!0;f.setClass(c,"ng-untouched","ng-touched")};this.$setTouched=function(){q.$touched=!0;q.$untouched=!1;f.setClass(c,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){g.cancel(u);q.$viewValue=q.$$lastCommittedViewValue;q.$render()};this.$validate=function(){if(!O(q.$modelValue)||!isNaN(q.$modelValue)){var a=q.$$rawModelValue,b=q.$valid,c=q.$modelValue,d=q.$options&&q.$options.allowInvalid;q.$$runValidators(a,q.$$lastCommittedViewValue, +function(e){d||b===e||(q.$modelValue=e?a:v,q.$modelValue!==c&&q.$$writeModelToScope())})}};this.$$runValidators=function(a,b,c){function d(){var c=!0;p(q.$validators,function(d,e){var g=d(a,b);c=c&&g;f(e,g)});return c?!0:(p(q.$asyncValidators,function(a,b){f(b,null)}),!1)}function e(){var c=[],d=!0;p(q.$asyncValidators,function(e,g){var h=e(a,b);if(!h||!E(h.then))throw kb("nopromise",h);f(g,v);c.push(h.then(function(){f(g,!0)},function(a){d=!1;f(g,!1)}))});c.length?k.all(c).then(function(){g(d)}, +y):g(!0)}function f(a,b){h===w&&q.$setValidity(a,b)}function g(a){h===w&&c(a)}w++;var h=w;(function(){var a=q.$$parserName||"parse";if(r(z))f(a,null);else return z||(p(q.$validators,function(a,b){f(b,null)}),p(q.$asyncValidators,function(a,b){f(b,null)})),f(a,z),z;return!0})()?d()?e():g(!1):g(!1)};this.$commitViewValue=function(){var a=q.$viewValue;g.cancel(u);if(q.$$lastCommittedViewValue!==a||""===a&&q.$$hasNativeValidators)q.$$lastCommittedViewValue=a,q.$pristine&&this.$setDirty(),this.$$parseAndValidate()}; +this.$$parseAndValidate=function(){var b=q.$$lastCommittedViewValue;if(z=r(b)?v:!0)for(var c=0;ce||c.$isEmpty(b)||b.length<=e}}}}},Gc=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,d,c){if(c){var e=0;d.$observe("minlength",function(a){e=ea(a)||0;c.$validate()}); +c.$validators.minlength=function(a,b){return c.$isEmpty(b)||b.length>=e}}}}};U.angular.bootstrap?U.console&&console.log("WARNING: Tried to load angular more than once."):(he(),je(fa),fa.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1}a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6, +MONTH:"January February March April May June July August September October November December".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),STANDALONEMONTH:"January February March April May June July August September October November December".split(" "),WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a", +shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,c){var e=a|0,f=c;v===f&&(f=Math.min(b(a),3));Math.pow(10,f);return 1==e&&0==f?"one":"other"}})}]),z(W).ready(function(){de(W,yc)}))})(window,document); +!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(''); //# sourceMappingURL=angular.min.js.map diff --git a/libs/bower_components/angular/angular.min.js.map b/libs/bower_components/angular/angular.min.js.map index 71ce90dcc5..1a7fdbe49c 100644 --- a/libs/bower_components/angular/angular.min.js.map +++ b/libs/bower_components/angular/angular.min.js.map @@ -1,8 +1,8 @@ { "version":3, "file":"angular.min.js", -"lineCount":289, -"mappings":"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", +"lineCount":300, +"mappings":"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", "sources":["angular.js"], -"names":["window","document","undefined","minErr","isArrayLike","obj","isWindow","length","Object","nodeType","NODE_TYPE_ELEMENT","isString","isArray","forEach","iterator","context","key","isFunction","hasOwnProperty","call","isPrimitive","isBlankObject","forEachSorted","keys","sort","i","reverseParams","iteratorFn","value","nextUid","uid","setHashKey","h","$$hashKey","baseExtend","dst","objs","deep","ii","isObject","j","jj","src","isDate","Date","valueOf","extend","slice","arguments","merge","toInt","str","parseInt","inherit","parent","extra","create","noop","identity","$","valueFn","hasCustomToString","toString","prototype","isUndefined","isDefined","getPrototypeOf","isNumber","isRegExp","isScope","$evalAsync","$watch","isBoolean","isElement","node","nodeName","prop","attr","find","makeMap","items","split","nodeName_","element","lowercase","arrayRemove","array","index","indexOf","splice","copy","source","destination","stackSource","stackDest","ngMinErr","TYPED_ARRAY_REGEXP","test","push","constructor","getTime","RegExp","match","lastIndex","emptyObject","shallowCopy","charAt","equals","o1","o2","t1","t2","keySet","createMap","concat","array1","array2","bind","self","fn","curryArgs","startIndex","apply","toJsonReplacer","val","toJson","pretty","JSON","stringify","fromJson","json","parse","timezoneToOffset","timezone","fallback","requestedTimezoneOffset","isNaN","convertTimezoneToLocal","date","reverse","timezoneOffset","getTimezoneOffset","setMinutes","getMinutes","minutes","startingTag","jqLite","clone","empty","e","elemHtml","append","html","NODE_TYPE_TEXT","replace","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","key_value","toKeyValue","parts","arrayValue","encodeUriQuery","join","encodeUriSegment","pctEncodeSpaces","encodeURIComponent","getNgAttribute","ngAttr","ngAttrPrefixes","getAttribute","angularInit","bootstrap","appElement","module","config","prefix","name","hasAttribute","candidate","querySelector","strictDi","modules","defaultConfig","doBootstrap","injector","tag","unshift","$provide","debugInfoEnabled","$compileProvider","createInjector","invoke","bootstrapApply","scope","compile","$apply","data","NG_ENABLE_DEBUG_INFO","NG_DEFER_BOOTSTRAP","angular","resumeBootstrap","angular.resumeBootstrap","extraModules","resumeDeferredBootstrap","reloadWithDebugInfo","location","reload","getTestability","rootElement","get","snake_case","separator","SNAKE_CASE_REGEXP","letter","pos","toLowerCase","bindJQuery","originalCleanData","bindJQueryFired","jqName","jq","jQuery","on","JQLitePrototype","isolateScope","controller","inheritedData","cleanData","jQuery.cleanData","elems","events","skipDestroyOnNextJQueryCleanData","elem","_data","$destroy","triggerHandler","JQLite","assertArg","arg","reason","assertArgFn","acceptArrayAnnotation","assertNotHasOwnProperty","getter","path","bindFnToScope","lastInstance","len","getBlockNodes","nodes","endNode","blockNodes","nextSibling","setupModuleLoader","ensure","factory","$injectorMinErr","$$minErr","requires","configFn","invokeLater","provider","method","insertMethod","queue","invokeQueue","moduleInstance","invokeLaterAndSetModuleName","recipeName","factoryFunction","$$moduleName","configBlocks","runBlocks","_invokeQueue","_configBlocks","_runBlocks","service","constant","decorator","animation","filter","directive","run","block","publishExternalAPI","version","uppercase","counter","csp","angularModule","$LocaleProvider","ngModule","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","a","htmlAnchorDirective","input","inputDirective","textarea","form","formDirective","script","scriptDirective","select","selectDirective","style","styleDirective","option","optionDirective","ngBind","ngBindDirective","ngBindHtml","ngBindHtmlDirective","ngBindTemplate","ngBindTemplateDirective","ngClass","ngClassDirective","ngClassEven","ngClassEvenDirective","ngClassOdd","ngClassOddDirective","ngCloak","ngCloakDirective","ngController","ngControllerDirective","ngForm","ngFormDirective","ngHide","ngHideDirective","ngIf","ngIfDirective","ngInclude","ngIncludeDirective","ngInit","ngInitDirective","ngNonBindable","ngNonBindableDirective","ngPluralize","ngPluralizeDirective","ngRepeat","ngRepeatDirective","ngShow","ngShowDirective","ngStyle","ngStyleDirective","ngSwitch","ngSwitchDirective","ngSwitchWhen","ngSwitchWhenDirective","ngSwitchDefault","ngSwitchDefaultDirective","ngOptions","ngOptionsDirective","ngTransclude","ngTranscludeDirective","ngModel","ngModelDirective","ngList","ngListDirective","ngChange","ngChangeDirective","pattern","patternDirective","ngPattern","required","requiredDirective","ngRequired","minlength","minlengthDirective","ngMinlength","maxlength","maxlengthDirective","ngMaxlength","ngValue","ngValueDirective","ngModelOptions","ngModelOptionsDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$$animateQueue","$$CoreAnimateQueueProvider","$$AnimateRunner","$$CoreAnimateRunnerProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpParamSerializer","$HttpParamSerializerProvider","$httpParamSerializerJQLike","$HttpParamSerializerJQLikeProvider","$httpBackend","$HttpBackendProvider","$location","$LocationProvider","$log","$LogProvider","$parse","$ParseProvider","$rootScope","$RootScopeProvider","$q","$QProvider","$$q","$$QProvider","$sce","$SceProvider","$sceDelegate","$SceDelegateProvider","$sniffer","$SnifferProvider","$templateCache","$TemplateCacheProvider","$templateRequest","$TemplateRequestProvider","$$testability","$$TestabilityProvider","$timeout","$TimeoutProvider","$window","$WindowProvider","$$rAF","$$RAFProvider","$$jqLite","$$jqLiteProvider","$$HashMap","$$HashMapProvider","$$cookieReader","$$CookieReaderProvider","camelCase","SPECIAL_CHARS_REGEXP","_","offset","toUpperCase","MOZ_HACK_REGEXP","jqLiteAcceptsData","NODE_TYPE_DOCUMENT","jqLiteBuildFragment","tmp","fragment","createDocumentFragment","HTML_REGEXP","appendChild","createElement","TAG_NAME_REGEXP","exec","wrap","wrapMap","_default","innerHTML","XHTML_TAG_REGEXP","lastChild","childNodes","firstChild","textContent","createTextNode","argIsString","trim","jqLiteMinErr","parsed","SINGLE_TAG_REGEXP","jqLiteAddNodes","jqLiteClone","cloneNode","jqLiteDealoc","onlyDescendants","jqLiteRemoveData","querySelectorAll","descendants","l","jqLiteOff","type","unsupported","expandoStore","jqLiteExpandoStore","handle","listenerFns","removeEventListener","expandoId","ng339","jqCache","createIfNecessary","jqId","jqLiteData","isSimpleSetter","isSimpleGetter","massGetter","jqLiteHasClass","selector","jqLiteRemoveClass","cssClasses","setAttribute","cssClass","jqLiteAddClass","existingClasses","root","elements","jqLiteController","jqLiteInheritedData","documentElement","names","parentNode","NODE_TYPE_DOCUMENT_FRAGMENT","host","jqLiteEmpty","removeChild","jqLiteRemove","keepData","jqLiteDocumentLoaded","action","win","readyState","setTimeout","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","getAliasedAttrName","ALIASED_ATTR","createEventHandler","eventHandler","event","isDefaultPrevented","event.isDefaultPrevented","defaultPrevented","eventFns","eventFnsLength","immediatePropagationStopped","originalStopImmediatePropagation","stopImmediatePropagation","event.stopImmediatePropagation","stopPropagation","isImmediatePropagationStopped","event.isImmediatePropagationStopped","$get","this.$get","hasClass","classes","addClass","removeClass","hashKey","nextUidFn","objType","HashMap","isolatedUid","this.nextUid","put","anonFn","args","fnText","STRIP_COMMENTS","FN_ARGS","modulesToLoad","supportObject","delegate","provider_","providerInjector","instantiate","providerCache","providerSuffix","enforceReturnValue","enforcedReturnValue","result","instanceInjector","factoryFn","enforce","loadModules","moduleFn","runInvokeQueue","invokeArgs","loadedModules","message","stack","createInternalInjector","cache","getService","serviceName","caller","INSTANTIATING","err","shift","locals","$inject","$$annotate","Type","instance","returnedValue","annotate","has","$injector","instanceCache","decorFn","origProvider","orig$get","origProvider.$get","origInstance","$delegate","autoScrollingEnabled","disableAutoScrolling","this.disableAutoScrolling","getFirstAnchor","list","Array","some","scrollTo","scrollIntoView","scroll","yOffset","getComputedStyle","position","getBoundingClientRect","bottom","elemTop","top","scrollBy","hash","elm","getElementById","getElementsByName","autoScrollWatch","autoScrollWatchAction","newVal","oldVal","mergeClasses","b","splitClasses","klass","prepareAnimateOptions","options","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","pop","error","cacheStateAndFireUrlChange","cacheState","fireUrlChange","history","state","cachedState","lastCachedState","lastBrowserUrl","url","lastHistoryState","urlChangeListeners","listener","clearTimeout","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","self.$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","self.notifyWhenNoOutstandingRequests","callback","href","baseElement","reloadLocation","self.url","sameState","sameBase","stripHash","substr","self.state","urlChangeInit","onUrlChange","self.onUrlChange","$$applicationDestroyed","self.$$applicationDestroyed","off","$$checkUrlChange","baseHref","self.baseHref","defer","self.defer","delay","timeoutId","cancel","self.defer.cancel","deferId","cacheFactory","cacheId","refresh","entry","freshEnd","staleEnd","n","link","p","nextEntry","prevEntry","caches","size","stats","id","capacity","Number","MAX_VALUE","lruHash","lruEntry","remove","removeAll","destroy","info","cacheFactory.info","cacheFactory.get","$$sanitizeUriProvider","parseIsolateBindings","directiveName","isController","LOCAL_REGEXP","bindings","definition","scopeName","$compileMinErr","mode","collection","optional","attrName","assertValidDirectiveName","hasDirectives","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","ALL_OR_NOTHING_ATTRS","REQUIRE_PREFIX_REGEXP","EVENT_HANDLER_ATTR_REGEXP","this.directive","registerDirective","directiveFactory","Suffix","directives","priority","require","restrict","bindToController","controllerAs","CNTRL_REG","$$bindings","$$isolateBindings","aHrefSanitizationWhitelist","this.aHrefSanitizationWhitelist","regexp","imgSrcSanitizationWhitelist","this.imgSrcSanitizationWhitelist","this.debugInfoEnabled","enabled","safeAddClass","$element","className","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","nodeValue","compositeLinkFn","compileNodes","$$addScopeClass","namespace","publicLinkFn","cloneConnectFn","parentBoundTranscludeFn","transcludeControllers","futureParentElement","$$boundTransclude","$linkNode","wrapTemplate","controllerName","$$addScopeInfo","nodeList","$rootElement","childLinkFn","childScope","childBoundTranscludeFn","stableNodeList","nodeLinkFnFound","linkFns","idx","nodeLinkFn","destroyBindings","$new","$$destroyBindings","$on","transcludeOnThisElement","createBoundTranscludeFn","transclude","templateOnThisElement","attrs","linkFnFound","Attributes","collectDirectives","applyDirectivesToNode","$$element","terminal","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","containingScope","$$transcluded","attrsMap","$attr","addDirective","directiveNormalize","isNgAttr","nAttrs","attributes","attrStartName","attrEndName","ngAttrName","NG_ATTR_BINDING","PREFIX_REGEXP","directiveNName","directiveIsMultiElement","nName","addAttrInterpolateDirective","animVal","msie","addTextInterpolateDirective","NODE_TYPE_COMMENT","byPriority","groupScan","attrStart","attrEnd","depth","groupElementsLinkFnWrapper","linkFn","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","getControllers","elementControllers","substring","inheritType","dataName","setupControllers","controllerDirectives","controllerKey","$scope","$attrs","$transclude","controllerInstance","hasElementTranscludeDirective","linkNode","thisLinkFn","controllersBoundTransclude","cloneAttachFn","scopeToChild","templateDirective","$$originalDirective","initializeDirectiveBindings","scopeDirective","newScopeDirective","controllerForBindings","identifier","controllerResult","invokeLinkFn","template","templateUrl","terminalPriority","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","$template","childTranscludeFn","$$start","$$end","directiveValue","assertNoDuplicate","$$tlb","createComment","replaceWith","replaceDirective","contents","denormalizeTemplate","removeComments","templateNamespace","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectivesAsIsolate","mergeTemplateAttributes","compileTemplateUrl","Math","max","tDirectives","startAttrName","endAttrName","multiElement","srcAttr","dstAttr","$set","tAttrs","linkQueue","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","then","content","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","$$destroyed","oldClasses","delayedNodeLinkFn","ignoreChildLinkFn","diff","what","previousDirective","wrapModuleNameIfDefined","moduleName","text","interpolateFn","textInterpolateCompileFn","templateNode","templateNodeParent","hasCompileParent","$$addBindingClass","textInterpolateLinkFn","$$addBindingInfo","expressions","interpolateFnWatchAction","wrapper","getTrustedContext","attrNormalizedName","HTML","RESOURCE_URL","allOrNothing","trustedContext","attrInterpolatePreLinkFn","$$observers","newValue","$$inter","$$scope","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","replaceChild","hasData","expando","k","kk","annotation","newScope","onNewScopeDestroyed","lastValue","parentGet","parentSet","compare","$observe","literal","assign","parentValueWatch","parentValue","$stateful","unwatch","$watchCollection","attributesToCopy","$normalize","$addClass","classVal","$removeClass","newClasses","toAdd","tokenDifference","toRemove","writeAttr","booleanKey","aliasedKey","observer","trimmedSrcset","srcPattern","rawUris","nbrUrisWith2parts","floor","innerIdx","lastTuple","removeAttr","listeners","startSymbol","endSymbol","binding","isolated","noTemplate","str1","str2","values","tokens1","tokens2","token","jqNodes","globals","register","this.register","allowGlobals","this.allowGlobals","addIdentifier","expression","later","ident","$controllerMinErr","controllerPrototype","exception","cause","serializeValue","v","toISOString","ngParamSerializer","params","jQueryLikeParamSerializer","serialize","toSerialize","topLevel","defaultHttpResponseTransform","headers","tempData","JSON_PROTECTION_PREFIX","contentType","jsonStart","JSON_START","JSON_ENDS","parseHeaders","line","headerVal","headerKey","headersGetter","headersObj","transformData","status","fns","defaults","transformResponse","transformRequest","d","common","CONTENT_TYPE_APPLICATION_JSON","patch","xsrfCookieName","xsrfHeaderName","paramSerializer","useApplyAsync","this.useApplyAsync","interceptorFactories","interceptors","requestConfig","response","resp","reject","executeHeaderFns","headerContent","processedHeaders","headerFn","header","mergeHeaders","defHeaders","reqHeaders","defHeaderName","lowercaseDefHeaderName","reqHeaderName","chain","serverRequest","reqData","withCredentials","sendReq","promise","when","reversedInterceptors","interceptor","request","requestError","responseError","thenFn","rejectFn","success","promise.success","promise.error","done","headersString","statusText","resolveHttpPromise","resolvePromise","$applyAsync","$$phase","deferred","resolve","resolvePromiseWithResult","removePendingReq","pendingRequests","cachedResp","buildUrl","defaultCache","xsrfValue","urlIsSameOrigin","timeout","responseType","serializedParams","interceptorFactory","createShortMethods","createShortMethodsWithData","createXhr","XMLHttpRequest","createHttpBackend","callbacks","$browserDefer","rawDocument","jsonpReq","callbackId","async","body","called","addEventListener","timeoutRequest","jsonpDone","xhr","abort","completeRequest","open","setRequestHeader","onload","xhr.onload","responseText","urlResolve","protocol","getAllResponseHeaders","onerror","onabort","send","this.startSymbol","this.endSymbol","escape","ch","unescapeText","escapedStartRegexp","escapedEndRegexp","mustHaveExpression","parseStringifyInterceptor","getTrusted","$interpolateMinErr","interr","endIndex","parseFns","textLength","expressionPositions","startSymbolLength","exp","endSymbolLength","throwNoconcat","compute","interpolationFn","$$watchDelegate","$watchGroup","interpolateFnWatcher","oldValues","currValue","$interpolate.startSymbol","$interpolate.endSymbol","interval","count","invokeApply","hasParams","setInterval","clearInterval","iteration","skipApply","$$intervalId","tick","notify","intervals","interval.cancel","NUMBER_FORMATS","DECIMAL_SEP","GROUP_SEP","PATTERNS","minInt","minFrac","maxFrac","posPre","posSuf","negPre","negSuf","gSize","lgSize","CURRENCY_SYM","DATETIME_FORMATS","MONTH","SHORTMONTH","DAY","SHORTDAY","AMPMS","medium","fullDate","longDate","mediumDate","shortDate","mediumTime","shortTime","ERANAMES","ERAS","pluralCat","num","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","search","$$hash","beginsWith","begin","whole","trimEmptyHash","stripFile","lastIndexOf","LocationHtml5Url","appBase","basePrefix","$$html5","appBaseNoFile","$$parse","this.$$parse","pathUrl","$locationMinErr","$$compose","this.$$compose","$$url","$$absUrl","$$parseLinkUrl","this.$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","withoutBaseUrl","withoutHashUrl","windowsFilePathExp","base","firstPathSegmentMatch","LocationHashbangInHtml5Url","locationGetter","property","locationGetterSetter","preprocess","html5Mode","requireBase","rewriteLinks","this.hashPrefix","this.html5Mode","setBrowserUrlWithFallback","oldUrl","oldState","$$state","afterLocationChange","$broadcast","absUrl","LocationMode","initialUrl","IGNORE_URI_REGEXP","ctrlKey","metaKey","shiftKey","which","button","target","absHref","preventDefault","initializing","newUrl","newState","$digest","$locationWatch","currentReplace","$$replace","urlOrStateChanged","debug","debugEnabled","this.debugEnabled","flag","formatError","Error","sourceURL","consoleLog","console","logFn","log","hasApply","arg1","arg2","warn","ensureSafeMemberName","fullExpression","$parseMinErr","ensureSafeObject","children","ensureSafeFunction","CALL","APPLY","BIND","ifDefined","plusFn","r","findConstantAndWatchExpressions","ast","allConstants","argsToWatch","AST","Program","expr","Literal","toWatch","UnaryExpression","argument","BinaryExpression","left","right","LogicalExpression","ConditionalExpression","alternate","consequent","Identifier","MemberExpression","object","computed","CallExpression","callee","AssignmentExpression","ArrayExpression","ObjectExpression","properties","ThisExpression","getInputs","lastExpression","isAssignable","assignableAST","NGValueParameter","operator","isLiteral","ASTCompiler","astBuilder","ASTInterpreter","setter","setValue","fullExp","propertyObj","isPossiblyDangerousMemberName","getValueOf","objectValueOf","cacheDefault","cacheExpensive","expressionInputDirtyCheck","oldValueOfValue","inputsWatchDelegate","objectEquality","parsedExpression","prettyPrintExpression","inputExpressions","inputs","lastResult","oldInputValueOf","expressionInputWatch","newInputValue","oldInputValueOfValues","oldInputValues","expressionInputsWatch","changed","oneTimeWatchDelegate","oneTimeWatch","oneTimeListener","old","$$postDigest","oneTimeLiteralWatchDelegate","isAllDefined","allDefined","constantWatchDelegate","constantWatch","constantListener","addInterceptor","interceptorFn","watchDelegate","regularInterceptedExpression","oneTimeInterceptedExpression","$parseOptions","expensiveChecks","$parseOptionsExpensive","oneTime","cacheKey","parseOptions","lexer","Lexer","parser","Parser","qFactory","nextTick","exceptionHandler","callOnce","resolveFn","Promise","simpleBind","scheduleProcessQueue","processScheduled","pending","Deferred","$qMinErr","TypeError","onFulfilled","onRejected","progressBack","catch","finally","handleCallback","$$reject","$$resolve","progress","makePromise","resolved","isResolved","callbackOutput","errback","$Q","Q","resolver","all","promises","results","flush","taskQueue","task","taskCount","queueFn","asyncFn","cancelLastRAF","rafFn","cancelQueueFn","requestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","timer","supported","createChildScopeClass","ChildScope","$$watchers","$$nextSibling","$$childHead","$$childTail","$$listeners","$$listenerCount","$$watchersCount","$id","$$ChildScope","TTL","$rootScopeMinErr","lastDirtyWatch","applyAsyncId","digestTtl","this.digestTtl","destroyChildScope","$event","currentScope","Scope","$parent","$$prevSibling","$root","beginPhase","phase","incrementWatchersCount","current","decrementListenerCount","initWatchVal","flushApplyAsync","applyAsyncQueue","scheduleApplyAsync","isolate","child","watchExp","watcher","last","eq","deregisterWatch","watchExpressions","watchGroupAction","changeReactionScheduled","firstRun","newValues","deregisterFns","shouldCall","deregisterWatchGroup","unwatchFn","watchGroupSubAction","$watchCollectionInterceptor","_value","bothNaN","newItem","oldItem","internalArray","oldLength","changeDetected","newLength","internalObject","veryOldValue","trackVeryOldValue","changeDetector","initRun","$watchCollectionAction","watch","watchers","dirty","ttl","watchLog","logIdx","asyncTask","asyncQueue","$eval","msg","next","postDigestQueue","eventName","this.$watchGroup","$applyAsyncExpression","namedListeners","indexOfListener","$emit","targetScope","listenerArgs","$$asyncQueue","$$postDigestQueue","$$applyAsyncQueue","sanitizeUri","uri","isImage","regex","normalizedVal","adjustMatcher","matcher","$sceMinErr","escapeForRegexp","adjustMatchers","matchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","this.resourceUrlWhitelist","this.resourceUrlBlacklist","matchUrl","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","this.$$unwrapTrustedValue","holderType.prototype.valueOf","holderType.prototype.toString","htmlSanitizer","trustedValueHolderBase","byType","CSS","URL","JS","trustAs","Constructor","maybeTrusted","allowed","this.enabled","sce","isEnabled","sce.isEnabled","sce.getTrusted","parseAs","sce.parseAs","enumValue","lName","eventSupport","android","userAgent","navigator","boxee","vendorPrefix","vendorRegex","bodyStyle","transitions","animations","webkitTransition","webkitAnimation","pushState","hasEvent","divElm","handleRequestFn","tpl","ignoreRequestError","totalPendingRequests","getTrustedResourceUrl","transformer","httpOptions","handleError","testability","testability.findBindings","opt_exactMatch","getElementsByClassName","matches","dataBinding","bindingName","testability.findModels","prefixes","attributeEquals","testability.getLocation","testability.setLocation","testability.whenStable","deferreds","$$timeoutId","timeout.cancel","urlParsingNode","requestUrl","originUrl","$$CookieReader","safeDecodeURIComponent","lastCookies","lastCookieString","cookieArray","cookie","currentCookieString","filters","suffix","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","comparator","matchAgainstAnyProp","getTypeForFilter","expressionType","predicateFn","createPredicateFn","shouldMatchPrimitives","actual","expected","item","deepCompare","dontMatchWholeObject","actualType","expectedType","expectedVal","matchAnyProperty","actualVal","$locale","formats","amount","currencySymbol","fractionSize","formatNumber","number","groupSep","decimalSep","isNegative","abs","isInfinity","Infinity","isFinite","numStr","formatedText","hasExponent","toFixed","parseFloat","fractionLen","min","round","fraction","lgroup","group","padNumber","digits","neg","dateGetter","dateStrGetter","shortForm","getFirstThursdayOfYear","year","dayOfWeekOnFirst","getDay","weekGetter","firstThurs","getFullYear","thisThurs","getMonth","getDate","eraGetter","jsonStringToDate","string","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","m","s","ms","format","NUMBER_STRING","DATE_FORMATS_SPLIT","dateTimezoneOffset","DATE_FORMATS","spacing","limit","processPredicates","sortPredicate","reverseOrder","map","predicate","descending","predicates","compareValues","getComparisonObject","predicateValues","doComparison","v1","v2","ngDirective","FormController","controls","parentForm","$$parentForm","nullFormCtrl","$error","$$success","$pending","$name","$dirty","$pristine","$valid","$invalid","$submitted","$addControl","$rollbackViewValue","form.$rollbackViewValue","control","$commitViewValue","form.$commitViewValue","form.$addControl","$$renameControl","form.$$renameControl","newName","oldName","$removeControl","form.$removeControl","$setValidity","addSetValidityMethod","ctrl","set","unset","$setDirty","form.$setDirty","PRISTINE_CLASS","DIRTY_CLASS","$setPristine","form.$setPristine","setClass","SUBMITTED_CLASS","$setUntouched","form.$setUntouched","$setSubmitted","form.$setSubmitted","stringBasedInputType","$formatters","$isEmpty","baseInputType","composing","ev","ngTrim","$viewValue","$$hasNativeValidators","$setViewValue","deferListener","origValue","keyCode","$render","ctrl.$render","createDateParser","mapping","iso","ISO_DATE_REGEXP","yyyy","MM","dd","HH","getHours","mm","ss","getSeconds","sss","getMilliseconds","part","NaN","createDateInputType","parseDate","dynamicDateInputType","isValidDate","parseObservedDateValue","badInputChecker","$options","previousDate","$$parserName","$parsers","parsedDate","$ngModelMinErr","ngMin","minVal","$validators","ctrl.$validators.min","$validate","ngMax","maxVal","ctrl.$validators.max","validity","VALIDITY_STATE_PROPERTY","badInput","typeMismatch","parseConstantExpr","parseFn","classDirective","arrayDifference","arrayClasses","digestClassCounts","classCounts","classesToUpdate","ngClassWatchAction","$index","old$index","mod","cachedToggleClass","switchValue","classCache","toggleValidationCss","validationErrorKey","isValid","VALID_CLASS","INVALID_CLASS","setValidity","isObjectEmpty","PENDING_CLASS","combinedState","REGEX_STRING_REGEXP","documentMode","isActive_","active","Function","name_","el","full","major","minor","dot","codeName","JQLite._data","MOUSE_EVENT_MAP","mouseleave","mouseenter","optgroup","tbody","tfoot","colgroup","caption","thead","th","td","ready","trigger","fired","removeData","jqLiteHasData","removeAttribute","css","NODE_TYPE_ATTRIBUTE","lowercasedName","specified","getNamedItem","ret","getText","$dv","multiple","selected","nodeCount","jqLiteOn","types","related","relatedTarget","contains","one","onFn","replaceNode","insertBefore","contentDocument","prepend","wrapNode","detach","after","newElement","toggleClass","condition","classCondition","nextElementSibling","getElementsByTagName","extraParameters","dummyEvent","handlerArgs","eventFnsCopy","arg3","unbind","FN_ARG_SPLIT","FN_ARG","argDecl","underscore","$animateMinErr","AnimateRunner","end","resume","pause","complete","pass","fail","postDigestElements","addRemoveClassesPostDigest","add","existing","pin","domOperation","from","to","$$registeredAnimations","classNameFilter","this.classNameFilter","$$classNameFilter","reservedRegex","NG_ANIMATE_CLASSNAME","domInsert","parentElement","afterElement","afterNode","ELEMENT_NODE","previousElementSibling","runner","enter","move","leave","addclass","animate","tempClasses","APPLICATION_JSON","$interpolateMinErr.throwNoconcat","$interpolateMinErr.interr","PATH_MATCH","locationPrototype","paramValue","Location","Location.prototype.state","OPERATORS","ESCAPE","lex","tokens","readString","peek","readNumber","isIdent","readIdent","is","isWhitespace","ch2","ch3","op2","op3","op1","throwError","chars","isExpOperator","start","colStr","peekCh","quote","rawString","hex","String","fromCharCode","rep","ExpressionStatement","Property","program","expressionStatement","expect","filterChain","assignment","ternary","logicalOR","consume","logicalAND","equality","relational","additive","multiplicative","unary","primary","arrayDeclaration","constants","parseArguments","baseExpression","peekToken","kind","e1","e2","e3","e4","peekAhead","t","nextId","vars","own","assignable","stage","computing","recurse","generateFunction","fnKey","intoId","return_","watchId","fnString","USE","STRICT","filterPrefix","watchFns","varsPrefix","section","nameId","recursionFn","skipWatchIdCheck","if_","lazyAssign","computedMember","lazyRecurse","plus","not","getHasOwnProperty","nonComputedMember","addEnsureSafeObject","notNull","addEnsureSafeMemberName","addEnsureSafeFunction","member","filterName","defaultValue","stringEscapeRegex","stringEscapeFn","c","charCodeAt","skip","init","fn.assign","rhs","lhs","unary+","unary-","unary!","binary+","binary-","binary*","binary/","binary%","binary===","binary!==","binary==","binary!=","binary<","binary>","binary<=","binary>=","binary&&","binary||","ternary?:","astCompiler","yy","y","MMMM","MMM","M","H","hh","EEEE","EEE","ampmGetter","Z","timeZoneGetter","zone","paddedZone","ww","w","G","GG","GGG","GGGG","longEraGetter","xlinkHref","propName","defaultLinkFn","normalized","ngBooleanAttrWatchAction","htmlAttr","ngAttrAliasWatchAction","nullFormRenameControl","formDirectiveFactory","isNgForm","ngFormCompile","formElement","nameAttr","ngFormPreLink","handleFormSubmission","parentFormCtrl","URL_REGEXP","EMAIL_REGEXP","NUMBER_REGEXP","DATE_REGEXP","DATETIMELOCAL_REGEXP","WEEK_REGEXP","MONTH_REGEXP","TIME_REGEXP","inputType","textInputType","weekParser","isoWeek","existingDate","week","hours","seconds","milliseconds","addDays","numberInputType","urlInputType","ctrl.$validators.url","modelValue","viewValue","emailInputType","email","ctrl.$validators.email","radioInputType","checked","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","ctrl.$isEmpty","ctrls","CONSTANT_VALUE_REGEXP","tplAttr","ngValueConstantLink","ngValueLink","valueWatchAction","$compile","ngBindCompile","templateElement","ngBindLink","ngBindWatchAction","ngBindTemplateCompile","ngBindTemplateLink","ngBindHtmlCompile","tElement","ngBindHtmlGetter","ngBindHtmlWatch","getStringValue","ngBindHtmlLink","ngBindHtmlWatchAction","getTrustedHtml","$viewChangeListeners","forceAsyncEvents","ngEventHandler","previousElements","ngIfWatchAction","srcExp","onloadExp","autoScrollExp","autoscroll","changeCounter","previousElement","currentElement","cleanupLastIncludeContent","ngIncludeWatchAction","afterAnimation","thisChangeId","namespaceAdaptedClone","trimValues","NgModelController","$modelValue","$$rawModelValue","$asyncValidators","$untouched","$touched","parsedNgModel","parsedNgModelAssign","ngModelGet","ngModelSet","pendingDebounce","parserValid","$$setOptions","this.$$setOptions","getterSetter","invokeModelGetter","invokeModelSetter","$$$p","this.$isEmpty","currentValidationRunId","this.$setPristine","this.$setDirty","this.$setUntouched","UNTOUCHED_CLASS","TOUCHED_CLASS","$setTouched","this.$setTouched","this.$rollbackViewValue","$$lastCommittedViewValue","this.$validate","prevValid","prevModelValue","allowInvalid","$$runValidators","allValid","$$writeModelToScope","this.$$runValidators","doneCallback","processSyncValidators","syncValidatorsValid","validator","processAsyncValidators","validatorPromises","validationDone","localValidationRunId","processParseErrors","errorKey","this.$commitViewValue","$$parseAndValidate","this.$$parseAndValidate","this.$$writeModelToScope","this.$setViewValue","updateOnDefault","$$debounceViewValueCommit","this.$$debounceViewValueCommit","debounceDelay","debounce","ngModelWatch","formatters","ngModelCompile","ngModelPreLink","modelCtrl","formCtrl","ngModelPostLink","updateOn","DEFAULT_REGEXP","that","ngOptionsMinErr","NG_OPTIONS_REGEXP","parseOptionsExpression","optionsExp","selectElement","Option","selectValue","label","disabled","getOptionValuesKeys","optionValues","optionValuesKeys","keyName","itemKey","valueName","selectAs","trackBy","viewValueFn","trackByFn","getTrackByValueFn","getHashOfValue","getTrackByValue","getLocals","displayFn","groupByFn","disableWhenFn","valuesFn","getWatchables","watchedArray","optionValuesLength","disableWhen","getOptions","optionItems","selectValueMap","optionItem","getOptionFromViewValue","getViewValueFromOption","optionTemplate","optGroupTemplate","updateOptionElement","addOrReuseElement","removeExcessElements","skipEmptyAndUnknownOptions","emptyOption_","emptyOption","unknownOption_","unknownOption","updateOptions","previousValue","selectCtrl","readValue","groupMap","providedEmptyOption","updateOption","optionElement","groupElement","currentOptionElement","ngModelCtrl","nextValue","ngModelCtrl.$isEmpty","writeValue","selectCtrl.writeValue","selectCtrl.readValue","selectedValues","selections","selectedOption","BRACE","IS_WHEN","updateElementText","newText","numberExp","whenExp","whens","whensExpFns","braceReplacement","watchRemover","lastCount","attributeName","tmpMatch","whenKey","ngPluralizeWatchAction","countIsNaN","whenExpFn","ngRepeatMinErr","updateScope","valueIdentifier","keyIdentifier","arrayLength","$first","$last","$middle","$odd","$even","ngRepeatCompile","ngRepeatEndComment","aliasAs","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","hashFnLocals","ngRepeatLink","lastBlockMap","ngRepeatAction","previousNode","nextNode","nextBlockMap","collectionLength","trackById","collectionKeys","nextBlockOrder","trackByIdFn","blockKey","ngRepeatTransclude","ngShowWatchAction","NG_HIDE_CLASS","NG_HIDE_IN_PROGRESS_CLASS","ngHideWatchAction","ngStyleWatchAction","newStyles","oldStyles","ngSwitchController","cases","selectedTranscludes","selectedElements","previousLeaveAnimations","selectedScopes","spliceFactory","ngSwitchWatchAction","selectedTransclude","caseElement","selectedScope","anchor","noopNgModelController","SelectController","optionsMap","renderUnknownOption","self.renderUnknownOption","unknownVal","removeUnknownOption","self.removeUnknownOption","self.readValue","self.writeValue","hasOption","addOption","self.addOption","removeOption","self.removeOption","self.hasOption","ngModelCtrl.$render","lastView","lastViewRef","selectMultipleWatch","chromeHack","selectCtrlName","interpolateWatchAction","ctrl.$validators.required","patternExp","ctrl.$validators.pattern","intVal","ctrl.$validators.maxlength","ctrl.$validators.minlength","$$csp","head"] +"names":["window","document","undefined","minErr","isArrayLike","obj","isWindow","isArray","isString","jqLite","length","Object","isNumber","Array","item","forEach","iterator","context","key","isFunction","hasOwnProperty","call","isPrimitive","isBlankObject","forEachSorted","keys","sort","i","reverseParams","iteratorFn","value","nextUid","uid","baseExtend","dst","objs","deep","h","$$hashKey","ii","isObject","j","jj","src","isDate","Date","valueOf","isRegExp","RegExp","nodeName","cloneNode","isElement","clone","extend","slice","arguments","merge","toInt","str","parseInt","inherit","parent","extra","create","noop","identity","$","valueFn","hasCustomToString","toString","isUndefined","isDefined","getPrototypeOf","isScope","$evalAsync","$watch","isBoolean","isTypedArray","TYPED_ARRAY_REGEXP","test","node","prop","attr","find","makeMap","items","split","nodeName_","element","lowercase","arrayRemove","array","index","indexOf","splice","copy","source","destination","copyRecurse","push","copyElement","stackSource","stackDest","ngMinErr","needsRecurse","constructor","getTime","match","lastIndex","type","shallowCopy","charAt","equals","o1","o2","t1","t2","keySet","createMap","concat","array1","array2","bind","self","fn","curryArgs","startIndex","apply","toJsonReplacer","val","toJson","pretty","JSON","stringify","fromJson","json","parse","timezoneToOffset","timezone","fallback","replace","ALL_COLONS","requestedTimezoneOffset","isNaN","convertTimezoneToLocal","date","reverse","dateTimezoneOffset","getTimezoneOffset","timezoneOffset","setMinutes","getMinutes","minutes","startingTag","empty","e","elemHtml","append","html","nodeType","NODE_TYPE_TEXT","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","splitPoint","substring","toKeyValue","parts","arrayValue","encodeUriQuery","join","encodeUriSegment","pctEncodeSpaces","encodeURIComponent","getNgAttribute","ngAttr","ngAttrPrefixes","getAttribute","angularInit","bootstrap","appElement","module","config","prefix","name","hasAttribute","candidate","querySelector","strictDi","modules","defaultConfig","doBootstrap","injector","tag","unshift","$provide","debugInfoEnabled","$compileProvider","createInjector","invoke","bootstrapApply","scope","compile","$apply","data","NG_ENABLE_DEBUG_INFO","NG_DEFER_BOOTSTRAP","angular","resumeBootstrap","angular.resumeBootstrap","extraModules","resumeDeferredBootstrap","reloadWithDebugInfo","location","reload","getTestability","rootElement","get","snake_case","separator","SNAKE_CASE_REGEXP","letter","pos","toLowerCase","bindJQuery","originalCleanData","bindJQueryFired","jqName","jq","jQuery","on","JQLitePrototype","isolateScope","controller","inheritedData","cleanData","jQuery.cleanData","elems","events","skipDestroyOnNextJQueryCleanData","elem","_data","$destroy","triggerHandler","JQLite","assertArg","arg","reason","assertArgFn","acceptArrayAnnotation","assertNotHasOwnProperty","getter","path","bindFnToScope","lastInstance","len","getBlockNodes","nodes","endNode","blockNodes","nextSibling","setupModuleLoader","ensure","factory","$injectorMinErr","$$minErr","requires","configFn","invokeLater","provider","method","insertMethod","queue","invokeQueue","moduleInstance","invokeLaterAndSetModuleName","recipeName","factoryFunction","$$moduleName","configBlocks","runBlocks","_invokeQueue","_configBlocks","_runBlocks","service","constant","decorator","animation","filter","directive","run","block","publishExternalAPI","version","uppercase","counter","csp","angularModule","ngModule","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","a","htmlAnchorDirective","input","inputDirective","textarea","form","formDirective","script","scriptDirective","select","selectDirective","style","styleDirective","option","optionDirective","ngBind","ngBindDirective","ngBindHtml","ngBindHtmlDirective","ngBindTemplate","ngBindTemplateDirective","ngClass","ngClassDirective","ngClassEven","ngClassEvenDirective","ngClassOdd","ngClassOddDirective","ngCloak","ngCloakDirective","ngController","ngControllerDirective","ngForm","ngFormDirective","ngHide","ngHideDirective","ngIf","ngIfDirective","ngInclude","ngIncludeDirective","ngInit","ngInitDirective","ngNonBindable","ngNonBindableDirective","ngPluralize","ngPluralizeDirective","ngRepeat","ngRepeatDirective","ngShow","ngShowDirective","ngStyle","ngStyleDirective","ngSwitch","ngSwitchDirective","ngSwitchWhen","ngSwitchWhenDirective","ngSwitchDefault","ngSwitchDefaultDirective","ngOptions","ngOptionsDirective","ngTransclude","ngTranscludeDirective","ngModel","ngModelDirective","ngList","ngListDirective","ngChange","ngChangeDirective","pattern","patternDirective","ngPattern","required","requiredDirective","ngRequired","minlength","minlengthDirective","ngMinlength","maxlength","maxlengthDirective","ngMaxlength","ngValue","ngValueDirective","ngModelOptions","ngModelOptionsDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$animateCss","$CoreAnimateCssProvider","$$animateJs","$$CoreAnimateJsProvider","$$animateQueue","$$CoreAnimateQueueProvider","$$AnimateRunner","$$AnimateRunnerFactoryProvider","$$animateAsyncRun","$$AnimateAsyncRunFactoryProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$$forceReflow","$$ForceReflowProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpParamSerializer","$HttpParamSerializerProvider","$httpParamSerializerJQLike","$HttpParamSerializerJQLikeProvider","$httpBackend","$HttpBackendProvider","$xhrFactory","$xhrFactoryProvider","$location","$LocationProvider","$log","$LogProvider","$parse","$ParseProvider","$rootScope","$RootScopeProvider","$q","$QProvider","$$q","$$QProvider","$sce","$SceProvider","$sceDelegate","$SceDelegateProvider","$sniffer","$SnifferProvider","$templateCache","$TemplateCacheProvider","$templateRequest","$TemplateRequestProvider","$$testability","$$TestabilityProvider","$timeout","$TimeoutProvider","$window","$WindowProvider","$$rAF","$$RAFProvider","$$jqLite","$$jqLiteProvider","$$HashMap","$$HashMapProvider","$$cookieReader","$$CookieReaderProvider","camelCase","SPECIAL_CHARS_REGEXP","_","offset","toUpperCase","MOZ_HACK_REGEXP","jqLiteAcceptsData","NODE_TYPE_ELEMENT","NODE_TYPE_DOCUMENT","jqLiteBuildFragment","tmp","fragment","createDocumentFragment","HTML_REGEXP","appendChild","createElement","TAG_NAME_REGEXP","exec","wrap","wrapMap","_default","innerHTML","XHTML_TAG_REGEXP","lastChild","childNodes","firstChild","textContent","createTextNode","jqLiteWrapNode","wrapper","parentNode","replaceChild","argIsString","trim","jqLiteMinErr","parsed","SINGLE_TAG_REGEXP","jqLiteAddNodes","jqLiteClone","jqLiteDealoc","onlyDescendants","jqLiteRemoveData","querySelectorAll","descendants","l","jqLiteOff","unsupported","expandoStore","jqLiteExpandoStore","handle","removeHandler","listenerFns","removeEventListener","MOUSE_EVENT_MAP","expandoId","ng339","jqCache","createIfNecessary","jqId","jqLiteData","isSimpleSetter","isSimpleGetter","massGetter","jqLiteHasClass","selector","jqLiteRemoveClass","cssClasses","setAttribute","cssClass","jqLiteAddClass","existingClasses","root","elements","jqLiteController","jqLiteInheritedData","documentElement","names","NODE_TYPE_DOCUMENT_FRAGMENT","host","jqLiteEmpty","removeChild","jqLiteRemove","keepData","jqLiteDocumentLoaded","action","win","readyState","setTimeout","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","createEventHandler","eventHandler","event","isDefaultPrevented","event.isDefaultPrevented","defaultPrevented","eventFns","eventFnsLength","immediatePropagationStopped","originalStopImmediatePropagation","stopImmediatePropagation","event.stopImmediatePropagation","stopPropagation","isImmediatePropagationStopped","event.isImmediatePropagationStopped","handlerWrapper","specialHandlerWrapper","defaultHandlerWrapper","handler","specialMouseHandlerWrapper","target","related","relatedTarget","jqLiteContains","$get","this.$get","hasClass","classes","addClass","removeClass","hashKey","nextUidFn","objType","HashMap","isolatedUid","this.nextUid","put","anonFn","args","fnText","STRIP_COMMENTS","FN_ARGS","modulesToLoad","supportObject","delegate","provider_","providerInjector","instantiate","providerCache","providerSuffix","enforceReturnValue","enforcedReturnValue","result","instanceInjector","factoryFn","enforce","loadModules","moduleFn","runInvokeQueue","invokeArgs","loadedModules","message","stack","createInternalInjector","cache","getService","serviceName","caller","INSTANTIATING","err","shift","locals","$inject","$$annotate","Type","instance","prototype","returnedValue","annotate","has","$injector","instanceCache","decorFn","origProvider","orig$get","origProvider.$get","origInstance","$delegate","autoScrollingEnabled","disableAutoScrolling","this.disableAutoScrolling","getFirstAnchor","list","some","scrollTo","scrollIntoView","scroll","yOffset","getComputedStyle","position","getBoundingClientRect","bottom","elemTop","top","scrollBy","hash","elm","getElementById","getElementsByName","autoScrollWatch","autoScrollWatchAction","newVal","oldVal","mergeClasses","b","splitClasses","klass","prepareAnimateOptions","options","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","pop","error","cacheStateAndFireUrlChange","pendingLocation","cacheState","fireUrlChange","history","state","cachedState","lastCachedState","lastBrowserUrl","url","lastHistoryState","urlChangeListeners","listener","clearTimeout","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","self.$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","self.notifyWhenNoOutstandingRequests","callback","href","baseElement","self.url","sameState","sameBase","stripHash","substr","self.state","urlChangeInit","onUrlChange","self.onUrlChange","$$applicationDestroyed","self.$$applicationDestroyed","off","$$checkUrlChange","baseHref","self.baseHref","defer","self.defer","delay","timeoutId","cancel","self.defer.cancel","deferId","cacheFactory","cacheId","refresh","entry","freshEnd","staleEnd","n","link","p","nextEntry","prevEntry","caches","size","stats","id","capacity","Number","MAX_VALUE","lruHash","lruEntry","remove","removeAll","destroy","info","cacheFactory.info","cacheFactory.get","$$sanitizeUriProvider","parseIsolateBindings","directiveName","isController","LOCAL_REGEXP","bindings","definition","scopeName","bindingCache","$compileMinErr","mode","collection","optional","attrName","assertValidDirectiveName","hasDirectives","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","ALL_OR_NOTHING_ATTRS","REQUIRE_PREFIX_REGEXP","EVENT_HANDLER_ATTR_REGEXP","this.directive","registerDirective","directiveFactory","Suffix","directives","priority","require","restrict","aHrefSanitizationWhitelist","this.aHrefSanitizationWhitelist","regexp","imgSrcSanitizationWhitelist","this.imgSrcSanitizationWhitelist","this.debugInfoEnabled","enabled","safeAddClass","$element","className","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","NOT_EMPTY","domNode","nodeValue","compositeLinkFn","compileNodes","$$addScopeClass","namespace","publicLinkFn","cloneConnectFn","needsNewScope","$parent","$new","parentBoundTranscludeFn","transcludeControllers","futureParentElement","$$boundTransclude","$linkNode","wrapTemplate","controllerName","$$addScopeInfo","nodeList","$rootElement","childLinkFn","childScope","childBoundTranscludeFn","stableNodeList","nodeLinkFnFound","linkFns","idx","nodeLinkFn","transcludeOnThisElement","createBoundTranscludeFn","transclude","templateOnThisElement","attrs","linkFnFound","Attributes","collectDirectives","applyDirectivesToNode","$$element","terminal","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","containingScope","$$transcluded","attrsMap","$attr","addDirective","directiveNormalize","isNgAttr","nAttrs","attributes","attrStartName","attrEndName","ngAttrName","NG_ATTR_BINDING","PREFIX_REGEXP","multiElementMatch","MULTI_ELEMENT_DIR_RE","directiveIsMultiElement","nName","addAttrInterpolateDirective","animVal","msie","addTextInterpolateDirective","NODE_TYPE_COMMENT","byPriority","groupScan","attrStart","attrEnd","depth","groupElementsLinkFnWrapper","linkFn","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","getControllers","elementControllers","inheritType","dataName","setupControllers","controllerDirectives","controllerKey","$scope","$attrs","$transclude","controllerInstance","controllerAs","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","scopeToChild","controllerScope","removeScopeBindingWatches","newScopeDirective","templateDirective","$$originalDirective","$$isolateBindings","initializeDirectiveBindings","$on","controllerDirective","$$bindings","bindToController","identifier","removeControllerBindingWatches","controllerResult","invokeLinkFn","template","templateUrl","terminalPriority","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","$template","childTranscludeFn","$$start","$$end","directiveValue","assertNoDuplicate","$$tlb","createComment","replaceWith","replaceDirective","contents","$$newScope","denormalizeTemplate","removeComments","templateNamespace","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectiveScope","mergeTemplateAttributes","compileTemplateUrl","Math","max","newScope","tDirectives","startAttrName","endAttrName","ident","CNTRL_REG","multiElement","srcAttr","dstAttr","$set","tAttrs","linkQueue","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","then","content","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","$$destroyed","oldClasses","delayedNodeLinkFn","ignoreChildLinkFn","diff","what","previousDirective","wrapModuleNameIfDefined","moduleName","text","interpolateFn","textInterpolateCompileFn","templateNode","templateNodeParent","hasCompileParent","$$addBindingClass","textInterpolateLinkFn","$$addBindingInfo","expressions","interpolateFnWatchAction","getTrustedContext","attrNormalizedName","HTML","RESOURCE_URL","allOrNothing","trustedContext","attrInterpolatePreLinkFn","$$observers","newValue","$$inter","$$scope","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","hasData","expando","k","kk","annotation","removeWatchCollection","lastValue","parentGet","parentSet","compare","$observe","literal","assign","parentValueWatch","parentValue","$stateful","removeWatch","$watchCollection","removeWatches","attributesToCopy","$normalize","$addClass","classVal","$removeClass","newClasses","toAdd","tokenDifference","toRemove","writeAttr","booleanKey","aliasedKey","ALIASED_ATTR","observer","trimmedSrcset","srcPattern","rawUris","nbrUrisWith2parts","floor","innerIdx","lastTuple","removeAttr","listeners","startSymbol","endSymbol","binding","isolated","noTemplate","str1","str2","values","tokens1","tokens2","token","jqNodes","globals","register","this.register","allowGlobals","this.allowGlobals","addIdentifier","expression","later","$controllerMinErr","controllerPrototype","exception","cause","serializeValue","v","toISOString","ngParamSerializer","params","jQueryLikeParamSerializer","serialize","toSerialize","topLevel","defaultHttpResponseTransform","headers","tempData","JSON_PROTECTION_PREFIX","contentType","jsonStart","JSON_START","JSON_ENDS","parseHeaders","line","headerVal","headerKey","headersGetter","headersObj","transformData","status","fns","defaults","transformResponse","transformRequest","d","common","CONTENT_TYPE_APPLICATION_JSON","patch","xsrfCookieName","xsrfHeaderName","paramSerializer","useApplyAsync","this.useApplyAsync","useLegacyPromise","useLegacyPromiseExtensions","this.useLegacyPromiseExtensions","interceptorFactories","interceptors","requestConfig","response","resp","reject","executeHeaderFns","headerContent","processedHeaders","headerFn","header","mergeHeaders","defHeaders","reqHeaders","defHeaderName","lowercaseDefHeaderName","reqHeaderName","chain","serverRequest","reqData","withCredentials","sendReq","promise","when","reversedInterceptors","interceptor","request","requestError","responseError","thenFn","rejectFn","success","promise.success","promise.error","$httpMinErrLegacyFn","done","headersString","statusText","resolveHttpPromise","resolvePromise","$applyAsync","$$phase","deferred","resolve","resolvePromiseWithResult","removePendingReq","pendingRequests","cachedResp","buildUrl","defaultCache","xsrfValue","urlIsSameOrigin","timeout","responseType","serializedParams","interceptorFactory","createShortMethods","createShortMethodsWithData","createXhr","XMLHttpRequest","createHttpBackend","callbacks","$browserDefer","rawDocument","jsonpReq","callbackId","async","body","called","addEventListener","timeoutRequest","jsonpDone","xhr","abort","completeRequest","open","setRequestHeader","onload","xhr.onload","responseText","urlResolve","protocol","getAllResponseHeaders","onerror","onabort","send","this.startSymbol","this.endSymbol","escape","ch","unescapeText","escapedStartRegexp","escapedEndRegexp","mustHaveExpression","parseStringifyInterceptor","getTrusted","$interpolateMinErr","interr","endIndex","parseFns","textLength","expressionPositions","startSymbolLength","exp","endSymbolLength","throwNoconcat","compute","interpolationFn","$$watchDelegate","$watchGroup","interpolateFnWatcher","oldValues","currValue","$interpolate.startSymbol","$interpolate.endSymbol","interval","count","invokeApply","hasParams","setInterval","clearInterval","iteration","skipApply","$$intervalId","tick","notify","intervals","interval.cancel","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","search","$$hash","beginsWith","begin","whole","trimEmptyHash","LocationHtml5Url","appBase","appBaseNoFile","basePrefix","$$html5","$$parse","this.$$parse","pathUrl","$locationMinErr","$$compose","this.$$compose","$$url","$$absUrl","$$parseLinkUrl","this.$$parseLinkUrl","relHref","appUrl","prevAppUrl","rewrittenUrl","LocationHashbangUrl","hashPrefix","withoutBaseUrl","withoutHashUrl","windowsFilePathExp","base","firstPathSegmentMatch","LocationHashbangInHtml5Url","locationGetter","property","locationGetterSetter","preprocess","html5Mode","requireBase","rewriteLinks","this.hashPrefix","this.html5Mode","setBrowserUrlWithFallback","oldUrl","oldState","$$state","afterLocationChange","$broadcast","absUrl","LocationMode","initialUrl","lastIndexOf","IGNORE_URI_REGEXP","ctrlKey","metaKey","shiftKey","which","button","absHref","preventDefault","initializing","newUrl","newState","$digest","$locationWatch","currentReplace","$$replace","urlOrStateChanged","debug","debugEnabled","this.debugEnabled","flag","formatError","Error","sourceURL","consoleLog","console","logFn","log","hasApply","arg1","arg2","warn","ensureSafeMemberName","fullExpression","$parseMinErr","getStringValue","ensureSafeObject","children","ensureSafeFunction","CALL","APPLY","BIND","ensureSafeAssignContext","Function","ifDefined","plusFn","r","findConstantAndWatchExpressions","ast","allConstants","argsToWatch","AST","Program","expr","Literal","toWatch","UnaryExpression","argument","BinaryExpression","left","right","LogicalExpression","ConditionalExpression","alternate","consequent","Identifier","MemberExpression","object","computed","CallExpression","callee","AssignmentExpression","ArrayExpression","ObjectExpression","properties","ThisExpression","getInputs","lastExpression","isAssignable","assignableAST","NGValueParameter","operator","isLiteral","ASTCompiler","astBuilder","ASTInterpreter","isPossiblyDangerousMemberName","getValueOf","objectValueOf","cacheDefault","cacheExpensive","interceptorFn","expensiveChecks","parsedExpression","oneTime","cacheKey","runningChecksEnabled","parseOptions","$parseOptionsExpensive","$parseOptions","lexer","Lexer","parser","Parser","constantWatchDelegate","oneTimeLiteralWatchDelegate","oneTimeWatchDelegate","inputs","inputsWatchDelegate","expensiveChecksInterceptor","addInterceptor","expensiveCheckFn","expensiveCheckOldValue","expressionInputDirtyCheck","oldValueOfValue","objectEquality","prettyPrintExpression","inputExpressions","lastResult","oldInputValueOf","expressionInputWatch","newInputValue","oldInputValueOfValues","oldInputValues","expressionInputsWatch","changed","unwatch","oneTimeWatch","oneTimeListener","old","$$postDigest","isAllDefined","allDefined","constantWatch","constantListener","watchDelegate","useInputs","regularInterceptedExpression","oneTimeInterceptedExpression","noUnsafeEval","$$runningExpensiveChecks","$parse.$$runningExpensiveChecks","qFactory","nextTick","exceptionHandler","callOnce","resolveFn","Promise","simpleBind","scheduleProcessQueue","processScheduled","pending","Deferred","$qMinErr","TypeError","onFulfilled","onRejected","progressBack","catch","finally","handleCallback","$$reject","$$resolve","progress","makePromise","resolved","isResolved","callbackOutput","errback","$Q","Q","resolver","all","promises","results","requestAnimationFrame","webkitRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","timer","supported","createChildScopeClass","ChildScope","$$watchers","$$nextSibling","$$childHead","$$childTail","$$listeners","$$listenerCount","$$watchersCount","$id","$$ChildScope","TTL","$rootScopeMinErr","lastDirtyWatch","applyAsyncId","digestTtl","this.digestTtl","destroyChildScope","$event","currentScope","cleanUpScope","$$prevSibling","$root","Scope","beginPhase","phase","incrementWatchersCount","current","decrementListenerCount","initWatchVal","flushApplyAsync","applyAsyncQueue","scheduleApplyAsync","isolate","child","watchExp","watcher","last","eq","deregisterWatch","watchExpressions","watchGroupAction","changeReactionScheduled","firstRun","newValues","deregisterFns","shouldCall","deregisterWatchGroup","unwatchFn","watchGroupSubAction","$watchCollectionInterceptor","_value","bothNaN","newItem","oldItem","internalArray","oldLength","changeDetected","newLength","internalObject","veryOldValue","trackVeryOldValue","changeDetector","initRun","$watchCollectionAction","watch","watchers","dirty","ttl","watchLog","logIdx","asyncTask","asyncQueue","$eval","msg","next","postDigestQueue","eventName","this.$watchGroup","$applyAsyncExpression","namedListeners","indexOfListener","$emit","targetScope","listenerArgs","$$asyncQueue","$$postDigestQueue","$$applyAsyncQueue","sanitizeUri","uri","isImage","regex","normalizedVal","adjustMatcher","matcher","$sceMinErr","escapeForRegexp","adjustMatchers","matchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","this.resourceUrlWhitelist","this.resourceUrlBlacklist","matchUrl","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","this.$$unwrapTrustedValue","holderType.prototype.valueOf","holderType.prototype.toString","htmlSanitizer","trustedValueHolderBase","byType","CSS","URL","JS","trustAs","Constructor","maybeTrusted","allowed","this.enabled","sce","isEnabled","sce.isEnabled","sce.getTrusted","parseAs","sce.parseAs","enumValue","lName","eventSupport","android","userAgent","navigator","boxee","vendorPrefix","vendorRegex","bodyStyle","transitions","animations","webkitTransition","webkitAnimation","pushState","hasEvent","divElm","handleRequestFn","tpl","ignoreRequestError","totalPendingRequests","getTrustedResourceUrl","transformer","httpOptions","handleError","testability","testability.findBindings","opt_exactMatch","getElementsByClassName","matches","dataBinding","bindingName","testability.findModels","prefixes","attributeEquals","testability.getLocation","testability.setLocation","testability.whenStable","deferreds","$$timeoutId","timeout.cancel","urlParsingNode","requestUrl","originUrl","$$CookieReader","safeDecodeURIComponent","lastCookies","lastCookieString","cookieArray","cookie","currentCookieString","filters","suffix","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","comparator","matchAgainstAnyProp","getTypeForFilter","expressionType","predicateFn","createPredicateFn","shouldMatchPrimitives","actual","expected","deepCompare","dontMatchWholeObject","actualType","expectedType","expectedVal","matchAnyProperty","actualVal","$locale","formats","NUMBER_FORMATS","amount","currencySymbol","fractionSize","CURRENCY_SYM","PATTERNS","maxFrac","formatNumber","GROUP_SEP","DECIMAL_SEP","number","numStr","exponent","digits","numberOfIntegerDigits","zeros","ZERO_CHAR","MAX_DIGITS","roundNumber","parsedNumber","minFrac","fractionLen","min","roundAt","digit","carry","reduceRight","groupSep","decimalSep","isInfinity","isFinite","isZero","abs","formattedText","integerLen","decimals","reduce","groups","lgSize","gSize","negPre","negSuf","posPre","posSuf","padNumber","num","neg","dateGetter","dateStrGetter","shortForm","getFirstThursdayOfYear","year","dayOfWeekOnFirst","getDay","weekGetter","firstThurs","getFullYear","thisThurs","getMonth","getDate","round","eraGetter","ERAS","jsonStringToDate","string","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","m","s","ms","parseFloat","format","DATETIME_FORMATS","NUMBER_STRING","DATE_FORMATS_SPLIT","DATE_FORMATS","spacing","limit","Infinity","processPredicates","sortPredicate","reverseOrder","map","predicate","descending","predicates","compareValues","getComparisonObject","predicateValues","doComparison","v1","v2","ngDirective","FormController","controls","$error","$$success","$pending","$name","$dirty","$pristine","$valid","$invalid","$submitted","$$parentForm","nullFormCtrl","$rollbackViewValue","form.$rollbackViewValue","control","$commitViewValue","form.$commitViewValue","$addControl","form.$addControl","$$renameControl","form.$$renameControl","newName","oldName","$removeControl","form.$removeControl","$setValidity","addSetValidityMethod","ctrl","set","unset","$setDirty","form.$setDirty","PRISTINE_CLASS","DIRTY_CLASS","$setPristine","form.$setPristine","setClass","SUBMITTED_CLASS","$setUntouched","form.$setUntouched","$setSubmitted","form.$setSubmitted","stringBasedInputType","$formatters","$isEmpty","baseInputType","composing","ev","ngTrim","$viewValue","$$hasNativeValidators","$setViewValue","deferListener","origValue","keyCode","PARTIAL_VALIDATION_TYPES","PARTIAL_VALIDATION_EVENTS","validity","origBadInput","badInput","origTypeMismatch","typeMismatch","$render","ctrl.$render","createDateParser","mapping","iso","ISO_DATE_REGEXP","yyyy","MM","dd","HH","getHours","mm","ss","getSeconds","sss","getMilliseconds","part","NaN","createDateInputType","parseDate","dynamicDateInputType","isValidDate","parseObservedDateValue","badInputChecker","$options","previousDate","$$parserName","$parsers","parsedDate","ngModelMinErr","ngMin","minVal","$validators","ctrl.$validators.min","$validate","ngMax","maxVal","ctrl.$validators.max","VALIDITY_STATE_PROPERTY","parseConstantExpr","parseFn","classDirective","arrayDifference","arrayClasses","digestClassCounts","classCounts","classesToUpdate","ngClassWatchAction","$index","old$index","mod","cachedToggleClass","switchValue","classCache","toggleValidationCss","validationErrorKey","isValid","VALID_CLASS","INVALID_CLASS","setValidity","isObjectEmpty","PENDING_CLASS","combinedState","REGEX_STRING_REGEXP","documentMode","rules","ngCspElement","ngCspAttribute","noInlineStyle","name_","el","full","major","minor","dot","codeName","JQLite._data","mouseleave","mouseenter","optgroup","tbody","tfoot","colgroup","caption","thead","th","td","Node","contains","compareDocumentPosition","ready","trigger","fired","removeData","jqLiteHasData","removeAttribute","css","NODE_TYPE_ATTRIBUTE","lowercasedName","specified","getNamedItem","ret","getText","$dv","multiple","selected","nodeCount","jqLiteOn","types","addHandler","noEventListener","one","onFn","replaceNode","insertBefore","contentDocument","prepend","wrapNode","detach","after","newElement","toggleClass","condition","classCondition","nextElementSibling","getElementsByTagName","extraParameters","dummyEvent","handlerArgs","eventFnsCopy","arg3","unbind","FN_ARG_SPLIT","FN_ARG","argDecl","underscore","$animateMinErr","postDigestElements","updateData","handleCSSClassChanges","existing","pin","domOperation","from","to","classesAdded","add","classesRemoved","runner","complete","$$registeredAnimations","classNameFilter","this.classNameFilter","$$classNameFilter","reservedRegex","NG_ANIMATE_CLASSNAME","domInsert","parentElement","afterElement","afterNode","ELEMENT_NODE","previousElementSibling","end","enter","move","leave","addclass","animate","tempClasses","waitForTick","waitQueue","passed","AnimateRunner","setHost","rafTick","_doneCallbacks","_tick","this._tick","doc","hidden","_state","AnimateRunner.chain","AnimateRunner.all","runners","onProgress","DONE_COMPLETE_STATE","getPromise","resolveHandler","rejectHandler","pause","resume","_resolve","INITIAL_STATE","DONE_PENDING_STATE","initialOptions","closed","$$prepared","cleanupStyles","start","offsetWidth","APPLICATION_JSON","$httpMinErr","$interpolateMinErr.throwNoconcat","$interpolateMinErr.interr","PATH_MATCH","locationPrototype","paramValue","Location","Location.prototype.state","OPERATORS","ESCAPE","lex","tokens","readString","peek","readNumber","isIdent","readIdent","is","isWhitespace","ch2","ch3","op2","op3","op1","throwError","chars","isExpOperator","colStr","peekCh","quote","rawString","hex","String","fromCharCode","rep","ExpressionStatement","Property","program","expressionStatement","expect","filterChain","assignment","ternary","logicalOR","consume","logicalAND","equality","relational","additive","multiplicative","unary","primary","arrayDeclaration","constants","parseArguments","baseExpression","peekToken","kind","e1","e2","e3","e4","peekAhead","t","nextId","vars","own","assignable","stage","computing","recurse","return_","generateFunction","fnKey","intoId","watchId","fnString","USE","STRICT","filterPrefix","watchFns","varsPrefix","section","nameId","recursionFn","skipWatchIdCheck","if_","lazyAssign","computedMember","lazyRecurse","plus","not","getHasOwnProperty","nonComputedMember","addEnsureSafeObject","notNull","addEnsureSafeAssignContext","addEnsureSafeMemberName","addEnsureSafeFunction","member","filterName","defaultValue","stringEscapeRegex","stringEscapeFn","c","charCodeAt","skip","init","fn.assign","rhs","lhs","unary+","unary-","unary!","binary+","binary-","binary*","binary/","binary%","binary===","binary!==","binary==","binary!=","binary<","binary>","binary<=","binary>=","binary&&","binary||","ternary?:","astCompiler","yy","y","MMMM","MMM","M","H","hh","EEEE","EEE","ampmGetter","AMPMS","Z","timeZoneGetter","zone","paddedZone","ww","w","G","GG","GGG","GGGG","longEraGetter","ERANAMES","xlinkHref","propName","defaultLinkFn","normalized","ngBooleanAttrWatchAction","htmlAttr","ngAttrAliasWatchAction","nullFormRenameControl","formDirectiveFactory","isNgForm","getSetter","ngFormCompile","formElement","nameAttr","ngFormPreLink","ctrls","handleFormSubmission","setter","URL_REGEXP","EMAIL_REGEXP","NUMBER_REGEXP","DATE_REGEXP","DATETIMELOCAL_REGEXP","WEEK_REGEXP","MONTH_REGEXP","TIME_REGEXP","inputType","textInputType","weekParser","isoWeek","existingDate","week","hours","seconds","milliseconds","addDays","numberInputType","urlInputType","ctrl.$validators.url","modelValue","viewValue","emailInputType","email","ctrl.$validators.email","radioInputType","checked","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","ctrl.$isEmpty","CONSTANT_VALUE_REGEXP","tplAttr","ngValueConstantLink","ngValueLink","valueWatchAction","$compile","ngBindCompile","templateElement","ngBindLink","ngBindWatchAction","ngBindTemplateCompile","ngBindTemplateLink","ngBindHtmlCompile","tElement","ngBindHtmlGetter","ngBindHtmlWatch","ngBindHtmlLink","ngBindHtmlWatchAction","getTrustedHtml","$viewChangeListeners","forceAsyncEvents","ngEventHandler","previousElements","ngIfWatchAction","srcExp","onloadExp","autoScrollExp","autoscroll","changeCounter","previousElement","currentElement","cleanupLastIncludeContent","ngIncludeWatchAction","afterAnimation","thisChangeId","namespaceAdaptedClone","trimValues","NgModelController","$modelValue","$$rawModelValue","$asyncValidators","$untouched","$touched","parsedNgModel","parsedNgModelAssign","ngModelGet","ngModelSet","pendingDebounce","parserValid","$$setOptions","this.$$setOptions","getterSetter","invokeModelGetter","invokeModelSetter","$$$p","this.$isEmpty","currentValidationRunId","this.$setPristine","this.$setDirty","this.$setUntouched","UNTOUCHED_CLASS","TOUCHED_CLASS","$setTouched","this.$setTouched","this.$rollbackViewValue","$$lastCommittedViewValue","this.$validate","prevValid","prevModelValue","allowInvalid","$$runValidators","allValid","$$writeModelToScope","this.$$runValidators","doneCallback","processSyncValidators","syncValidatorsValid","validator","processAsyncValidators","validatorPromises","validationDone","localValidationRunId","processParseErrors","errorKey","this.$commitViewValue","$$parseAndValidate","this.$$parseAndValidate","this.$$writeModelToScope","this.$setViewValue","updateOnDefault","$$debounceViewValueCommit","this.$$debounceViewValueCommit","debounceDelay","debounce","ngModelWatch","formatters","ngModelCompile","ngModelPreLink","modelCtrl","formCtrl","ngModelPostLink","updateOn","DEFAULT_REGEXP","that","ngOptionsMinErr","NG_OPTIONS_REGEXP","parseOptionsExpression","optionsExp","selectElement","Option","selectValue","label","group","disabled","getOptionValuesKeys","optionValues","optionValuesKeys","keyName","itemKey","valueName","selectAs","trackBy","viewValueFn","trackByFn","getTrackByValueFn","getHashOfValue","getTrackByValue","getLocals","displayFn","groupByFn","disableWhenFn","valuesFn","getWatchables","watchedArray","optionValuesLength","disableWhen","getOptions","optionItems","selectValueMap","optionItem","getOptionFromViewValue","getViewValueFromOption","optionTemplate","optGroupTemplate","ngOptionsPreLink","registerOption","ngOptionsPostLink","updateOptionElement","addOrReuseElement","removeExcessElements","skipEmptyAndUnknownOptions","emptyOption_","emptyOption","unknownOption_","unknownOption","updateOptions","previousValue","selectCtrl","readValue","groupMap","providedEmptyOption","updateOption","optionElement","groupElement","currentOptionElement","ngModelCtrl","nextValue","ngModelCtrl.$isEmpty","writeValue","selectCtrl.writeValue","selectCtrl.readValue","selectedValues","selections","selectedOption","BRACE","IS_WHEN","updateElementText","newText","numberExp","whenExp","whens","whensExpFns","braceReplacement","watchRemover","lastCount","attributeName","tmpMatch","whenKey","ngPluralizeWatchAction","countIsNaN","pluralCat","whenExpFn","ngRepeatMinErr","updateScope","valueIdentifier","keyIdentifier","arrayLength","$first","$last","$middle","$odd","$even","ngRepeatCompile","ngRepeatEndComment","aliasAs","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","hashFnLocals","ngRepeatLink","lastBlockMap","ngRepeatAction","previousNode","nextNode","nextBlockMap","collectionLength","trackById","collectionKeys","nextBlockOrder","trackByIdFn","blockKey","ngRepeatTransclude","ngShowWatchAction","NG_HIDE_CLASS","NG_HIDE_IN_PROGRESS_CLASS","ngHideWatchAction","ngStyleWatchAction","newStyles","oldStyles","ngSwitchController","cases","selectedTranscludes","selectedElements","previousLeaveAnimations","selectedScopes","spliceFactory","ngSwitchWatchAction","selectedTransclude","caseElement","selectedScope","anchor","noopNgModelController","SelectController","optionsMap","renderUnknownOption","self.renderUnknownOption","unknownVal","removeUnknownOption","self.removeUnknownOption","self.readValue","self.writeValue","hasOption","addOption","self.addOption","removeOption","self.removeOption","self.hasOption","self.registerOption","optionScope","optionAttrs","interpolateValueFn","interpolateTextFn","valueAttributeObserveAction","interpolateWatchAction","selectPreLink","lastView","lastViewRef","selectMultipleWatch","selectPostLink","ngModelCtrl.$render","selectCtrlName","ctrl.$validators.required","patternExp","ctrl.$validators.pattern","intVal","ctrl.$validators.maxlength","ctrl.$validators.minlength","getDecimals","opt_precision","pow","ONE","OTHER","$$csp","head"] } diff --git a/libs/bower_components/angular/bower.json b/libs/bower_components/angular/bower.json index 25dbde948b..97cd24e4ef 100644 --- a/libs/bower_components/angular/bower.json +++ b/libs/bower_components/angular/bower.json @@ -1,6 +1,7 @@ { "name": "angular", - "version": "1.4.3", + "version": "1.4.10", + "license": "MIT", "main": "./angular.js", "ignore": [], "dependencies": { diff --git a/libs/bower_components/angular/package.json b/libs/bower_components/angular/package.json index 28ac057ca6..ac67549ee7 100644 --- a/libs/bower_components/angular/package.json +++ b/libs/bower_components/angular/package.json @@ -1,6 +1,6 @@ { "name": "angular", - "version": "1.4.3", + "version": "1.4.10", "description": "HTML enhanced for web apps", "main": "index.js", "scripts": { diff --git a/libs/bower_components/chroma-js/.bower.json b/libs/bower_components/chroma-js/.bower.json index 13fae937ed..42b052fc66 100644 --- a/libs/bower_components/chroma-js/.bower.json +++ b/libs/bower_components/chroma-js/.bower.json @@ -1,7 +1,7 @@ { "name": "chroma-js", "description": "JavaScript library for color conversions", - "version": "0.6.0", + "version": "0.6.1", "main": [ "./chroma.js" ], @@ -31,13 +31,13 @@ "lab" ], "license": "MIT", - "_release": "0.6.0", + "_release": "0.6.1", "_resolution": { "type": "version", - "tag": "v0.6.0", - "commit": "63b6204afa51563eae1e2d38cf10471adb2982e8" + "tag": "v0.6.1", + "commit": "dcca4c5dcc1eec8400ae02b6b51fbb44a2ae0d77" }, - "_source": "git://github.com/gka/chroma.js.git", + "_source": "https://github.com/gka/chroma.js.git", "_target": "~0.6.0", "_originalSource": "chroma-js" } \ No newline at end of file diff --git a/libs/bower_components/chroma-js/chroma.js b/libs/bower_components/chroma-js/chroma.js index 03bdf600c6..7433eaae41 100644 --- a/libs/bower_components/chroma-js/chroma.js +++ b/libs/bower_components/chroma-js/chroma.js @@ -290,9 +290,9 @@ mode += 'a'; } if (mode === 'rgb') { - return mode + '(' + rgb.slice(0, 3).join(',') + ')'; + return mode + '(' + rgb.slice(0, 3).map(Math.round).join(',') + ')'; } else if (mode === 'rgba') { - return mode + '(' + rgb.join(',') + ')'; + return mode + '(' + rgb.slice(0, 3).map(Math.round).join(',') + ',' + rgb[3] + ')'; } else if (mode === 'hsl' || mode === 'hsla') { hsl = me.hsl(); rnd = function(a) { diff --git a/libs/bower_components/chroma-js/chroma.min.js b/libs/bower_components/chroma-js/chroma.min.js index 8f84206ff6..603fd8f587 100644 --- a/libs/bower_components/chroma-js/chroma.min.js +++ b/libs/bower_components/chroma-js/chroma.min.js @@ -1,6 +1,6 @@ /** echo * @license echo * while read i do echo * done echo */ -!function(){var Color,K,PITHIRD,TWOPI,X,Y,Z,bezier,brewer,chroma,clip_rgb,colors,cos,css2rgb,hex2rgb,hsi2rgb,hsl2rgb,hsv2rgb,lab2lch,lab2rgb,lab_xyz,lch2lab,lch2rgb,limit,luminance,luminance_x,rgb2hex,rgb2hsi,rgb2hsl,rgb2hsv,rgb2lab,rgb2lch,rgb_xyz,root,type,unpack,xyz_lab,xyz_rgb,_ref;chroma=function(x,y,z,m){return new Color(x,y,z,m)};if(typeof module!=="undefined"&&module!==null&&module.exports!=null){module.exports=chroma}if(typeof define==="function"&&define.amd){define([],function(){return chroma})}else{root=typeof exports!=="undefined"&&exports!==null?exports:this;root.chroma=chroma}chroma.color=function(x,y,z,m){return new Color(x,y,z,m)};chroma.hsl=function(h,s,l,a){return new Color(h,s,l,a,"hsl")};chroma.hsv=function(h,s,v,a){return new Color(h,s,v,a,"hsv")};chroma.rgb=function(r,g,b,a){return new Color(r,g,b,a,"rgb")};chroma.hex=function(x){return new Color(x)};chroma.css=function(x){return new Color(x)};chroma.lab=function(l,a,b){return new Color(l,a,b,"lab")};chroma.lch=function(l,c,h){return new Color(l,c,h,"lch")};chroma.hsi=function(h,s,i){return new Color(h,s,i,"hsi")};chroma.gl=function(r,g,b,a){return new Color(r*255,g*255,b*255,a,"gl")};chroma.interpolate=function(a,b,f,m){if(a==null||b==null){return"#000"}if(type(a)==="string"){a=new Color(a)}if(type(b)==="string"){b=new Color(b)}return a.interpolate(f,b,m)};chroma.mix=chroma.interpolate;chroma.contrast=function(a,b){var l1,l2;if(type(a)==="string"){a=new Color(a)}if(type(b)==="string"){b=new Color(b)}l1=a.luminance();l2=b.luminance();if(l1>l2){return(l1+.05)/(l2+.05)}else{return(l2+.05)/(l1+.05)}};chroma.luminance=function(color){return chroma(color).luminance()};chroma._Color=Color;Color=function(){function Color(){var a,arg,args,m,me,me_rgb,x,y,z,_i,_len,_ref,_ref1,_ref2,_ref3,_ref4;me=this;args=[];for(_i=0,_len=arguments.length;_i<_len;_i++){arg=arguments[_i];if(arg!=null){args.push(arg)}}if(args.length===0){_ref=[255,0,255,1,"rgb"],x=_ref[0],y=_ref[1],z=_ref[2],a=_ref[3],m=_ref[4]}else if(type(args[0])==="array"){if(args[0].length===3){_ref1=args[0],x=_ref1[0],y=_ref1[1],z=_ref1[2];a=1}else if(args[0].length===4){_ref2=args[0],x=_ref2[0],y=_ref2[1],z=_ref2[2],a=_ref2[3]}else{throw"unknown input argument"}m=(_ref3=args[1])!=null?_ref3:"rgb"}else if(type(args[0])==="string"){x=args[0];m="hex"}else if(type(args[0])==="object"){_ref4=args[0]._rgb,x=_ref4[0],y=_ref4[1],z=_ref4[2],a=_ref4[3];m="rgb"}else if(args.length>=3){x=args[0];y=args[1];z=args[2]}if(args.length===3){m="rgb";a=1}else if(args.length===4){if(type(args[3])==="string"){m=args[3];a=1}else if(type(args[3])==="number"){m="rgb";a=args[3]}}else if(args.length===5){a=args[3];m=args[4]}if(a==null){a=1}if(m==="rgb"){me._rgb=[x,y,z,a]}else if(m==="gl"){me._rgb=[x*255,y*255,z*255,a]}else if(m==="hsl"){me._rgb=hsl2rgb(x,y,z);me._rgb[3]=a}else if(m==="hsv"){me._rgb=hsv2rgb(x,y,z);me._rgb[3]=a}else if(m==="hex"){me._rgb=hex2rgb(x)}else if(m==="lab"){me._rgb=lab2rgb(x,y,z);me._rgb[3]=a}else if(m==="lch"){me._rgb=lch2rgb(x,y,z);me._rgb[3]=a}else if(m==="hsi"){me._rgb=hsi2rgb(x,y,z);me._rgb[3]=a}me_rgb=clip_rgb(me._rgb)}Color.prototype.rgb=function(){return this._rgb.slice(0,3)};Color.prototype.rgba=function(){return this._rgb};Color.prototype.hex=function(){return rgb2hex(this._rgb)};Color.prototype.toString=function(){return this.name()};Color.prototype.hsl=function(){return rgb2hsl(this._rgb)};Color.prototype.hsv=function(){return rgb2hsv(this._rgb)};Color.prototype.lab=function(){return rgb2lab(this._rgb)};Color.prototype.lch=function(){return rgb2lch(this._rgb)};Color.prototype.hsi=function(){return rgb2hsi(this._rgb)};Color.prototype.gl=function(){return[this._rgb[0]/255,this._rgb[1]/255,this._rgb[2]/255,this._rgb[3]]};Color.prototype.luminance=function(){return luminance(this._rgb)};Color.prototype.name=function(){var h,k;h=this.hex();for(k in chroma.colors){if(h===chroma.colors[k]){return k}}return h};Color.prototype.alpha=function(alpha){if(arguments.length){this._rgb[3]=alpha;return this}return this._rgb[3]};Color.prototype.css=function(mode){var hsl,me,rgb,rnd;if(mode==null){mode="rgb"}me=this;rgb=me._rgb;if(mode.length===3&&rgb[3]<1){mode+="a"}if(mode==="rgb"){return mode+"("+rgb.slice(0,3).join(",")+")"}else if(mode==="rgba"){return mode+"("+rgb.join(",")+")"}else if(mode==="hsl"||mode==="hsla"){hsl=me.hsl();rnd=function(a){return Math.round(a*100)/100};hsl[0]=rnd(hsl[0]);hsl[1]=rnd(hsl[1]*100)+"%";hsl[2]=rnd(hsl[2]*100)+"%";if(mode.length===4){hsl[3]=rgb[3]}return mode+"("+hsl.join(",")+")"}};Color.prototype.interpolate=function(f,col,m){var dh,hue,hue0,hue1,lbv,lbv0,lbv1,me,res,sat,sat0,sat1,xyz0,xyz1;me=this;if(m==null){m="rgb"}if(type(col)==="string"){col=new Color(col)}if(m==="hsl"||m==="hsv"||m==="lch"||m==="hsi"){if(m==="hsl"){xyz0=me.hsl();xyz1=col.hsl()}else if(m==="hsv"){xyz0=me.hsv();xyz1=col.hsv()}else if(m==="hsi"){xyz0=me.hsi();xyz1=col.hsi()}else if(m==="lch"){xyz0=me.lch();xyz1=col.lch()}if(m.substr(0,1)==="h"){hue0=xyz0[0],sat0=xyz0[1],lbv0=xyz0[2];hue1=xyz1[0],sat1=xyz1[1],lbv1=xyz1[2]}else{lbv0=xyz0[0],sat0=xyz0[1],hue0=xyz0[2];lbv1=xyz1[0],sat1=xyz1[1],hue1=xyz1[2]}if(!isNaN(hue0)&&!isNaN(hue1)){if(hue1>hue0&&hue1-hue0>180){dh=hue1-(hue0+360)}else if(hue1180){dh=hue1+360-hue0}else{dh=hue1-hue0}hue=hue0+f*dh}else if(!isNaN(hue0)){hue=hue0;if((lbv1===1||lbv1===0)&&m!=="hsv"){sat=sat0}}else if(!isNaN(hue1)){hue=hue1;if((lbv0===1||lbv0===0)&&m!=="hsv"){sat=sat1}}else{hue=Number.NaN}if(sat==null){sat=sat0+f*(sat1-sat0)}lbv=lbv0+f*(lbv1-lbv0);if(m.substr(0,1)==="h"){res=new Color(hue,sat,lbv,m)}else{res=new Color(lbv,sat,hue,m)}}else if(m==="rgb"){xyz0=me._rgb;xyz1=col._rgb;res=new Color(xyz0[0]+f*(xyz1[0]-xyz0[0]),xyz0[1]+f*(xyz1[1]-xyz0[1]),xyz0[2]+f*(xyz1[2]-xyz0[2]),m)}else if(m==="lab"){xyz0=me.lab();xyz1=col.lab();res=new Color(xyz0[0]+f*(xyz1[0]-xyz0[0]),xyz0[1]+f*(xyz1[1]-xyz0[1]),xyz0[2]+f*(xyz1[2]-xyz0[2]),m)}else{throw"color mode "+m+" is not supported"}res.alpha(me.alpha()+f*(col.alpha()-me.alpha()));return res};Color.prototype.premultiply=function(){var a,rgb;rgb=this.rgb();a=this.alpha();return chroma(rgb[0]*a,rgb[1]*a,rgb[2]*a,a)};Color.prototype.darken=function(amount){var lch,me;if(amount==null){amount=20}me=this;lch=me.lch();lch[0]-=amount;return chroma.lch(lch).alpha(me.alpha())};Color.prototype.darker=function(amount){return this.darken(amount)};Color.prototype.brighten=function(amount){if(amount==null){amount=20}return this.darken(-amount)};Color.prototype.brighter=function(amount){return this.brighten(amount)};Color.prototype.saturate=function(amount){var lch,me;if(amount==null){amount=20}me=this;lch=me.lch();lch[1]+=amount;return chroma.lch(lch).alpha(me.alpha())};Color.prototype.desaturate=function(amount){if(amount==null){amount=20}return this.saturate(-amount)};return Color}();clip_rgb=function(rgb){var i;for(i in rgb){if(i<3){if(rgb[i]<0){rgb[i]=0}if(rgb[i]>255){rgb[i]=255}}else if(i===3){if(rgb[i]<0){rgb[i]=0}if(rgb[i]>1){rgb[i]=1}}}return rgb};css2rgb=function(css){var hsl,i,m,rgb,_i,_j,_k,_l;css=css.toLowerCase();if(chroma.colors!=null&&chroma.colors[css]){return hex2rgb(chroma.colors[css])}if(m=css.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){rgb=m.slice(1,4);for(i=_i=0;_i<=2;i=++_i){rgb[i]=+rgb[i]}rgb[3]=1}else if(m=css.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/)){rgb=m.slice(1,5);for(i=_j=0;_j<=3;i=++_j){rgb[i]=+rgb[i]}}else if(m=css.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){rgb=m.slice(1,4);for(i=_k=0;_k<=2;i=++_k){rgb[i]=Math.round(rgb[i]*2.55)}rgb[3]=1}else if(m=css.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){rgb=m.slice(1,5);for(i=_l=0;_l<=2;i=++_l){rgb[i]=Math.round(rgb[i]*2.55)}rgb[3]=+rgb[3]}else if(m=css.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){hsl=m.slice(1,4);hsl[1]*=.01;hsl[2]*=.01;rgb=hsl2rgb(hsl);rgb[3]=1}else if(m=css.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){hsl=m.slice(1,4);hsl[1]*=.01;hsl[2]*=.01;rgb=hsl2rgb(hsl);rgb[3]=+m[4]}return rgb};hex2rgb=function(hex){var a,b,g,r,rgb,u;if(hex.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)){if(hex.length===4||hex.length===7){hex=hex.substr(1)}if(hex.length===3){hex=hex.split("");hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]}u=parseInt(hex,16);r=u>>16;g=u>>8&255;b=u&255;return[r,g,b,1]}if(hex.match(/^#?([A-Fa-f0-9]{8})$/)){if(hex.length===9){hex=hex.substr(1)}u=parseInt(hex,16);r=u>>24&255;g=u>>16&255;b=u>>8&255;a=u&255;return[r,g,b,a]}if(rgb=css2rgb(hex)){return rgb}throw"unknown color: "+hex};hsi2rgb=function(h,s,i){var b,g,r,_ref;_ref=unpack(arguments),h=_ref[0],s=_ref[1],i=_ref[2];h/=360;if(h<1/3){b=(1-s)/3;r=(1+s*cos(TWOPI*h)/cos(PITHIRD-TWOPI*h))/3;g=1-(b+r)}else if(h<2/3){h-=1/3;r=(1-s)/3;g=(1+s*cos(TWOPI*h)/cos(PITHIRD-TWOPI*h))/3;b=1-(r+g)}else{h-=2/3;g=(1-s)/3;b=(1+s*cos(TWOPI*h)/cos(PITHIRD-TWOPI*h))/3;r=1-(g+b)}r=limit(i*r*3);g=limit(i*g*3);b=limit(i*b*3);return[r*255,g*255,b*255]};hsl2rgb=function(){var b,c,g,h,i,l,r,s,t1,t2,t3,_i,_ref,_ref1;_ref=unpack(arguments),h=_ref[0],s=_ref[1],l=_ref[2];if(s===0){r=g=b=l*255}else{t3=[0,0,0];c=[0,0,0];t2=l<.5?l*(1+s):l+s-l*s;t1=2*l-t2;h/=360;t3[0]=h+1/3;t3[1]=h;t3[2]=h-1/3;for(i=_i=0;_i<=2;i=++_i){if(t3[i]<0){t3[i]+=1}if(t3[i]>1){t3[i]-=1}if(6*t3[i]<1){c[i]=t1+(t2-t1)*6*t3[i]}else if(2*t3[i]<1){c[i]=t2}else if(3*t3[i]<2){c[i]=t1+(t2-t1)*(2/3-t3[i])*6}else{c[i]=t1}}_ref1=[Math.round(c[0]*255),Math.round(c[1]*255),Math.round(c[2]*255)],r=_ref1[0],g=_ref1[1],b=_ref1[2]}return[r,g,b]};hsv2rgb=function(){var b,f,g,h,i,p,q,r,s,t,v,_ref,_ref1,_ref2,_ref3,_ref4,_ref5,_ref6;_ref=unpack(arguments),h=_ref[0],s=_ref[1],v=_ref[2];v*=255;if(s===0){r=g=b=v}else{if(h===360){h=0}if(h>360){h-=360}if(h<0){h+=360}h/=60;i=Math.floor(h);f=h-i;p=v*(1-s);q=v*(1-s*f);t=v*(1-s*(1-f));switch(i){case 0:_ref1=[v,t,p],r=_ref1[0],g=_ref1[1],b=_ref1[2];break;case 1:_ref2=[q,v,p],r=_ref2[0],g=_ref2[1],b=_ref2[2];break;case 2:_ref3=[p,v,t],r=_ref3[0],g=_ref3[1],b=_ref3[2];break;case 3:_ref4=[p,q,v],r=_ref4[0],g=_ref4[1],b=_ref4[2];break;case 4:_ref5=[t,p,v],r=_ref5[0],g=_ref5[1],b=_ref5[2];break;case 5:_ref6=[v,p,q],r=_ref6[0],g=_ref6[1],b=_ref6[2]}}r=Math.round(r);g=Math.round(g);b=Math.round(b);return[r,g,b]};K=18;X=.95047;Y=1;Z=1.08883;lab2lch=function(){var a,b,c,h,l,_ref;_ref=unpack(arguments),l=_ref[0],a=_ref[1],b=_ref[2];c=Math.sqrt(a*a+b*b);h=Math.atan2(b,a)/Math.PI*180;return[l,c,h]};lab2rgb=function(l,a,b){var g,r,x,y,z,_ref,_ref1;if(l!==void 0&&l.length===3){_ref=l,l=_ref[0],a=_ref[1],b=_ref[2]}if(l!==void 0&&l.length===3){_ref1=l,l=_ref1[0],a=_ref1[1],b=_ref1[2]}y=(l+16)/116;x=y+a/500;z=y-b/200;x=lab_xyz(x)*X;y=lab_xyz(y)*Y;z=lab_xyz(z)*Z;r=xyz_rgb(3.2404542*x-1.5371385*y-.4985314*z);g=xyz_rgb(-.969266*x+1.8760108*y+.041556*z);b=xyz_rgb(.0556434*x-.2040259*y+1.0572252*z);return[limit(r,0,255),limit(g,0,255),limit(b,0,255),1]};lab_xyz=function(x){if(x>.206893034){return x*x*x}else{return(x-4/29)/7.787037}};xyz_rgb=function(r){return Math.round(255*(r<=.00304?12.92*r:1.055*Math.pow(r,1/2.4)-.055))};lch2lab=function(){var c,h,l,_ref;_ref=unpack(arguments),l=_ref[0],c=_ref[1],h=_ref[2];h=h*Math.PI/180;return[l,Math.cos(h)*c,Math.sin(h)*c]};lch2rgb=function(l,c,h){var L,a,b,g,r,_ref,_ref1;_ref=lch2lab(l,c,h),L=_ref[0],a=_ref[1],b=_ref[2];_ref1=lab2rgb(L,a,b),r=_ref1[0],g=_ref1[1],b=_ref1[2];return[limit(r,0,255),limit(g,0,255),limit(b,0,255)]};luminance=function(r,g,b){var _ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];r=luminance_x(r);g=luminance_x(g);b=luminance_x(b);return.2126*r+.7152*g+.0722*b};luminance_x=function(x){x/=255;if(x<=.03928){return x/12.92}else{return Math.pow((x+.055)/1.055,2.4)}};rgb2hex=function(){var b,g,r,str,u,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];u=r<<16|g<<8|b;str="000000"+u.toString(16);return"#"+str.substr(str.length-6)};rgb2hsi=function(){var TWOPI,b,g,h,i,min,r,s,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];TWOPI=Math.PI*2;r/=255;g/=255;b/=255;min=Math.min(r,g,b);i=(r+g+b)/3;s=1-min/i;if(s===0){h=0}else{h=(r-g+(r-b))/2;h/=Math.sqrt((r-g)*(r-g)+(r-b)*(g-b));h=Math.acos(h);if(b>g){h=TWOPI-h}h/=TWOPI}return[h*360,s,i]};rgb2hsl=function(r,g,b){var h,l,max,min,s,_ref;if(r!==void 0&&r.length>=3){_ref=r,r=_ref[0],g=_ref[1],b=_ref[2]}r/=255;g/=255;b/=255;min=Math.min(r,g,b);max=Math.max(r,g,b);l=(max+min)/2;if(max===min){s=0;h=Number.NaN}else{s=l<.5?(max-min)/(max+min):(max-min)/(2-max-min)}if(r===max){h=(g-b)/(max-min)}else if(g===max){h=2+(b-r)/(max-min)}else if(b===max){h=4+(r-g)/(max-min)}h*=60;if(h<0){h+=360}return[h,s,l]};rgb2hsv=function(){var b,delta,g,h,max,min,r,s,v,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];min=Math.min(r,g,b);max=Math.max(r,g,b);delta=max-min;v=max/255;if(max===0){h=Number.NaN;s=0}else{s=delta/max;if(r===max){h=(g-b)/delta}if(g===max){h=2+(b-r)/delta}if(b===max){h=4+(r-g)/delta}h*=60;if(h<0){h+=360}}return[h,s,v]};rgb2lab=function(){var b,g,r,x,y,z,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];r=rgb_xyz(r);g=rgb_xyz(g);b=rgb_xyz(b);x=xyz_lab((.4124564*r+.3575761*g+.1804375*b)/X);y=xyz_lab((.2126729*r+.7151522*g+.072175*b)/Y);z=xyz_lab((.0193339*r+.119192*g+.9503041*b)/Z);return[116*y-16,500*(x-y),200*(y-z)]};rgb_xyz=function(r){if((r/=255)<=.04045){return r/12.92}else{return Math.pow((r+.055)/1.055,2.4)}};xyz_lab=function(x){if(x>.008856){return Math.pow(x,1/3)}else{return 7.787037*x+4/29}};rgb2lch=function(){var a,b,g,l,r,_ref,_ref1;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];_ref1=rgb2lab(r,g,b),l=_ref1[0],a=_ref1[1],b=_ref1[2];return lab2lch(l,a,b)};chroma.scale=function(colors,positions){var classifyValue,f,getClass,getColor,resetCache,setColors,setDomain,tmap,_colorCache,_colors,_correctLightness,_domain,_fixed,_max,_min,_mode,_nacol,_numClasses,_out,_pos,_spread;_mode="rgb";_nacol=chroma("#ccc");_spread=0;_fixed=false;_domain=[0,1];_colors=[];_out=false;_pos=[];_min=0;_max=1;_correctLightness=false;_numClasses=0;_colorCache={};setColors=function(colors,positions){var c,col,_i,_j,_ref,_ref1,_ref2;if(colors==null){colors=["#ddd","#222"]}if(colors!=null&&type(colors)==="string"&&((_ref=chroma.brewer)!=null?_ref[colors]:void 0)!=null){colors=chroma.brewer[colors]}if(type(colors)==="array"){colors=colors.slice(0);for(c=_i=0,_ref1=colors.length-1;0<=_ref1?_i<=_ref1:_i>=_ref1;c=0<=_ref1?++_i:--_i){col=colors[c];if(type(col)==="string"){colors[c]=chroma(col)}}if(positions!=null){_pos=positions}else{_pos=[];for(c=_j=0,_ref2=colors.length-1;0<=_ref2?_j<=_ref2:_j>=_ref2;c=0<=_ref2?++_j:--_j){_pos.push(c/(colors.length-1))}}}resetCache();return _colors=colors};setDomain=function(domain){if(domain==null){domain=[]}_domain=domain;_min=domain[0];_max=domain[domain.length-1];resetCache();if(domain.length===2){return _numClasses=0}else{return _numClasses=domain.length-1}};getClass=function(value){var i,n;if(_domain!=null){n=_domain.length-1;i=0;while(i=_domain[i]){i++}return i-1}return 0};tmap=function(t){return t};classifyValue=function(value){var i,maxc,minc,n,val;val=value;if(_domain.length>2){n=_domain.length-1;i=getClass(value);minc=_domain[0]+(_domain[1]-_domain[0])*(0+_spread*.5);maxc=_domain[n-1]+(_domain[n]-_domain[n-1])*(1-_spread*.5);val=_min+(_domain[i]+(_domain[i+1]-_domain[i])*.5-minc)/(maxc-minc)*(_max-_min)}return val};getColor=function(val,bypassMap){var c,col,f0,i,k,p,t,_i,_ref;if(bypassMap==null){bypassMap=false}if(isNaN(val)){return _nacol}if(!bypassMap){if(_domain.length>2){c=getClass(val);t=c/(_numClasses-1)}else{t=f0=(val-_min)/(_max-_min);t=Math.min(1,Math.max(0,t))}}else{t=val}if(!bypassMap){t=tmap(t)}k=Math.floor(t*1e4);if(_colorCache[k]){col=_colorCache[k]}else{if(type(_colors)==="array"){for(i=_i=0,_ref=_pos.length-1;0<=_ref?_i<=_ref:_i>=_ref;i=0<=_ref?++_i:--_i){p=_pos[i];if(t<=p){col=_colors[i];break}if(t>=p&&i===_pos.length-1){col=_colors[i];break}if(t>p&&t<_pos[i+1]){t=(t-p)/(_pos[i+1]-p);col=chroma.interpolate(_colors[i],_colors[i+1],t,_mode);break}}}else if(type(_colors)==="function"){col=_colors(t)}_colorCache[k]=col}return col};resetCache=function(){return _colorCache={}};setColors(colors,positions);f=function(v){var c;c=getColor(v);if(_out&&c[_out]){return c[_out]()}else{return c}};f.domain=function(domain,classes,mode,key){var d;if(mode==null){mode="e"}if(!arguments.length){return _domain}if(classes!=null){d=chroma.analyze(domain,key);if(classes===0){domain=[d.min,d.max]}else{domain=chroma.limits(d,mode,classes)}}setDomain(domain);return f};f.mode=function(_m){if(!arguments.length){return _mode}_mode=_m;resetCache();return f};f.range=function(colors,_pos){setColors(colors,_pos);return f};f.out=function(_o){_out=_o;return f};f.spread=function(val){if(!arguments.length){return _spread}_spread=val;return f};f.correctLightness=function(v){if(!arguments.length){return _correctLightness}_correctLightness=v;resetCache();if(_correctLightness){tmap=function(t){var L0,L1,L_actual,L_diff,L_ideal,max_iter,pol,t0,t1;L0=getColor(0,true).lab()[0];L1=getColor(1,true).lab()[0];pol=L0>L1;L_actual=getColor(t,true).lab()[0];L_ideal=L0+(L1-L0)*t;L_diff=L_actual-L_ideal;t0=0;t1=1;max_iter=20;while(Math.abs(L_diff)>.01&&max_iter-->0){!function(){if(pol){L_diff*=-1}if(L_diff<0){t0=t;t+=(t1-t)*.5}else{t1=t;t+=(t0-t)*.5}L_actual=getColor(t,true).lab()[0];return L_diff=L_actual-L_ideal}()}return t}}else{tmap=function(t){return t}}return f};f.colors=function(out){var i,samples,_i,_j,_len,_ref;if(out==null){out="hex"}colors=[];samples=[];if(_domain.length>2){for(i=_i=1,_ref=_domain.length;1<=_ref?_i<_ref:_i>_ref;i=1<=_ref?++_i:--_i){samples.push((_domain[i-1]+_domain[i])*.5)}}else{samples=_domain}for(_j=0,_len=samples.length;_j<_len;_j++){i=samples[_j];colors.push(f(i)[out]())}return colors};return f};if((_ref=chroma.scales)==null){chroma.scales={}}chroma.scales.cool=function(){return chroma.scale([chroma.hsl(180,1,.9),chroma.hsl(250,.7,.4)])};chroma.scales.hot=function(){return chroma.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")};chroma.analyze=function(data,key,filter){var add,k,r,val,visit,_i,_len;r={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};if(filter==null){filter=function(){return true}}add=function(val){if(val!=null&&!isNaN(val)){r.values.push(val);r.sum+=val;if(valr.max){r.max=val}r.count+=1}};visit=function(val,k){if(filter(val,k)){if(key!=null&&type(key)==="function"){return add(key(val))}else if(key!=null&&type(key)==="string"||type(key)==="number"){return add(val[key])}else{return add(val)}}};if(type(data)==="array"){for(_i=0,_len=data.length;_i<_len;_i++){val=data[_i];visit(val)}}else{for(k in data){val=data[k];visit(val,k)}}r.domain=[r.min,r.max];r.limits=function(mode,num){return chroma.limits(r,mode,num)};return r};chroma.limits=function(data,mode,num){var assignments,best,centroids,cluster,clusterSizes,dist,i,j,kClusters,limits,max,max_log,min,min_log,mindist,n,nb_iters,newCentroids,p,pb,pr,repeat,sum,tmpKMeansBreaks,value,values,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_ref1,_ref10,_ref11,_ref12,_ref13,_ref14,_ref15,_ref2,_ref3,_ref4,_ref5,_ref6,_ref7,_ref8,_ref9,_s,_t,_u,_v,_w;if(mode==null){mode="equal"}if(num==null){num=7}if(type(data)==="array"){data=chroma.analyze(data)}min=data.min;max=data.max;sum=data.sum;values=data.values.sort(function(a,b){return a-b});limits=[];if(mode.substr(0,1)==="c"){limits.push(min);limits.push(max)}if(mode.substr(0,1)==="e"){limits.push(min);for(i=_i=1,_ref1=num-1;1<=_ref1?_i<=_ref1:_i>=_ref1;i=1<=_ref1?++_i:--_i){limits.push(min+i/num*(max-min))}limits.push(max)}else if(mode.substr(0,1)==="l"){if(min<=0){throw"Logarithmic scales are only possible for values > 0"}min_log=Math.LOG10E*Math.log(min);max_log=Math.LOG10E*Math.log(max);limits.push(min);for(i=_j=1,_ref2=num-1;1<=_ref2?_j<=_ref2:_j>=_ref2;i=1<=_ref2?++_j:--_j){limits.push(Math.pow(10,min_log+i/num*(max_log-min_log)))}limits.push(max)}else if(mode.substr(0,1)==="q"){limits.push(min);for(i=_k=1,_ref3=num-1;1<=_ref3?_k<=_ref3:_k>=_ref3;i=1<=_ref3?++_k:--_k){p=values.length*i/num;pb=Math.floor(p);if(pb===p){limits.push(values[pb])}else{pr=p-pb;limits.push(values[pb]*pr+values[pb+1]*(1-pr))}}limits.push(max)}else if(mode.substr(0,1)==="k"){n=values.length;assignments=new Array(n);clusterSizes=new Array(num);repeat=true;nb_iters=0;centroids=null;centroids=[];centroids.push(min);for(i=_l=1,_ref4=num-1;1<=_ref4?_l<=_ref4:_l>=_ref4;i=1<=_ref4?++_l:--_l){centroids.push(min+i/num*(max-min))}centroids.push(max);while(repeat){for(j=_m=0,_ref5=num-1;0<=_ref5?_m<=_ref5:_m>=_ref5;j=0<=_ref5?++_m:--_m){clusterSizes[j]=0}for(i=_n=0,_ref6=n-1;0<=_ref6?_n<=_ref6:_n>=_ref6;i=0<=_ref6?++_n:--_n){value=values[i];mindist=Number.MAX_VALUE;for(j=_o=0,_ref7=num-1;0<=_ref7?_o<=_ref7:_o>=_ref7;j=0<=_ref7?++_o:--_o){dist=Math.abs(centroids[j]-value);if(dist=_ref8;j=0<=_ref8?++_p:--_p){newCentroids[j]=null}for(i=_q=0,_ref9=n-1;0<=_ref9?_q<=_ref9:_q>=_ref9;i=0<=_ref9?++_q:--_q){cluster=assignments[i];if(newCentroids[cluster]===null){newCentroids[cluster]=values[i]}else{newCentroids[cluster]+=values[i]}}for(j=_r=0,_ref10=num-1;0<=_ref10?_r<=_ref10:_r>=_ref10;j=0<=_ref10?++_r:--_r){newCentroids[j]*=1/clusterSizes[j]}repeat=false;for(j=_s=0,_ref11=num-1;0<=_ref11?_s<=_ref11:_s>=_ref11;j=0<=_ref11?++_s:--_s){if(newCentroids[j]!==centroids[i]){repeat=true;break}}centroids=newCentroids;nb_iters++;if(nb_iters>200){repeat=false}}kClusters={};for(j=_t=0,_ref12=num-1;0<=_ref12?_t<=_ref12:_t>=_ref12;j=0<=_ref12?++_t:--_t){kClusters[j]=[]}for(i=_u=0,_ref13=n-1;0<=_ref13?_u<=_ref13:_u>=_ref13;i=0<=_ref13?++_u:--_u){cluster=assignments[i];kClusters[cluster].push(values[i])}tmpKMeansBreaks=[];for(j=_v=0,_ref14=num-1;0<=_ref14?_v<=_ref14:_v>=_ref14;j=0<=_ref14?++_v:--_v){tmpKMeansBreaks.push(kClusters[j][0]);tmpKMeansBreaks.push(kClusters[j][kClusters[j].length-1])}tmpKMeansBreaks=tmpKMeansBreaks.sort(function(a,b){return a-b});limits.push(tmpKMeansBreaks[0]);for(i=_w=1,_ref15=tmpKMeansBreaks.length-1;_w<=_ref15;i=_w+=2){if(!isNaN(tmpKMeansBreaks[i])){limits.push(tmpKMeansBreaks[i])}}}return limits};/** +!function(){var Color,K,PITHIRD,TWOPI,X,Y,Z,bezier,brewer,chroma,clip_rgb,colors,cos,css2rgb,hex2rgb,hsi2rgb,hsl2rgb,hsv2rgb,lab2lch,lab2rgb,lab_xyz,lch2lab,lch2rgb,limit,luminance,luminance_x,rgb2hex,rgb2hsi,rgb2hsl,rgb2hsv,rgb2lab,rgb2lch,rgb_xyz,root,type,unpack,xyz_lab,xyz_rgb,_ref;chroma=function(x,y,z,m){return new Color(x,y,z,m)};if(typeof module!=="undefined"&&module!==null&&module.exports!=null){module.exports=chroma}if(typeof define==="function"&&define.amd){define([],function(){return chroma})}else{root=typeof exports!=="undefined"&&exports!==null?exports:this;root.chroma=chroma}chroma.color=function(x,y,z,m){return new Color(x,y,z,m)};chroma.hsl=function(h,s,l,a){return new Color(h,s,l,a,"hsl")};chroma.hsv=function(h,s,v,a){return new Color(h,s,v,a,"hsv")};chroma.rgb=function(r,g,b,a){return new Color(r,g,b,a,"rgb")};chroma.hex=function(x){return new Color(x)};chroma.css=function(x){return new Color(x)};chroma.lab=function(l,a,b){return new Color(l,a,b,"lab")};chroma.lch=function(l,c,h){return new Color(l,c,h,"lch")};chroma.hsi=function(h,s,i){return new Color(h,s,i,"hsi")};chroma.gl=function(r,g,b,a){return new Color(r*255,g*255,b*255,a,"gl")};chroma.interpolate=function(a,b,f,m){if(a==null||b==null){return"#000"}if(type(a)==="string"){a=new Color(a)}if(type(b)==="string"){b=new Color(b)}return a.interpolate(f,b,m)};chroma.mix=chroma.interpolate;chroma.contrast=function(a,b){var l1,l2;if(type(a)==="string"){a=new Color(a)}if(type(b)==="string"){b=new Color(b)}l1=a.luminance();l2=b.luminance();if(l1>l2){return(l1+.05)/(l2+.05)}else{return(l2+.05)/(l1+.05)}};chroma.luminance=function(color){return chroma(color).luminance()};chroma._Color=Color;Color=function(){function Color(){var a,arg,args,m,me,me_rgb,x,y,z,_i,_len,_ref,_ref1,_ref2,_ref3,_ref4;me=this;args=[];for(_i=0,_len=arguments.length;_i<_len;_i++){arg=arguments[_i];if(arg!=null){args.push(arg)}}if(args.length===0){_ref=[255,0,255,1,"rgb"],x=_ref[0],y=_ref[1],z=_ref[2],a=_ref[3],m=_ref[4]}else if(type(args[0])==="array"){if(args[0].length===3){_ref1=args[0],x=_ref1[0],y=_ref1[1],z=_ref1[2];a=1}else if(args[0].length===4){_ref2=args[0],x=_ref2[0],y=_ref2[1],z=_ref2[2],a=_ref2[3]}else{throw"unknown input argument"}m=(_ref3=args[1])!=null?_ref3:"rgb"}else if(type(args[0])==="string"){x=args[0];m="hex"}else if(type(args[0])==="object"){_ref4=args[0]._rgb,x=_ref4[0],y=_ref4[1],z=_ref4[2],a=_ref4[3];m="rgb"}else if(args.length>=3){x=args[0];y=args[1];z=args[2]}if(args.length===3){m="rgb";a=1}else if(args.length===4){if(type(args[3])==="string"){m=args[3];a=1}else if(type(args[3])==="number"){m="rgb";a=args[3]}}else if(args.length===5){a=args[3];m=args[4]}if(a==null){a=1}if(m==="rgb"){me._rgb=[x,y,z,a]}else if(m==="gl"){me._rgb=[x*255,y*255,z*255,a]}else if(m==="hsl"){me._rgb=hsl2rgb(x,y,z);me._rgb[3]=a}else if(m==="hsv"){me._rgb=hsv2rgb(x,y,z);me._rgb[3]=a}else if(m==="hex"){me._rgb=hex2rgb(x)}else if(m==="lab"){me._rgb=lab2rgb(x,y,z);me._rgb[3]=a}else if(m==="lch"){me._rgb=lch2rgb(x,y,z);me._rgb[3]=a}else if(m==="hsi"){me._rgb=hsi2rgb(x,y,z);me._rgb[3]=a}me_rgb=clip_rgb(me._rgb)}Color.prototype.rgb=function(){return this._rgb.slice(0,3)};Color.prototype.rgba=function(){return this._rgb};Color.prototype.hex=function(){return rgb2hex(this._rgb)};Color.prototype.toString=function(){return this.name()};Color.prototype.hsl=function(){return rgb2hsl(this._rgb)};Color.prototype.hsv=function(){return rgb2hsv(this._rgb)};Color.prototype.lab=function(){return rgb2lab(this._rgb)};Color.prototype.lch=function(){return rgb2lch(this._rgb)};Color.prototype.hsi=function(){return rgb2hsi(this._rgb)};Color.prototype.gl=function(){return[this._rgb[0]/255,this._rgb[1]/255,this._rgb[2]/255,this._rgb[3]]};Color.prototype.luminance=function(){return luminance(this._rgb)};Color.prototype.name=function(){var h,k;h=this.hex();for(k in chroma.colors){if(h===chroma.colors[k]){return k}}return h};Color.prototype.alpha=function(alpha){if(arguments.length){this._rgb[3]=alpha;return this}return this._rgb[3]};Color.prototype.css=function(mode){var hsl,me,rgb,rnd;if(mode==null){mode="rgb"}me=this;rgb=me._rgb;if(mode.length===3&&rgb[3]<1){mode+="a"}if(mode==="rgb"){return mode+"("+rgb.slice(0,3).map(Math.round).join(",")+")"}else if(mode==="rgba"){return mode+"("+rgb.slice(0,3).map(Math.round).join(",")+","+rgb[3]+")"}else if(mode==="hsl"||mode==="hsla"){hsl=me.hsl();rnd=function(a){return Math.round(a*100)/100};hsl[0]=rnd(hsl[0]);hsl[1]=rnd(hsl[1]*100)+"%";hsl[2]=rnd(hsl[2]*100)+"%";if(mode.length===4){hsl[3]=rgb[3]}return mode+"("+hsl.join(",")+")"}};Color.prototype.interpolate=function(f,col,m){var dh,hue,hue0,hue1,lbv,lbv0,lbv1,me,res,sat,sat0,sat1,xyz0,xyz1;me=this;if(m==null){m="rgb"}if(type(col)==="string"){col=new Color(col)}if(m==="hsl"||m==="hsv"||m==="lch"||m==="hsi"){if(m==="hsl"){xyz0=me.hsl();xyz1=col.hsl()}else if(m==="hsv"){xyz0=me.hsv();xyz1=col.hsv()}else if(m==="hsi"){xyz0=me.hsi();xyz1=col.hsi()}else if(m==="lch"){xyz0=me.lch();xyz1=col.lch()}if(m.substr(0,1)==="h"){hue0=xyz0[0],sat0=xyz0[1],lbv0=xyz0[2];hue1=xyz1[0],sat1=xyz1[1],lbv1=xyz1[2]}else{lbv0=xyz0[0],sat0=xyz0[1],hue0=xyz0[2];lbv1=xyz1[0],sat1=xyz1[1],hue1=xyz1[2]}if(!isNaN(hue0)&&!isNaN(hue1)){if(hue1>hue0&&hue1-hue0>180){dh=hue1-(hue0+360)}else if(hue1180){dh=hue1+360-hue0}else{dh=hue1-hue0}hue=hue0+f*dh}else if(!isNaN(hue0)){hue=hue0;if((lbv1===1||lbv1===0)&&m!=="hsv"){sat=sat0}}else if(!isNaN(hue1)){hue=hue1;if((lbv0===1||lbv0===0)&&m!=="hsv"){sat=sat1}}else{hue=Number.NaN}if(sat==null){sat=sat0+f*(sat1-sat0)}lbv=lbv0+f*(lbv1-lbv0);if(m.substr(0,1)==="h"){res=new Color(hue,sat,lbv,m)}else{res=new Color(lbv,sat,hue,m)}}else if(m==="rgb"){xyz0=me._rgb;xyz1=col._rgb;res=new Color(xyz0[0]+f*(xyz1[0]-xyz0[0]),xyz0[1]+f*(xyz1[1]-xyz0[1]),xyz0[2]+f*(xyz1[2]-xyz0[2]),m)}else if(m==="lab"){xyz0=me.lab();xyz1=col.lab();res=new Color(xyz0[0]+f*(xyz1[0]-xyz0[0]),xyz0[1]+f*(xyz1[1]-xyz0[1]),xyz0[2]+f*(xyz1[2]-xyz0[2]),m)}else{throw"color mode "+m+" is not supported"}res.alpha(me.alpha()+f*(col.alpha()-me.alpha()));return res};Color.prototype.premultiply=function(){var a,rgb;rgb=this.rgb();a=this.alpha();return chroma(rgb[0]*a,rgb[1]*a,rgb[2]*a,a)};Color.prototype.darken=function(amount){var lch,me;if(amount==null){amount=20}me=this;lch=me.lch();lch[0]-=amount;return chroma.lch(lch).alpha(me.alpha())};Color.prototype.darker=function(amount){return this.darken(amount)};Color.prototype.brighten=function(amount){if(amount==null){amount=20}return this.darken(-amount)};Color.prototype.brighter=function(amount){return this.brighten(amount)};Color.prototype.saturate=function(amount){var lch,me;if(amount==null){amount=20}me=this;lch=me.lch();lch[1]+=amount;return chroma.lch(lch).alpha(me.alpha())};Color.prototype.desaturate=function(amount){if(amount==null){amount=20}return this.saturate(-amount)};return Color}();clip_rgb=function(rgb){var i;for(i in rgb){if(i<3){if(rgb[i]<0){rgb[i]=0}if(rgb[i]>255){rgb[i]=255}}else if(i===3){if(rgb[i]<0){rgb[i]=0}if(rgb[i]>1){rgb[i]=1}}}return rgb};css2rgb=function(css){var hsl,i,m,rgb,_i,_j,_k,_l;css=css.toLowerCase();if(chroma.colors!=null&&chroma.colors[css]){return hex2rgb(chroma.colors[css])}if(m=css.match(/rgb\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*\)/)){rgb=m.slice(1,4);for(i=_i=0;_i<=2;i=++_i){rgb[i]=+rgb[i]}rgb[3]=1}else if(m=css.match(/rgba\(\s*(\-?\d+),\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*([01]|[01]?\.\d+)\)/)){rgb=m.slice(1,5);for(i=_j=0;_j<=3;i=++_j){rgb[i]=+rgb[i]}}else if(m=css.match(/rgb\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){rgb=m.slice(1,4);for(i=_k=0;_k<=2;i=++_k){rgb[i]=Math.round(rgb[i]*2.55)}rgb[3]=1}else if(m=css.match(/rgba\(\s*(\-?\d+(?:\.\d+)?)%,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){rgb=m.slice(1,5);for(i=_l=0;_l<=2;i=++_l){rgb[i]=Math.round(rgb[i]*2.55)}rgb[3]=+rgb[3]}else if(m=css.match(/hsl\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*\)/)){hsl=m.slice(1,4);hsl[1]*=.01;hsl[2]*=.01;rgb=hsl2rgb(hsl);rgb[3]=1}else if(m=css.match(/hsla\(\s*(\-?\d+(?:\.\d+)?),\s*(\-?\d+(?:\.\d+)?)%\s*,\s*(\-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)/)){hsl=m.slice(1,4);hsl[1]*=.01;hsl[2]*=.01;rgb=hsl2rgb(hsl);rgb[3]=+m[4]}return rgb};hex2rgb=function(hex){var a,b,g,r,rgb,u;if(hex.match(/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)){if(hex.length===4||hex.length===7){hex=hex.substr(1)}if(hex.length===3){hex=hex.split("");hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]}u=parseInt(hex,16);r=u>>16;g=u>>8&255;b=u&255;return[r,g,b,1]}if(hex.match(/^#?([A-Fa-f0-9]{8})$/)){if(hex.length===9){hex=hex.substr(1)}u=parseInt(hex,16);r=u>>24&255;g=u>>16&255;b=u>>8&255;a=u&255;return[r,g,b,a]}if(rgb=css2rgb(hex)){return rgb}throw"unknown color: "+hex};hsi2rgb=function(h,s,i){var b,g,r,_ref;_ref=unpack(arguments),h=_ref[0],s=_ref[1],i=_ref[2];h/=360;if(h<1/3){b=(1-s)/3;r=(1+s*cos(TWOPI*h)/cos(PITHIRD-TWOPI*h))/3;g=1-(b+r)}else if(h<2/3){h-=1/3;r=(1-s)/3;g=(1+s*cos(TWOPI*h)/cos(PITHIRD-TWOPI*h))/3;b=1-(r+g)}else{h-=2/3;g=(1-s)/3;b=(1+s*cos(TWOPI*h)/cos(PITHIRD-TWOPI*h))/3;r=1-(g+b)}r=limit(i*r*3);g=limit(i*g*3);b=limit(i*b*3);return[r*255,g*255,b*255]};hsl2rgb=function(){var b,c,g,h,i,l,r,s,t1,t2,t3,_i,_ref,_ref1;_ref=unpack(arguments),h=_ref[0],s=_ref[1],l=_ref[2];if(s===0){r=g=b=l*255}else{t3=[0,0,0];c=[0,0,0];t2=l<.5?l*(1+s):l+s-l*s;t1=2*l-t2;h/=360;t3[0]=h+1/3;t3[1]=h;t3[2]=h-1/3;for(i=_i=0;_i<=2;i=++_i){if(t3[i]<0){t3[i]+=1}if(t3[i]>1){t3[i]-=1}if(6*t3[i]<1){c[i]=t1+(t2-t1)*6*t3[i]}else if(2*t3[i]<1){c[i]=t2}else if(3*t3[i]<2){c[i]=t1+(t2-t1)*(2/3-t3[i])*6}else{c[i]=t1}}_ref1=[Math.round(c[0]*255),Math.round(c[1]*255),Math.round(c[2]*255)],r=_ref1[0],g=_ref1[1],b=_ref1[2]}return[r,g,b]};hsv2rgb=function(){var b,f,g,h,i,p,q,r,s,t,v,_ref,_ref1,_ref2,_ref3,_ref4,_ref5,_ref6;_ref=unpack(arguments),h=_ref[0],s=_ref[1],v=_ref[2];v*=255;if(s===0){r=g=b=v}else{if(h===360){h=0}if(h>360){h-=360}if(h<0){h+=360}h/=60;i=Math.floor(h);f=h-i;p=v*(1-s);q=v*(1-s*f);t=v*(1-s*(1-f));switch(i){case 0:_ref1=[v,t,p],r=_ref1[0],g=_ref1[1],b=_ref1[2];break;case 1:_ref2=[q,v,p],r=_ref2[0],g=_ref2[1],b=_ref2[2];break;case 2:_ref3=[p,v,t],r=_ref3[0],g=_ref3[1],b=_ref3[2];break;case 3:_ref4=[p,q,v],r=_ref4[0],g=_ref4[1],b=_ref4[2];break;case 4:_ref5=[t,p,v],r=_ref5[0],g=_ref5[1],b=_ref5[2];break;case 5:_ref6=[v,p,q],r=_ref6[0],g=_ref6[1],b=_ref6[2]}}r=Math.round(r);g=Math.round(g);b=Math.round(b);return[r,g,b]};K=18;X=.95047;Y=1;Z=1.08883;lab2lch=function(){var a,b,c,h,l,_ref;_ref=unpack(arguments),l=_ref[0],a=_ref[1],b=_ref[2];c=Math.sqrt(a*a+b*b);h=Math.atan2(b,a)/Math.PI*180;return[l,c,h]};lab2rgb=function(l,a,b){var g,r,x,y,z,_ref,_ref1;if(l!==void 0&&l.length===3){_ref=l,l=_ref[0],a=_ref[1],b=_ref[2]}if(l!==void 0&&l.length===3){_ref1=l,l=_ref1[0],a=_ref1[1],b=_ref1[2]}y=(l+16)/116;x=y+a/500;z=y-b/200;x=lab_xyz(x)*X;y=lab_xyz(y)*Y;z=lab_xyz(z)*Z;r=xyz_rgb(3.2404542*x-1.5371385*y-.4985314*z);g=xyz_rgb(-.969266*x+1.8760108*y+.041556*z);b=xyz_rgb(.0556434*x-.2040259*y+1.0572252*z);return[limit(r,0,255),limit(g,0,255),limit(b,0,255),1]};lab_xyz=function(x){if(x>.206893034){return x*x*x}else{return(x-4/29)/7.787037}};xyz_rgb=function(r){return Math.round(255*(r<=.00304?12.92*r:1.055*Math.pow(r,1/2.4)-.055))};lch2lab=function(){var c,h,l,_ref;_ref=unpack(arguments),l=_ref[0],c=_ref[1],h=_ref[2];h=h*Math.PI/180;return[l,Math.cos(h)*c,Math.sin(h)*c]};lch2rgb=function(l,c,h){var L,a,b,g,r,_ref,_ref1;_ref=lch2lab(l,c,h),L=_ref[0],a=_ref[1],b=_ref[2];_ref1=lab2rgb(L,a,b),r=_ref1[0],g=_ref1[1],b=_ref1[2];return[limit(r,0,255),limit(g,0,255),limit(b,0,255)]};luminance=function(r,g,b){var _ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];r=luminance_x(r);g=luminance_x(g);b=luminance_x(b);return.2126*r+.7152*g+.0722*b};luminance_x=function(x){x/=255;if(x<=.03928){return x/12.92}else{return Math.pow((x+.055)/1.055,2.4)}};rgb2hex=function(){var b,g,r,str,u,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];u=r<<16|g<<8|b;str="000000"+u.toString(16);return"#"+str.substr(str.length-6)};rgb2hsi=function(){var TWOPI,b,g,h,i,min,r,s,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];TWOPI=Math.PI*2;r/=255;g/=255;b/=255;min=Math.min(r,g,b);i=(r+g+b)/3;s=1-min/i;if(s===0){h=0}else{h=(r-g+(r-b))/2;h/=Math.sqrt((r-g)*(r-g)+(r-b)*(g-b));h=Math.acos(h);if(b>g){h=TWOPI-h}h/=TWOPI}return[h*360,s,i]};rgb2hsl=function(r,g,b){var h,l,max,min,s,_ref;if(r!==void 0&&r.length>=3){_ref=r,r=_ref[0],g=_ref[1],b=_ref[2]}r/=255;g/=255;b/=255;min=Math.min(r,g,b);max=Math.max(r,g,b);l=(max+min)/2;if(max===min){s=0;h=Number.NaN}else{s=l<.5?(max-min)/(max+min):(max-min)/(2-max-min)}if(r===max){h=(g-b)/(max-min)}else if(g===max){h=2+(b-r)/(max-min)}else if(b===max){h=4+(r-g)/(max-min)}h*=60;if(h<0){h+=360}return[h,s,l]};rgb2hsv=function(){var b,delta,g,h,max,min,r,s,v,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];min=Math.min(r,g,b);max=Math.max(r,g,b);delta=max-min;v=max/255;if(max===0){h=Number.NaN;s=0}else{s=delta/max;if(r===max){h=(g-b)/delta}if(g===max){h=2+(b-r)/delta}if(b===max){h=4+(r-g)/delta}h*=60;if(h<0){h+=360}}return[h,s,v]};rgb2lab=function(){var b,g,r,x,y,z,_ref;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];r=rgb_xyz(r);g=rgb_xyz(g);b=rgb_xyz(b);x=xyz_lab((.4124564*r+.3575761*g+.1804375*b)/X);y=xyz_lab((.2126729*r+.7151522*g+.072175*b)/Y);z=xyz_lab((.0193339*r+.119192*g+.9503041*b)/Z);return[116*y-16,500*(x-y),200*(y-z)]};rgb_xyz=function(r){if((r/=255)<=.04045){return r/12.92}else{return Math.pow((r+.055)/1.055,2.4)}};xyz_lab=function(x){if(x>.008856){return Math.pow(x,1/3)}else{return 7.787037*x+4/29}};rgb2lch=function(){var a,b,g,l,r,_ref,_ref1;_ref=unpack(arguments),r=_ref[0],g=_ref[1],b=_ref[2];_ref1=rgb2lab(r,g,b),l=_ref1[0],a=_ref1[1],b=_ref1[2];return lab2lch(l,a,b)};chroma.scale=function(colors,positions){var classifyValue,f,getClass,getColor,resetCache,setColors,setDomain,tmap,_colorCache,_colors,_correctLightness,_domain,_fixed,_max,_min,_mode,_nacol,_numClasses,_out,_pos,_spread;_mode="rgb";_nacol=chroma("#ccc");_spread=0;_fixed=false;_domain=[0,1];_colors=[];_out=false;_pos=[];_min=0;_max=1;_correctLightness=false;_numClasses=0;_colorCache={};setColors=function(colors,positions){var c,col,_i,_j,_ref,_ref1,_ref2;if(colors==null){colors=["#ddd","#222"]}if(colors!=null&&type(colors)==="string"&&((_ref=chroma.brewer)!=null?_ref[colors]:void 0)!=null){colors=chroma.brewer[colors]}if(type(colors)==="array"){colors=colors.slice(0);for(c=_i=0,_ref1=colors.length-1;0<=_ref1?_i<=_ref1:_i>=_ref1;c=0<=_ref1?++_i:--_i){col=colors[c];if(type(col)==="string"){colors[c]=chroma(col)}}if(positions!=null){_pos=positions}else{_pos=[];for(c=_j=0,_ref2=colors.length-1;0<=_ref2?_j<=_ref2:_j>=_ref2;c=0<=_ref2?++_j:--_j){_pos.push(c/(colors.length-1))}}}resetCache();return _colors=colors};setDomain=function(domain){if(domain==null){domain=[]}_domain=domain;_min=domain[0];_max=domain[domain.length-1];resetCache();if(domain.length===2){return _numClasses=0}else{return _numClasses=domain.length-1}};getClass=function(value){var i,n;if(_domain!=null){n=_domain.length-1;i=0;while(i=_domain[i]){i++}return i-1}return 0};tmap=function(t){return t};classifyValue=function(value){var i,maxc,minc,n,val;val=value;if(_domain.length>2){n=_domain.length-1;i=getClass(value);minc=_domain[0]+(_domain[1]-_domain[0])*(0+_spread*.5);maxc=_domain[n-1]+(_domain[n]-_domain[n-1])*(1-_spread*.5);val=_min+(_domain[i]+(_domain[i+1]-_domain[i])*.5-minc)/(maxc-minc)*(_max-_min)}return val};getColor=function(val,bypassMap){var c,col,f0,i,k,p,t,_i,_ref;if(bypassMap==null){bypassMap=false}if(isNaN(val)){return _nacol}if(!bypassMap){if(_domain.length>2){c=getClass(val);t=c/(_numClasses-1)}else{t=f0=(val-_min)/(_max-_min);t=Math.min(1,Math.max(0,t))}}else{t=val}if(!bypassMap){t=tmap(t)}k=Math.floor(t*1e4);if(_colorCache[k]){col=_colorCache[k]}else{if(type(_colors)==="array"){for(i=_i=0,_ref=_pos.length-1;0<=_ref?_i<=_ref:_i>=_ref;i=0<=_ref?++_i:--_i){p=_pos[i];if(t<=p){col=_colors[i];break}if(t>=p&&i===_pos.length-1){col=_colors[i];break}if(t>p&&t<_pos[i+1]){t=(t-p)/(_pos[i+1]-p);col=chroma.interpolate(_colors[i],_colors[i+1],t,_mode);break}}}else if(type(_colors)==="function"){col=_colors(t)}_colorCache[k]=col}return col};resetCache=function(){return _colorCache={}};setColors(colors,positions);f=function(v){var c;c=getColor(v);if(_out&&c[_out]){return c[_out]()}else{return c}};f.domain=function(domain,classes,mode,key){var d;if(mode==null){mode="e"}if(!arguments.length){return _domain}if(classes!=null){d=chroma.analyze(domain,key);if(classes===0){domain=[d.min,d.max]}else{domain=chroma.limits(d,mode,classes)}}setDomain(domain);return f};f.mode=function(_m){if(!arguments.length){return _mode}_mode=_m;resetCache();return f};f.range=function(colors,_pos){setColors(colors,_pos);return f};f.out=function(_o){_out=_o;return f};f.spread=function(val){if(!arguments.length){return _spread}_spread=val;return f};f.correctLightness=function(v){if(!arguments.length){return _correctLightness}_correctLightness=v;resetCache();if(_correctLightness){tmap=function(t){var L0,L1,L_actual,L_diff,L_ideal,max_iter,pol,t0,t1;L0=getColor(0,true).lab()[0];L1=getColor(1,true).lab()[0];pol=L0>L1;L_actual=getColor(t,true).lab()[0];L_ideal=L0+(L1-L0)*t;L_diff=L_actual-L_ideal;t0=0;t1=1;max_iter=20;while(Math.abs(L_diff)>.01&&max_iter-->0){!function(){if(pol){L_diff*=-1}if(L_diff<0){t0=t;t+=(t1-t)*.5}else{t1=t;t+=(t0-t)*.5}L_actual=getColor(t,true).lab()[0];return L_diff=L_actual-L_ideal}()}return t}}else{tmap=function(t){return t}}return f};f.colors=function(out){var i,samples,_i,_j,_len,_ref;if(out==null){out="hex"}colors=[];samples=[];if(_domain.length>2){for(i=_i=1,_ref=_domain.length;1<=_ref?_i<_ref:_i>_ref;i=1<=_ref?++_i:--_i){samples.push((_domain[i-1]+_domain[i])*.5)}}else{samples=_domain}for(_j=0,_len=samples.length;_j<_len;_j++){i=samples[_j];colors.push(f(i)[out]())}return colors};return f};if((_ref=chroma.scales)==null){chroma.scales={}}chroma.scales.cool=function(){return chroma.scale([chroma.hsl(180,1,.9),chroma.hsl(250,.7,.4)])};chroma.scales.hot=function(){return chroma.scale(["#000","#f00","#ff0","#fff"],[0,.25,.75,1]).mode("rgb")};chroma.analyze=function(data,key,filter){var add,k,r,val,visit,_i,_len;r={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};if(filter==null){filter=function(){return true}}add=function(val){if(val!=null&&!isNaN(val)){r.values.push(val);r.sum+=val;if(valr.max){r.max=val}r.count+=1}};visit=function(val,k){if(filter(val,k)){if(key!=null&&type(key)==="function"){return add(key(val))}else if(key!=null&&type(key)==="string"||type(key)==="number"){return add(val[key])}else{return add(val)}}};if(type(data)==="array"){for(_i=0,_len=data.length;_i<_len;_i++){val=data[_i];visit(val)}}else{for(k in data){val=data[k];visit(val,k)}}r.domain=[r.min,r.max];r.limits=function(mode,num){return chroma.limits(r,mode,num)};return r};chroma.limits=function(data,mode,num){var assignments,best,centroids,cluster,clusterSizes,dist,i,j,kClusters,limits,max,max_log,min,min_log,mindist,n,nb_iters,newCentroids,p,pb,pr,repeat,sum,tmpKMeansBreaks,value,values,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_ref1,_ref10,_ref11,_ref12,_ref13,_ref14,_ref15,_ref2,_ref3,_ref4,_ref5,_ref6,_ref7,_ref8,_ref9,_s,_t,_u,_v,_w;if(mode==null){mode="equal"}if(num==null){num=7}if(type(data)==="array"){data=chroma.analyze(data)}min=data.min;max=data.max;sum=data.sum;values=data.values.sort(function(a,b){return a-b});limits=[];if(mode.substr(0,1)==="c"){limits.push(min);limits.push(max)}if(mode.substr(0,1)==="e"){limits.push(min);for(i=_i=1,_ref1=num-1;1<=_ref1?_i<=_ref1:_i>=_ref1;i=1<=_ref1?++_i:--_i){limits.push(min+i/num*(max-min))}limits.push(max)}else if(mode.substr(0,1)==="l"){if(min<=0){throw"Logarithmic scales are only possible for values > 0"}min_log=Math.LOG10E*Math.log(min);max_log=Math.LOG10E*Math.log(max);limits.push(min);for(i=_j=1,_ref2=num-1;1<=_ref2?_j<=_ref2:_j>=_ref2;i=1<=_ref2?++_j:--_j){limits.push(Math.pow(10,min_log+i/num*(max_log-min_log)))}limits.push(max)}else if(mode.substr(0,1)==="q"){limits.push(min);for(i=_k=1,_ref3=num-1;1<=_ref3?_k<=_ref3:_k>=_ref3;i=1<=_ref3?++_k:--_k){p=values.length*i/num;pb=Math.floor(p);if(pb===p){limits.push(values[pb])}else{pr=p-pb;limits.push(values[pb]*pr+values[pb+1]*(1-pr))}}limits.push(max)}else if(mode.substr(0,1)==="k"){n=values.length;assignments=new Array(n);clusterSizes=new Array(num);repeat=true;nb_iters=0;centroids=null;centroids=[];centroids.push(min);for(i=_l=1,_ref4=num-1;1<=_ref4?_l<=_ref4:_l>=_ref4;i=1<=_ref4?++_l:--_l){centroids.push(min+i/num*(max-min))}centroids.push(max);while(repeat){for(j=_m=0,_ref5=num-1;0<=_ref5?_m<=_ref5:_m>=_ref5;j=0<=_ref5?++_m:--_m){clusterSizes[j]=0}for(i=_n=0,_ref6=n-1;0<=_ref6?_n<=_ref6:_n>=_ref6;i=0<=_ref6?++_n:--_n){value=values[i];mindist=Number.MAX_VALUE;for(j=_o=0,_ref7=num-1;0<=_ref7?_o<=_ref7:_o>=_ref7;j=0<=_ref7?++_o:--_o){dist=Math.abs(centroids[j]-value);if(dist=_ref8;j=0<=_ref8?++_p:--_p){newCentroids[j]=null}for(i=_q=0,_ref9=n-1;0<=_ref9?_q<=_ref9:_q>=_ref9;i=0<=_ref9?++_q:--_q){cluster=assignments[i];if(newCentroids[cluster]===null){newCentroids[cluster]=values[i]}else{newCentroids[cluster]+=values[i]}}for(j=_r=0,_ref10=num-1;0<=_ref10?_r<=_ref10:_r>=_ref10;j=0<=_ref10?++_r:--_r){newCentroids[j]*=1/clusterSizes[j]}repeat=false;for(j=_s=0,_ref11=num-1;0<=_ref11?_s<=_ref11:_s>=_ref11;j=0<=_ref11?++_s:--_s){if(newCentroids[j]!==centroids[i]){repeat=true;break}}centroids=newCentroids;nb_iters++;if(nb_iters>200){repeat=false}}kClusters={};for(j=_t=0,_ref12=num-1;0<=_ref12?_t<=_ref12:_t>=_ref12;j=0<=_ref12?++_t:--_t){kClusters[j]=[]}for(i=_u=0,_ref13=n-1;0<=_ref13?_u<=_ref13:_u>=_ref13;i=0<=_ref13?++_u:--_u){cluster=assignments[i];kClusters[cluster].push(values[i])}tmpKMeansBreaks=[];for(j=_v=0,_ref14=num-1;0<=_ref14?_v<=_ref14:_v>=_ref14;j=0<=_ref14?++_v:--_v){tmpKMeansBreaks.push(kClusters[j][0]);tmpKMeansBreaks.push(kClusters[j][kClusters[j].length-1])}tmpKMeansBreaks=tmpKMeansBreaks.sort(function(a,b){return a-b});limits.push(tmpKMeansBreaks[0]);for(i=_w=1,_ref15=tmpKMeansBreaks.length-1;_w<=_ref15;i=_w+=2){if(!isNaN(tmpKMeansBreaks[i])){limits.push(tmpKMeansBreaks[i])}}}return limits};/** ColorBrewer colors for chroma.js Copyright (c) 2002 Cynthia Brewer, Mark Harrower, and The diff --git a/libs/bower_components/chroma-js/package.json b/libs/bower_components/chroma-js/package.json index 272b419ba7..648da55b26 100644 --- a/libs/bower_components/chroma-js/package.json +++ b/libs/bower_components/chroma-js/package.json @@ -1,7 +1,7 @@ { "name": "chroma-js", "description": "JavaScript library for color conversions", - "version": "0.6.0", + "version": "0.6.1", "author": "Gregor Aisch", "homepage": "https://github.com/gka/chroma.js", "keywords": [ diff --git a/libs/bower_components/html5shiv/.bower.json b/libs/bower_components/html5shiv/.bower.json index b2f6e65d15..30f4349009 100644 --- a/libs/bower_components/html5shiv/.bower.json +++ b/libs/bower_components/html5shiv/.bower.json @@ -1,6 +1,6 @@ { "name": "html5shiv", - "version": "3.7.2", + "version": "3.7.3", "main": [ "dist/html5shiv.js" ], @@ -13,13 +13,13 @@ "build.xml" ], "homepage": "https://github.com/aFarkas/html5shiv", - "_release": "3.7.2", + "_release": "3.7.3", "_resolution": { "type": "version", - "tag": "3.7.2", - "commit": "40df868a76f1f19ea23b123d1480d44a7195f349" + "tag": "3.7.3", + "commit": "ed28c56c071bddfe7d635ad88995674957a016be" }, - "_source": "git://github.com/aFarkas/html5shiv.git", + "_source": "https://github.com/aFarkas/html5shiv.git", "_target": "~3.7.0", "_originalSource": "html5shiv" } \ No newline at end of file diff --git a/libs/bower_components/html5shiv/MIT and GPL2 licenses.md b/libs/bower_components/html5shiv/MIT and GPL2 licenses.md new file mode 100644 index 0000000000..a9538ee4ee --- /dev/null +++ b/libs/bower_components/html5shiv/MIT and GPL2 licenses.md @@ -0,0 +1,372 @@ +Copyright (c) 2014 Alexander Farkas (aFarkas). + +This software is licensed under a dual license system (MIT or GPL version 2). +This means you are free to choose with which of both licenses (MIT or +GPL version 2) you want to use this library. + +The license texts of the MIT license and the GPL version 2 are as follows: + + +## MIT License + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + + +## GNU GENERAL PUBLIC LICENSE Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 2014 Alexander Farkas (aFarkas) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 2014 Alexander Farkas (aFarkas) + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/libs/bower_components/html5shiv/bower.json b/libs/bower_components/html5shiv/bower.json index dca17f4eb4..5814f00bfe 100644 --- a/libs/bower_components/html5shiv/bower.json +++ b/libs/bower_components/html5shiv/bower.json @@ -1,6 +1,6 @@ { "name": "html5shiv", - "version": "3.7.2", + "version": "3.7.3", "main": [ "dist/html5shiv.js" ], diff --git a/libs/bower_components/html5shiv/dist/html5shiv-printshiv.js b/libs/bower_components/html5shiv/dist/html5shiv-printshiv.js index c2913b517c..085708e7d6 100644 --- a/libs/bower_components/html5shiv/dist/html5shiv-printshiv.js +++ b/libs/bower_components/html5shiv/dist/html5shiv-printshiv.js @@ -1,10 +1,10 @@ /** -* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ ;(function(window, document) { /*jshint evil:true */ /** version */ - var version = '3.7.2'; + var version = '3.7.3'; /** Preset options */ var options = window.html5 || {}; @@ -517,4 +517,8 @@ // shiv for print shivPrint(document); -}(this, document)); + if(typeof module == 'object' && module.exports){ + module.exports = html5; + } + +}(typeof window !== "undefined" ? window : this, document)); diff --git a/libs/bower_components/html5shiv/dist/html5shiv-printshiv.min.js b/libs/bower_components/html5shiv/dist/html5shiv-printshiv.min.js index dea63bfabc..e68716ce5b 100644 --- a/libs/bower_components/html5shiv/dist/html5shiv-printshiv.min.js +++ b/libs/bower_components/html5shiv/dist/html5shiv-printshiv.min.js @@ -1,4 +1,4 @@ /** -* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.2",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b)}(this,document); \ No newline at end of file +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/libs/bower_components/html5shiv/dist/html5shiv.js b/libs/bower_components/html5shiv/dist/html5shiv.js index 77dace4900..45ea723dd5 100644 --- a/libs/bower_components/html5shiv/dist/html5shiv.js +++ b/libs/bower_components/html5shiv/dist/html5shiv.js @@ -1,10 +1,10 @@ /** -* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ ;(function(window, document) { /*jshint evil:true */ /** version */ - var version = '3.7.2'; + var version = '3.7.3'; /** Preset options */ var options = window.html5 || {}; @@ -121,7 +121,7 @@ * returns a shived element for the given nodeName and document * @memberOf html5 * @param {String} nodeName name of the element - * @param {Document} ownerDocument The context document. + * @param {Document|DocumentFragment} ownerDocument The context document. * @returns {Object} The shived element. */ function createElement(nodeName, ownerDocument, data){ @@ -319,4 +319,8 @@ // shiv the document shivDocument(document); -}(this, document)); + if(typeof module == 'object' && module.exports){ + module.exports = html5; + } + +}(typeof window !== "undefined" ? window : this, document)); diff --git a/libs/bower_components/html5shiv/dist/html5shiv.min.js b/libs/bower_components/html5shiv/dist/html5shiv.min.js index d4c731ad54..355afd1060 100644 --- a/libs/bower_components/html5shiv/dist/html5shiv.min.js +++ b/libs/bower_components/html5shiv/dist/html5shiv.min.js @@ -1,4 +1,4 @@ /** -* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.2",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b)}(this,document); \ No newline at end of file +!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/libs/bower_components/html5shiv/package.json b/libs/bower_components/html5shiv/package.json index 042dc79034..156cd5eccb 100644 --- a/libs/bower_components/html5shiv/package.json +++ b/libs/bower_components/html5shiv/package.json @@ -1,11 +1,11 @@ { "name": "html5shiv", - "version": "3.7.2", + "version": "3.7.3", "repository": { "type": "git", "url": "https://github.com/aFarkas/html5shiv.git" }, - "main": "dist/", + "main": "dist/html5shiv.js", "devDependencies": { "grunt-bytesize": ">=0.1.0", "grunt-contrib-watch": ">=0.3.0", diff --git a/libs/bower_components/html5shiv/readme.md b/libs/bower_components/html5shiv/readme.md index 622d80b8ac..4ae846563e 100644 --- a/libs/bower_components/html5shiv/readme.md +++ b/libs/bower_components/html5shiv/readme.md @@ -12,7 +12,7 @@ The HTML5 Shiv enables use of HTML5 sectioning elements in legacy Internet Explo ### Who can I get mad at now? -HTML5 Shiv is maintained by [Alexander Farkas](https://github.com/aFarkas/), [Jonathan Neal](https://twitter.com/jon_neal) and [Paul Irish](https://twitter.com/paul_irish), with many contributions from [John-David Dalton](https://twitter.com/jdalton). It is also distributed with [Modernizr](http://modernizr.com/), and the two google code projects, [html5shiv](https://code.google.com/p/html5shiv/) and [html5shim](https://code.google.com/p/html5shim/), maintained by [Remy Sharp](https://twitter.com/rem). +HTML5 Shiv is maintained by [Alexander Farkas](https://github.com/aFarkas/), [Jonathan Neal](https://twitter.com/jon_neal) and [Paul Irish](https://twitter.com/paul_irish), with many contributions from [John-David Dalton](https://twitter.com/jdalton). It is also distributed with [Modernizr](http://modernizr.com/). If you have any issues in these implementations, you can report them here! :) @@ -30,7 +30,7 @@ Include the HTML5 shiv in the `` of your page in a conditional comment and ```html ``` @@ -149,4 +149,4 @@ A [detailed changelog of html5shiv](https://github.com/aFarkas/html5shiv/wiki) i ### Why is it called a *shiv*? -The term **shiv** [originates](http://ejohn.org/blog/html5-shiv/) from [John Resig](https://github.com/jeresig), who was thought to have used the word for its slang meaning, *a sharp object used as a knife-like weapon*, intended for Internet Explorer. Truth be known, John probably intended to use the word [shim](http://en.wikipedia.org/wiki/Shim_(computing\)), which in computing means *an application compatibility workaround*. Rather than correct his mispelling, most developers familiar with Internet Explorer appreciated the visual imagery. And that, [kids](http://html5homi.es/), is [etymology](https://en.wikipedia.org/wiki/Etymology). +The term **shiv** [originates](http://ejohn.org/blog/html5-shiv/) from [John Resig](https://github.com/jeresig), who was thought to have used the word for its slang meaning, *a sharp object used as a knife-like weapon*, intended for Internet Explorer. Truth be known, John probably intended to use the word [shim](http://en.wikipedia.org/wiki/Shim_(computing)), which in computing means *an application compatibility workaround*. Rather than correct his mispelling, most developers familiar with Internet Explorer appreciated the visual imagery. And that, [kids](http://html5homi.es/), is [etymology](https://en.wikipedia.org/wiki/Etymology). diff --git a/libs/bower_components/jQuery.dotdotdot/.bower.json b/libs/bower_components/jQuery.dotdotdot/.bower.json index 7f2ef55e72..441b0960f0 100644 --- a/libs/bower_components/jQuery.dotdotdot/.bower.json +++ b/libs/bower_components/jQuery.dotdotdot/.bower.json @@ -1,7 +1,7 @@ { "name": "jQuery.dotdotdot", "main": "src/js/jquery.dotdotdot.js", - "version": "1.7.2", + "version": "1.7.4", "homepage": "http://dotdotdot.frebsite.nl/", "authors": [ "Fred Heusschen " @@ -26,13 +26,13 @@ "dependencies": { "jquery": ">= 1.4.3" }, - "_release": "1.7.2", + "_release": "1.7.4", "_resolution": { "type": "version", - "tag": "v1.7.2", - "commit": "a8590b57d88d5ef2d3a3e1ccb70b01cdf5ef8f96" + "tag": "v1.7.4", + "commit": "a4e7172e57994c2c2c5e456c943d2281eb6f7332" }, - "_source": "git://github.com/BeSite/jQuery.dotdotdot.git", + "_source": "https://github.com/BeSite/jQuery.dotdotdot.git", "_target": "~1.7.2", "_originalSource": "jQuery.dotdotdot" } \ No newline at end of file diff --git a/libs/bower_components/jQuery.dotdotdot/LICENSE.txt b/libs/bower_components/jQuery.dotdotdot/LICENSE.txt new file mode 100644 index 0000000000..771a5617fc --- /dev/null +++ b/libs/bower_components/jQuery.dotdotdot/LICENSE.txt @@ -0,0 +1,9 @@ +The MIT License (MIT) + +Copyright (c) 2015 Fred Heusschen + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libs/bower_components/jQuery.dotdotdot/bower.json b/libs/bower_components/jQuery.dotdotdot/bower.json index 95c684efde..35e3547cb3 100644 --- a/libs/bower_components/jQuery.dotdotdot/bower.json +++ b/libs/bower_components/jQuery.dotdotdot/bower.json @@ -1,7 +1,7 @@ { "name": "jQuery.dotdotdot", "main": "src/js/jquery.dotdotdot.js", - "version": "1.7.2", + "version": "1.7.4", "homepage": "http://dotdotdot.frebsite.nl/", "authors": [ "Fred Heusschen " diff --git a/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.js b/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.js index 50fda104f8..7a0be4cdd3 100644 --- a/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.js +++ b/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.js @@ -1,5 +1,5 @@ /* - * jQuery dotdotdot 1.7.2 + * jQuery dotdotdot 1.7.4 * * Copyright (c) Fred Heusschen * www.frebsite.nl @@ -56,18 +56,30 @@ 'update.dot', function( e, c ) { + $dot.removeClass("is-truncated"); e.preventDefault(); e.stopPropagation(); - opts.maxHeight = ( typeof opts.height == 'number' ) - ? opts.height - : getTrueInnerHeight( $dot ); + switch( typeof opts.height ) + { + case 'number': + opts.maxHeight = opts.height; + break; + + case 'function': + opts.maxHeight = opts.height.call( $dot[ 0 ] ); + break; + + default: + opts.maxHeight = getTrueInnerHeight( $dot ); + break; + } opts.maxHeight += opts.tolerance; if ( typeof c != 'undefined' ) { - if ( typeof c == 'string' || c instanceof HTMLElement ) + if ( typeof c == 'string' || ('nodeType' in c && c.nodeType === 1) ) { c = $('
').append( c ).contents(); } @@ -340,7 +352,7 @@ var isTruncated = false; // Don't put the ellipsis directly inside these elements - var notx = 'a table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style'; + var notx = 'a, table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style'; // Don't remove these elements even if they are after the ellipsis var noty = 'script, .dotdotdot-keep'; @@ -355,7 +367,7 @@ var e = this, $e = $(e); - if ( typeof e == 'undefined' || ( e.nodeType == 3 && $.trim( e.data ).length == 0 ) ) + if ( typeof e == 'undefined' ) { return true; } @@ -402,7 +414,7 @@ } } ); - + $d.addClass("is-truncated"); return isTruncated; } function ellipsisElement( $e, $d, $i, o, after ) @@ -442,6 +454,13 @@ midPos = m; setTextContent( e, textArr.slice( 0, midPos + 1 ).join( separator ) + o.ellipsis ); + $i.children() + .each( + function() + { + $(this).toggle().toggle(); + } + ); if ( !test( $i, o ) ) { diff --git a/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js b/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js index 64b4f45145..95bce3afed 100644 --- a/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js +++ b/libs/bower_components/jQuery.dotdotdot/src/js/jquery.dotdotdot.min.js @@ -1,5 +1,5 @@ /* - * jQuery dotdotdot 1.7.2 + * jQuery dotdotdot 1.7.4 * * Copyright (c) Fred Heusschen * www.frebsite.nl @@ -10,4 +10,4 @@ * Licensed under the MIT license. * http://en.wikipedia.org/wiki/MIT_License */ -!function(t,e){function n(t,e,n){var r=t.children(),o=!1;t.empty();for(var i=0,d=r.length;d>i;i++){var l=r.eq(i);if(t.append(l),n&&t.append(n),a(t,e)){l.remove(),o=!0;break}n&&n.detach()}return o}function r(e,n,i,d,l){var s=!1,c="a table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style",u="script, .dotdotdot-keep";return e.contents().detach().each(function(){var f=this,h=t(f);if("undefined"==typeof f||3==f.nodeType&&0==t.trim(f.data).length)return!0;if(h.is(u))e.append(h);else{if(s)return!0;e.append(h),!l||h.is(d.after)||h.find(d.after).length||e[e.is(c)?"after":"append"](l),a(i,d)&&(s=3==f.nodeType?o(h,n,i,d,l):r(h,n,i,d,l),s||(h.detach(),s=!0)),s||l&&l.detach()}}),s}function o(e,n,r,o,d){var c=e[0];if(!c)return!1;var f=s(c),h=-1!==f.indexOf(" ")?" ":" ",p="letter"==o.wrap?"":h,g=f.split(p),v=-1,w=-1,b=0,y=g.length-1;for(o.fallbackToLetter&&0==b&&0==y&&(p="",g=f.split(p),y=g.length-1);y>=b&&(0!=b||0!=y);){var m=Math.floor((b+y)/2);if(m==w)break;w=m,l(c,g.slice(0,w+1).join(p)+o.ellipsis),a(r,o)?(y=w,o.fallbackToLetter&&0==b&&0==y&&(p="",g=g[0].split(p),v=-1,w=-1,b=0,y=g.length-1)):(v=w,b=w)}if(-1==v||1==g.length&&0==g[0].length){var x=e.parent();e.detach();var T=d&&d.closest(x).length?d.length:0;x.contents().length>T?c=u(x.contents().eq(-1-T),n):(c=u(x,n,!0),T||x.detach()),c&&(f=i(s(c),o),l(c,f),T&&d&&t(c).parent().append(d))}else f=i(g.slice(0,v+1).join(p),o),l(c,f);return!0}function a(t,e){return t.innerHeight()>e.maxHeight}function i(e,n){for(;t.inArray(e.slice(-1),n.lastCharacter.remove)>-1;)e=e.slice(0,-1);return t.inArray(e.slice(-1),n.lastCharacter.noEllipsis)<0&&(e+=n.ellipsis),e}function d(t){return{width:t.innerWidth(),height:t.innerHeight()}}function l(t,e){t.innerText?t.innerText=e:t.nodeValue?t.nodeValue=e:t.textContent&&(t.textContent=e)}function s(t){return t.innerText?t.innerText:t.nodeValue?t.nodeValue:t.textContent?t.textContent:""}function c(t){do t=t.previousSibling;while(t&&1!==t.nodeType&&3!==t.nodeType);return t}function u(e,n,r){var o,a=e&&e[0];if(a){if(!r){if(3===a.nodeType)return a;if(t.trim(e.text()))return u(e.contents().last(),n)}for(o=c(a);!o;){if(e=e.parent(),e.is(n)||!e.length)return!1;o=c(e[0])}if(o)return u(t(o),n)}return!1}function f(e,n){return e?"string"==typeof e?(e=t(e,n),e.length?e:!1):e.jquery?e:!1:!1}function h(t){for(var e=t.innerHeight(),n=["paddingTop","paddingBottom"],r=0,o=n.length;o>r;r++){var a=parseInt(t.css(n[r]),10);isNaN(a)&&(a=0),e-=a}return e}if(!t.fn.dotdotdot){t.fn.dotdotdot=function(e){if(0==this.length)return t.fn.dotdotdot.debug('No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){t(this).dotdotdot(e)});var o=this;o.data("dotdotdot")&&o.trigger("destroy.dot"),o.data("dotdotdot-style",o.attr("style")||""),o.css("word-wrap","break-word"),"nowrap"===o.css("white-space")&&o.css("white-space","normal"),o.bind_events=function(){return o.bind("update.dot",function(e,d){e.preventDefault(),e.stopPropagation(),l.maxHeight="number"==typeof l.height?l.height:h(o),l.maxHeight+=l.tolerance,"undefined"!=typeof d&&(("string"==typeof d||d instanceof HTMLElement)&&(d=t("
").append(d).contents()),d instanceof t&&(i=d)),g=o.wrapInner('
').children(),g.contents().detach().end().append(i.clone(!0)).find("br").replaceWith("
").end().css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var c=!1,u=!1;return s.afterElement&&(c=s.afterElement.clone(!0),c.show(),s.afterElement.detach()),a(g,l)&&(u="children"==l.wrap?n(g,l,c):r(g,o,g,l,c)),g.replaceWith(g.contents()),g=null,t.isFunction(l.callback)&&l.callback.call(o[0],u,i),s.isTruncated=u,u}).bind("isTruncated.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(o[0],s.isTruncated),s.isTruncated}).bind("originalContent.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(o[0],i),i}).bind("destroy.dot",function(t){t.preventDefault(),t.stopPropagation(),o.unwatch().unbind_events().contents().detach().end().append(i).attr("style",o.data("dotdotdot-style")||"").data("dotdotdot",!1)}),o},o.unbind_events=function(){return o.unbind(".dot"),o},o.watch=function(){if(o.unwatch(),"window"==l.watch){var e=t(window),n=e.width(),r=e.height();e.bind("resize.dot"+s.dotId,function(){n==e.width()&&r==e.height()&&l.windowResizeFix||(n=e.width(),r=e.height(),u&&clearInterval(u),u=setTimeout(function(){o.trigger("update.dot")},100))})}else c=d(o),u=setInterval(function(){if(o.is(":visible")){var t=d(o);(c.width!=t.width||c.height!=t.height)&&(o.trigger("update.dot"),c=t)}},500);return o},o.unwatch=function(){return t(window).unbind("resize.dot"+s.dotId),u&&clearInterval(u),o};var i=o.contents(),l=t.extend(!0,{},t.fn.dotdotdot.defaults,e),s={},c={},u=null,g=null;return l.lastCharacter.remove instanceof Array||(l.lastCharacter.remove=t.fn.dotdotdot.defaultArrays.lastCharacter.remove),l.lastCharacter.noEllipsis instanceof Array||(l.lastCharacter.noEllipsis=t.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis),s.afterElement=f(l.after,o),s.isTruncated=!1,s.dotId=p++,o.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&o.watch(),o},t.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",fallbackToLetter:!0,lastCharacter:{},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0},t.fn.dotdotdot.defaultArrays={lastCharacter:{remove:[" "," ",",",";",".","!","?"],noEllipsis:[]}},t.fn.dotdotdot.debug=function(){};var p=1,g=t.fn.html;t.fn.html=function(n){return n!=e&&!t.isFunction(n)&&this.data("dotdotdot")?this.trigger("update",[n]):g.apply(this,arguments)};var v=t.fn.text;t.fn.text=function(n){return n!=e&&!t.isFunction(n)&&this.data("dotdotdot")?(n=t("
").text(n).html(),this.trigger("update",[n])):v.apply(this,arguments)}}}(jQuery); \ No newline at end of file +!function(t,e){function n(t,e,n){var r=t.children(),o=!1;t.empty();for(var i=0,d=r.length;d>i;i++){var l=r.eq(i);if(t.append(l),n&&t.append(n),a(t,e)){l.remove(),o=!0;break}n&&n.detach()}return o}function r(e,n,i,d,l){var s=!1,c="a, table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, blockquote, select, optgroup, option, textarea, script, style",u="script, .dotdotdot-keep";return e.contents().detach().each(function(){var h=this,f=t(h);if("undefined"==typeof h)return!0;if(f.is(u))e.append(f);else{if(s)return!0;e.append(f),!l||f.is(d.after)||f.find(d.after).length||e[e.is(c)?"after":"append"](l),a(i,d)&&(s=3==h.nodeType?o(f,n,i,d,l):r(f,n,i,d,l),s||(f.detach(),s=!0)),s||l&&l.detach()}}),n.addClass("is-truncated"),s}function o(e,n,r,o,d){var c=e[0];if(!c)return!1;var h=s(c),f=-1!==h.indexOf(" ")?" ":" ",p="letter"==o.wrap?"":f,g=h.split(p),v=-1,w=-1,b=0,y=g.length-1;for(o.fallbackToLetter&&0==b&&0==y&&(p="",g=h.split(p),y=g.length-1);y>=b&&(0!=b||0!=y);){var m=Math.floor((b+y)/2);if(m==w)break;w=m,l(c,g.slice(0,w+1).join(p)+o.ellipsis),r.children().each(function(){t(this).toggle().toggle()}),a(r,o)?(y=w,o.fallbackToLetter&&0==b&&0==y&&(p="",g=g[0].split(p),v=-1,w=-1,b=0,y=g.length-1)):(v=w,b=w)}if(-1==v||1==g.length&&0==g[0].length){var x=e.parent();e.detach();var T=d&&d.closest(x).length?d.length:0;x.contents().length>T?c=u(x.contents().eq(-1-T),n):(c=u(x,n,!0),T||x.detach()),c&&(h=i(s(c),o),l(c,h),T&&d&&t(c).parent().append(d))}else h=i(g.slice(0,v+1).join(p),o),l(c,h);return!0}function a(t,e){return t.innerHeight()>e.maxHeight}function i(e,n){for(;t.inArray(e.slice(-1),n.lastCharacter.remove)>-1;)e=e.slice(0,-1);return t.inArray(e.slice(-1),n.lastCharacter.noEllipsis)<0&&(e+=n.ellipsis),e}function d(t){return{width:t.innerWidth(),height:t.innerHeight()}}function l(t,e){t.innerText?t.innerText=e:t.nodeValue?t.nodeValue=e:t.textContent&&(t.textContent=e)}function s(t){return t.innerText?t.innerText:t.nodeValue?t.nodeValue:t.textContent?t.textContent:""}function c(t){do t=t.previousSibling;while(t&&1!==t.nodeType&&3!==t.nodeType);return t}function u(e,n,r){var o,a=e&&e[0];if(a){if(!r){if(3===a.nodeType)return a;if(t.trim(e.text()))return u(e.contents().last(),n)}for(o=c(a);!o;){if(e=e.parent(),e.is(n)||!e.length)return!1;o=c(e[0])}if(o)return u(t(o),n)}return!1}function h(e,n){return e?"string"==typeof e?(e=t(e,n),e.length?e:!1):e.jquery?e:!1:!1}function f(t){for(var e=t.innerHeight(),n=["paddingTop","paddingBottom"],r=0,o=n.length;o>r;r++){var a=parseInt(t.css(n[r]),10);isNaN(a)&&(a=0),e-=a}return e}if(!t.fn.dotdotdot){t.fn.dotdotdot=function(e){if(0==this.length)return t.fn.dotdotdot.debug('No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){t(this).dotdotdot(e)});var o=this;o.data("dotdotdot")&&o.trigger("destroy.dot"),o.data("dotdotdot-style",o.attr("style")||""),o.css("word-wrap","break-word"),"nowrap"===o.css("white-space")&&o.css("white-space","normal"),o.bind_events=function(){return o.bind("update.dot",function(e,d){switch(o.removeClass("is-truncated"),e.preventDefault(),e.stopPropagation(),typeof l.height){case"number":l.maxHeight=l.height;break;case"function":l.maxHeight=l.height.call(o[0]);break;default:l.maxHeight=f(o)}l.maxHeight+=l.tolerance,"undefined"!=typeof d&&(("string"==typeof d||"nodeType"in d&&1===d.nodeType)&&(d=t("
").append(d).contents()),d instanceof t&&(i=d)),g=o.wrapInner('
').children(),g.contents().detach().end().append(i.clone(!0)).find("br").replaceWith("
").end().css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var c=!1,u=!1;return s.afterElement&&(c=s.afterElement.clone(!0),c.show(),s.afterElement.detach()),a(g,l)&&(u="children"==l.wrap?n(g,l,c):r(g,o,g,l,c)),g.replaceWith(g.contents()),g=null,t.isFunction(l.callback)&&l.callback.call(o[0],u,i),s.isTruncated=u,u}).bind("isTruncated.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(o[0],s.isTruncated),s.isTruncated}).bind("originalContent.dot",function(t,e){return t.preventDefault(),t.stopPropagation(),"function"==typeof e&&e.call(o[0],i),i}).bind("destroy.dot",function(t){t.preventDefault(),t.stopPropagation(),o.unwatch().unbind_events().contents().detach().end().append(i).attr("style",o.data("dotdotdot-style")||"").data("dotdotdot",!1)}),o},o.unbind_events=function(){return o.unbind(".dot"),o},o.watch=function(){if(o.unwatch(),"window"==l.watch){var e=t(window),n=e.width(),r=e.height();e.bind("resize.dot"+s.dotId,function(){n==e.width()&&r==e.height()&&l.windowResizeFix||(n=e.width(),r=e.height(),u&&clearInterval(u),u=setTimeout(function(){o.trigger("update.dot")},100))})}else c=d(o),u=setInterval(function(){if(o.is(":visible")){var t=d(o);(c.width!=t.width||c.height!=t.height)&&(o.trigger("update.dot"),c=t)}},500);return o},o.unwatch=function(){return t(window).unbind("resize.dot"+s.dotId),u&&clearInterval(u),o};var i=o.contents(),l=t.extend(!0,{},t.fn.dotdotdot.defaults,e),s={},c={},u=null,g=null;return l.lastCharacter.remove instanceof Array||(l.lastCharacter.remove=t.fn.dotdotdot.defaultArrays.lastCharacter.remove),l.lastCharacter.noEllipsis instanceof Array||(l.lastCharacter.noEllipsis=t.fn.dotdotdot.defaultArrays.lastCharacter.noEllipsis),s.afterElement=h(l.after,o),s.isTruncated=!1,s.dotId=p++,o.data("dotdotdot",!0).bind_events().trigger("update.dot"),l.watch&&o.watch(),o},t.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",fallbackToLetter:!0,lastCharacter:{},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0},t.fn.dotdotdot.defaultArrays={lastCharacter:{remove:[" "," ",",",";",".","!","?"],noEllipsis:[]}},t.fn.dotdotdot.debug=function(){};var p=1,g=t.fn.html;t.fn.html=function(n){return n!=e&&!t.isFunction(n)&&this.data("dotdotdot")?this.trigger("update",[n]):g.apply(this,arguments)};var v=t.fn.text;t.fn.text=function(n){return n!=e&&!t.isFunction(n)&&this.data("dotdotdot")?(n=t("
").text(n).html(),this.trigger("update",[n])):v.apply(this,arguments)}}}(jQuery); \ No newline at end of file diff --git a/libs/bower_components/jScrollPane/.bower.json b/libs/bower_components/jScrollPane/.bower.json index 0dbc55afc6..160f8a019b 100644 --- a/libs/bower_components/jScrollPane/.bower.json +++ b/libs/bower_components/jScrollPane/.bower.json @@ -1,14 +1,32 @@ { "name": "jScrollPane", + "license": [ + "MIT", + "GPL-2.0" + ], + "main": [ + "./script/jquery.mousewheel.js", + "./script/mwheelIntent.js", + "./script/jquery.jscrollpane.js", + "./script/jquery.jscrollpane.min.js", + "./style/jquery.jscrollpane.css" + ], + "dependencies": { + "jquery": "latest" + }, + "repository": { + "type": "git", + "url": "git://github.com/vitch/jScrollPane.git" + }, "homepage": "https://github.com/vitch/jScrollPane", - "version": "2.0.14", - "_release": "2.0.14", + "version": "2.0.23", + "_release": "2.0.23", "_resolution": { "type": "version", - "tag": "2.0.14", - "commit": "f4042d628a6a593462239fe5eb74a7f7d386f2a7" + "tag": "v2.0.23", + "commit": "aea0f944db041ec93a70c6d076bd79428d026001" }, - "_source": "git://github.com/vitch/jScrollPane.git", + "_source": "https://github.com/vitch/jScrollPane.git", "_target": "~2.0.0", "_originalSource": "jScrollPane" } \ No newline at end of file diff --git a/libs/bower_components/jScrollPane/README.md b/libs/bower_components/jScrollPane/README.md index 01b3a22bc0..7aebfaa97a 100644 --- a/libs/bower_components/jScrollPane/README.md +++ b/libs/bower_components/jScrollPane/README.md @@ -1,6 +1,23 @@ -jScrollPane - cross browser custom scrollbars -============================================= +#jScrollPane - cross browser custom scrollbars jScrollPane is a [jQuery](http://www.jquery.com/) plugin which allows you to replace a browser's default scrollbars (on an element which has **overflow: auto**) with a HTML structure that can be easily skinned using CSS. -To see a bunch of examples of jScrollPane in action please visit the [jScrollPane website](http://jscrollpane.kelvinluck.com/). All of the code for the website is available from this repository so please feel free to download and use it! \ No newline at end of file +To see a bunch of examples of jScrollPane in action please visit the [jScrollPane website](http://jscrollpane.kelvinluck.com/). All of the code for the website is available from this repository so please feel free to download and use it! + +##Contributing + +There is a simple [grunt](http://gruntjs.com) based build script which will help to produce a minified version of +jScrollPane if you make any modifications and want to submit a pull request. You can find it in the `build/` directory. + +To use it first make sure you have [node](http://nodejs.org/), npm and the `grunt-cli` module installed: + +`npm install -g grunt-cli` + +Then: + +``` +cd build +grunt +``` + +Please remember to update the changelog in the comment at the header of both JS files when submitting a pull request. \ No newline at end of file diff --git a/libs/bower_components/jScrollPane/ajax.html b/libs/bower_components/jScrollPane/ajax.html index 4e2bf43737..006006f019 100644 --- a/libs/bower_components/jScrollPane/ajax.html +++ b/libs/bower_components/jScrollPane/ajax.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/anchors.html b/libs/bower_components/jScrollPane/anchors.html index 3605862876..327ad57667 100644 --- a/libs/bower_components/jScrollPane/anchors.html +++ b/libs/bower_components/jScrollPane/anchors.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/api.html b/libs/bower_components/jScrollPane/api.html index 403c092504..0b5b381872 100644 --- a/libs/bower_components/jScrollPane/api.html +++ b/libs/bower_components/jScrollPane/api.html @@ -9,7 +9,7 @@ - + @@ -115,7 +115,7 @@ var api = element.data('jsp'); this). animate is optional and if not passed then the value of animateScroll from the settings object this jScrollPane was initialised with is used.

-

animate(ele, prop, value, stepCallback)

+

animate(ele, prop, value, stepCallback, completeCallback)

This method is called when jScrollPane is trying to animate to a new position. You can override it if you want to provide advanced animation functionality. It is passed the following arguments: @@ -125,6 +125,7 @@ var api = element.data('jsp');

  • prop - the property that is being animated
  • value - the value it's being animated to
  • stepCallback - a function that you must execute each time you update the value of the property
  • +
  • completeCallback - a function that will be executed after the animation had finished
  • You can use the default implementation (see sourcecode) as a @@ -187,4 +188,4 @@ var api = element.data('jsp');

    - \ No newline at end of file + diff --git a/libs/bower_components/jScrollPane/arrow_hover.html b/libs/bower_components/jScrollPane/arrow_hover.html index 2231746fc2..42775c6c52 100644 --- a/libs/bower_components/jScrollPane/arrow_hover.html +++ b/libs/bower_components/jScrollPane/arrow_hover.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/arrow_positions.html b/libs/bower_components/jScrollPane/arrow_positions.html index e1f486459a..bc3acf9eae 100644 --- a/libs/bower_components/jScrollPane/arrow_positions.html +++ b/libs/bower_components/jScrollPane/arrow_positions.html @@ -29,7 +29,7 @@ - + diff --git a/libs/bower_components/jScrollPane/arrows.html b/libs/bower_components/jScrollPane/arrows.html index 755183d801..7b667ab24e 100644 --- a/libs/bower_components/jScrollPane/arrows.html +++ b/libs/bower_components/jScrollPane/arrows.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/auto_reinitialise.html b/libs/bower_components/jScrollPane/auto_reinitialise.html index b11669ddda..7e1bbd7a17 100644 --- a/libs/bower_components/jScrollPane/auto_reinitialise.html +++ b/libs/bower_components/jScrollPane/auto_reinitialise.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/basic.html b/libs/bower_components/jScrollPane/basic.html index faa9b39664..79e0d7723e 100644 --- a/libs/bower_components/jScrollPane/basic.html +++ b/libs/bower_components/jScrollPane/basic.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/bower.json b/libs/bower_components/jScrollPane/bower.json new file mode 100644 index 0000000000..4f95e89f1d --- /dev/null +++ b/libs/bower_components/jScrollPane/bower.json @@ -0,0 +1,21 @@ +{ + "name": "jScrollPane", + "license": [ + "MIT", + "GPL-2.0" + ], + "main": [ + "./script/jquery.mousewheel.js", + "./script/mwheelIntent.js", + "./script/jquery.jscrollpane.js", + "./script/jquery.jscrollpane.min.js", + "./style/jquery.jscrollpane.css" + ], + "dependencies": { + "jquery": "latest" + }, + "repository": { + "type": "git", + "url": "git://github.com/vitch/jScrollPane.git" + } +} diff --git a/libs/bower_components/jScrollPane/build/.gitignore b/libs/bower_components/jScrollPane/build/.gitignore new file mode 100644 index 0000000000..b512c09d47 --- /dev/null +++ b/libs/bower_components/jScrollPane/build/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/libs/bower_components/jScrollPane/build/Gruntfile.js b/libs/bower_components/jScrollPane/build/Gruntfile.js new file mode 100644 index 0000000000..c48aba2f70 --- /dev/null +++ b/libs/bower_components/jScrollPane/build/Gruntfile.js @@ -0,0 +1,49 @@ +/* + * jScrollPane build script + * http://jscrollpane.kelvinluck.com/ + * + * Copyright (c) 2013 Kelvin Luck + * Licensed under the MIT license. + */ + +'use strict'; + +module.exports = function(grunt) { + + // Project configuration. + grunt.initConfig({ + + uglify: { + jsp: { + files: { + '../script/jquery.jscrollpane.min.js': '../script/jquery.jscrollpane.js' + }, + options: { + preserveComments: 'some' + } + } + }, + watch: { + content: { + files: ['../script/jquery.jscrollpane.js'], + tasks: 'uglify' + } + }, + connect: { + site: { + options: { + base: '../' + } + } + } + + }); + + grunt.loadNpmTasks('grunt-contrib-connect'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + + grunt.registerTask('default', ['uglify']); + grunt.registerTask('serve', ['uglify', 'connect', 'watch']); + +}; diff --git a/libs/bower_components/jScrollPane/build/package.json b/libs/bower_components/jScrollPane/build/package.json new file mode 100644 index 0000000000..781719b1d6 --- /dev/null +++ b/libs/bower_components/jScrollPane/build/package.json @@ -0,0 +1,30 @@ +{ + "name": "jScrollPane-build", + "description": "Keep track of what you spend", + "version": "0.1.0", + "homepage": "http://jscrollpane.kelvinluck.com", + "author": { + "name": "Kelvin Luck", + "email": "git+jsp@kelvinluck.com" + }, + "licenses": [ + { + "type": "MIT", + "url": "http://github.com/haggerstonjs/blob/master/LICENSE-MIT" + } + ], + "main": "Gruntfile.js", + "engines": { + "node": ">= 0.8.0" + }, + "dependencies": { + "grunt": "~0.4.1", + "grunt-contrib-uglify": "~0.2.0" + }, + "devDependencies": { + "grunt-contrib-connect": "~0.2.0", + "grunt-contrib-watch": "~0.2.0" + }, + "peerDependencies": {}, + "keywords": [] +} diff --git a/libs/bower_components/jScrollPane/caps.html b/libs/bower_components/jScrollPane/caps.html index 32ff8f12f1..065e77970d 100644 --- a/libs/bower_components/jScrollPane/caps.html +++ b/libs/bower_components/jScrollPane/caps.html @@ -37,7 +37,7 @@ - + diff --git a/libs/bower_components/jScrollPane/changelog.html b/libs/bower_components/jScrollPane/changelog.html index cded13a704..e5818a15eb 100644 --- a/libs/bower_components/jScrollPane/changelog.html +++ b/libs/bower_components/jScrollPane/changelog.html @@ -11,7 +11,7 @@ - + diff --git a/libs/bower_components/jScrollPane/destroy.html b/libs/bower_components/jScrollPane/destroy.html index 496259154c..f98ae3f1d4 100644 --- a/libs/bower_components/jScrollPane/destroy.html +++ b/libs/bower_components/jScrollPane/destroy.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/drag_size.html b/libs/bower_components/jScrollPane/drag_size.html index de2dd216bd..1b084c4c87 100644 --- a/libs/bower_components/jScrollPane/drag_size.html +++ b/libs/bower_components/jScrollPane/drag_size.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/dynamic_content.html b/libs/bower_components/jScrollPane/dynamic_content.html index ad035b5353..4e476e6883 100644 --- a/libs/bower_components/jScrollPane/dynamic_content.html +++ b/libs/bower_components/jScrollPane/dynamic_content.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/dynamic_height.html b/libs/bower_components/jScrollPane/dynamic_height.html index fdfc01bb39..6b05550b88 100644 --- a/libs/bower_components/jScrollPane/dynamic_height.html +++ b/libs/bower_components/jScrollPane/dynamic_height.html @@ -34,7 +34,7 @@ - + @@ -59,22 +59,18 @@ 'resize', function() { - if ($.browser.msie) { - // IE fires multiple resize events while you are dragging the browser window which - // causes it to crash if you try to update the scrollpane on every one. So we need - // to throttle it to fire a maximum of once every 50 milliseconds... - if (!throttleTimeout) { - throttleTimeout = setTimeout( - function() - { - api.reinitialise(); - throttleTimeout = null; - }, - 50 - ); - } - } else { - api.reinitialise(); + // IE fires multiple resize events while you are dragging the browser window which + // causes it to crash if you try to update the scrollpane on every one. So we need + // to throttle it to fire a maximum of once every 50 milliseconds... + if (!throttleTimeout) { + throttleTimeout = setTimeout( + function() + { + api.reinitialise(); + throttleTimeout = null; + }, + 50 + ); } } ); diff --git a/libs/bower_components/jScrollPane/dynamic_width.html b/libs/bower_components/jScrollPane/dynamic_width.html index 0a8949c289..90e5fdc085 100644 --- a/libs/bower_components/jScrollPane/dynamic_width.html +++ b/libs/bower_components/jScrollPane/dynamic_width.html @@ -35,7 +35,7 @@ - + @@ -60,22 +60,15 @@ 'resize', function() { - if ($.browser.msie) { - // IE fires multiple resize events while you are dragging the browser window which - // causes it to crash if you try to update the scrollpane on every one. So we need - // to throttle it to fire a maximum of once every 50 milliseconds... - if (!throttleTimeout) { - throttleTimeout = setTimeout( - function() - { - api.reinitialise(); - throttleTimeout = null; - }, - 50 - ); - } - } else { - api.reinitialise(); + if (!throttleTimeout) { + throttleTimeout = setTimeout( + function() + { + api.reinitialise(); + throttleTimeout = null; + }, + 50 + ); } } ); diff --git a/libs/bower_components/jScrollPane/events.html b/libs/bower_components/jScrollPane/events.html index a782ec9faa..235bab7ee5 100644 --- a/libs/bower_components/jScrollPane/events.html +++ b/libs/bower_components/jScrollPane/events.html @@ -26,7 +26,7 @@ - + @@ -46,6 +46,26 @@ 'isScrollable=', isScrollable); } ) + .bind( + 'jsp-will-scroll-x', + function(event, destX) + { + console.log( + 'Handle jsp-will-scroll-x', this, + 'destX=', destX + ); + } + ) + .bind( + 'jsp-will-scroll-y', + function(event, destY) + { + console.log( + 'Handle jsp-will-scroll-y', this, + 'destY=', destY + ); + } + ) .bind( 'jsp-scroll-y', function(event, scrollPositionY, isAtTop, isAtBottom) @@ -77,6 +97,30 @@ 'isAtRight=', isAtRight); } ) + .bind( + 'jsp-user-scroll-y', + function(event, destTop, isAtTop, isAtBottom) + { + console.log( + 'Handle jsp-user-scroll-y', this, + 'destTop=', destTop, + 'isAtTop=', isAtTop, + 'isAtBottom=', isAtBottom + ); + } + ) + .bind( + 'jsp-user-scroll-x', + function(event, destLeft, isAtLeft, isAtRight) + { + console.log( + 'Handle jsp-user-scroll-x', this, + 'destLeft=', destLeft, + 'isAtLeft=', isAtLeft, + 'isAtRight=', isAtRight + ); + } + ) .jScrollPane(); }); @@ -123,6 +167,22 @@ the viewport). Note that this function isn't dependant on having showArrows set to true, indeed it is most useful when implementing your own arrow keys. +
  • + jsp-user-scroll-y [event, -destTop, isAtTop, isAtBottom] - Fires only when the + scroll is caused by the user. Also, its fired after the actual scroll had happened. +
  • +
  • + jsp-user-scroll-x [event, -destLeft, isAtLeft, isAtRight] - Fires only when the + scroll is caused by the user. Also, its fired after the actual scroll had happened. +
  • +
  • + jsp-will-scroll-y [event, destY] - Fired before the actual scroll had happened. + This can be used to disable the scroll functionality if the event.preventDefault() is called. +
  • +
  • + jsp-will-scroll-x [event, destX] - Fired before the actual scroll had happened. + This can be used to disable the scroll functionality if the event.preventDefault() is called. +
  • Vertical only

    diff --git a/libs/bower_components/jScrollPane/faqs.html b/libs/bower_components/jScrollPane/faqs.html index 7411c2d2ba..70cd8c1e2b 100644 --- a/libs/bower_components/jScrollPane/faqs.html +++ b/libs/bower_components/jScrollPane/faqs.html @@ -9,7 +9,7 @@ - + diff --git a/libs/bower_components/jScrollPane/fixed_width.html b/libs/bower_components/jScrollPane/fixed_width.html index 5b619d723b..23aafe8661 100644 --- a/libs/bower_components/jScrollPane/fixed_width.html +++ b/libs/bower_components/jScrollPane/fixed_width.html @@ -32,7 +32,7 @@ - + diff --git a/libs/bower_components/jScrollPane/focus.html b/libs/bower_components/jScrollPane/focus.html index e97ed7f27d..ae38d46d00 100644 --- a/libs/bower_components/jScrollPane/focus.html +++ b/libs/bower_components/jScrollPane/focus.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/fullpage_scroll.html b/libs/bower_components/jScrollPane/fullpage_scroll.html index 8219a8bd67..996f5e874b 100644 --- a/libs/bower_components/jScrollPane/fullpage_scroll.html +++ b/libs/bower_components/jScrollPane/fullpage_scroll.html @@ -34,7 +34,7 @@ - + diff --git a/libs/bower_components/jScrollPane/iframe.html b/libs/bower_components/jScrollPane/iframe.html index a0d940ab72..6e58671f4e 100644 --- a/libs/bower_components/jScrollPane/iframe.html +++ b/libs/bower_components/jScrollPane/iframe.html @@ -20,7 +20,7 @@ - + diff --git a/libs/bower_components/jScrollPane/iframe2.html b/libs/bower_components/jScrollPane/iframe2.html index 21398c332d..07d4c92fa1 100644 --- a/libs/bower_components/jScrollPane/iframe2.html +++ b/libs/bower_components/jScrollPane/iframe2.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/iframe_content1.html b/libs/bower_components/jScrollPane/iframe_content1.html index 74e95f221f..f0d42f6723 100644 --- a/libs/bower_components/jScrollPane/iframe_content1.html +++ b/libs/bower_components/jScrollPane/iframe_content1.html @@ -24,7 +24,7 @@ - + diff --git a/libs/bower_components/jScrollPane/iframe_content2.html b/libs/bower_components/jScrollPane/iframe_content2.html index c6b43766e1..2059b4f2e6 100644 --- a/libs/bower_components/jScrollPane/iframe_content2.html +++ b/libs/bower_components/jScrollPane/iframe_content2.html @@ -24,7 +24,7 @@ - + diff --git a/libs/bower_components/jScrollPane/image.html b/libs/bower_components/jScrollPane/image.html index 05e64ccf31..9c9055e64b 100644 --- a/libs/bower_components/jScrollPane/image.html +++ b/libs/bower_components/jScrollPane/image.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/image2.html b/libs/bower_components/jScrollPane/image2.html index a2c4df1f13..476eaa51df 100644 --- a/libs/bower_components/jScrollPane/image2.html +++ b/libs/bower_components/jScrollPane/image2.html @@ -38,7 +38,7 @@ - + diff --git a/libs/bower_components/jScrollPane/index.html b/libs/bower_components/jScrollPane/index.html index 81775e580e..be39c07e46 100644 --- a/libs/bower_components/jScrollPane/index.html +++ b/libs/bower_components/jScrollPane/index.html @@ -11,7 +11,7 @@ - + @@ -59,7 +59,7 @@ <link type="text/css" href="style/jquery.jscrollpane.css" rel="stylesheet" media="all" /> <!-- latest jQuery direct from google's CDN --> -<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> +<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> </script> <!-- the mousewheel plugin - optional to provide mousewheel support --> @@ -223,6 +223,10 @@ Demo showing the events that are dispatched by an element you apply jScrollPane to. +
  • + jscrollpane-rails makes integrating jScrollPane + with Rails apps easier. +
  • Themes

    diff --git a/libs/bower_components/jScrollPane/invisibles.html b/libs/bower_components/jScrollPane/invisibles.html index c006b687e9..33eabf6e00 100644 --- a/libs/bower_components/jScrollPane/invisibles.html +++ b/libs/bower_components/jScrollPane/invisibles.html @@ -54,7 +54,7 @@ - + diff --git a/libs/bower_components/jScrollPane/known_issues.html b/libs/bower_components/jScrollPane/known_issues.html index 4879af3dde..1d962fafda 100644 --- a/libs/bower_components/jScrollPane/known_issues.html +++ b/libs/bower_components/jScrollPane/known_issues.html @@ -9,7 +9,7 @@ - + diff --git a/libs/bower_components/jScrollPane/less_basic.html b/libs/bower_components/jScrollPane/less_basic.html index 74ecee9084..db76f0201d 100644 --- a/libs/bower_components/jScrollPane/less_basic.html +++ b/libs/bower_components/jScrollPane/less_basic.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/mwheel_intent.html b/libs/bower_components/jScrollPane/mwheel_intent.html index 821f83bb99..c674cf14e7 100644 --- a/libs/bower_components/jScrollPane/mwheel_intent.html +++ b/libs/bower_components/jScrollPane/mwheel_intent.html @@ -26,7 +26,7 @@ - + diff --git a/libs/bower_components/jScrollPane/override_animate.html b/libs/bower_components/jScrollPane/override_animate.html index 32275155b9..448e898cff 100644 --- a/libs/bower_components/jScrollPane/override_animate.html +++ b/libs/bower_components/jScrollPane/override_animate.html @@ -34,7 +34,7 @@ - + diff --git a/libs/bower_components/jScrollPane/runeimp.html b/libs/bower_components/jScrollPane/runeimp.html index 90010f3b01..394f4049bf 100644 --- a/libs/bower_components/jScrollPane/runeimp.html +++ b/libs/bower_components/jScrollPane/runeimp.html @@ -29,7 +29,7 @@ - + diff --git a/libs/bower_components/jScrollPane/runeimp2.html b/libs/bower_components/jScrollPane/runeimp2.html index c1a420720f..afe5fd01c4 100644 --- a/libs/bower_components/jScrollPane/runeimp2.html +++ b/libs/bower_components/jScrollPane/runeimp2.html @@ -34,7 +34,7 @@ - + diff --git a/libs/bower_components/jScrollPane/script/demo.js b/libs/bower_components/jScrollPane/script/demo.js index de2efdb51d..a93122f54e 100644 --- a/libs/bower_components/jScrollPane/script/demo.js +++ b/libs/bower_components/jScrollPane/script/demo.js @@ -42,7 +42,7 @@ if (window.location.hostname == 'jscrollpane.kelvinluck.com') { ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); -} else if(window.location.protocol == 'file:') { +} else if(window.location.protocol == 'file:' || window.location.hostname == 'localhost') { // Allow local testing without annoying alerts } else { alert('Do not include demo.js on your site!'); diff --git a/libs/bower_components/jScrollPane/script/jquery.jscrollpane.js b/libs/bower_components/jScrollPane/script/jquery.jscrollpane.js index 9bc41f914e..6db96c7afc 100644 --- a/libs/bower_components/jScrollPane/script/jquery.jscrollpane.js +++ b/libs/bower_components/jScrollPane/script/jquery.jscrollpane.js @@ -1,14 +1,14 @@ /*! - * jScrollPane - v2.0.14 - 2013-05-01 + * jScrollPane - v2.0.23 - 2016-01-28 * http://jscrollpane.kelvinluck.com/ * - * Copyright (c) 2010 Kelvin Luck + * Copyright (c) 2014 Kelvin Luck * Dual licensed under the MIT or GPL licenses. */ // Script: jScrollPane - cross browser customisable scrollbars // -// *Version: 2.0.14, Last updated: 2013-05-01* +// *Version: 2.0.23, Last updated: 2016-01-28* // // Project Home - http://jscrollpane.kelvinluck.com/ // GitHub - http://github.com/vitch/jScrollPane @@ -17,7 +17,7 @@ // // About: License // -// Copyright (c) 2013 Kelvin Luck +// Copyright (c) 2014 Kelvin Luck // Dual licensed under the MIT or GPL Version 2 licenses. // http://jscrollpane.kelvinluck.com/MIT-LICENSE.txt // http://jscrollpane.kelvinluck.com/GPL-LICENSE.txt @@ -32,13 +32,22 @@ // This plugin is tested on the browsers below and has been found to work reliably on them. If you run // into a problem on one of the supported browsers then please visit the support section on the jScrollPane // website (http://jscrollpane.kelvinluck.com/) for more information on getting support. You are also -// welcome to fork the project on GitHub if you can contribute a fix for a given issue. +// welcome to fork the project on GitHub if you can contribute a fix for a given issue. // // jQuery Versions - tested in 1.4.2+ - reported to work in 1.3.x // Browsers Tested - Firefox 3.6.8, Safari 5, Opera 10.6, Chrome 5.0, IE 6, 7, 8 // // About: Release History // +// 2.0.23 - (2016-01-28) Various +// 2.0.22 - (2015-04-25) Resolve a memory leak due to an event handler that isn't cleaned up in destroy (thanks @timjnh) +// 2.0.21 - (2015-02-24) Simplify UMD pattern: fixes browserify when loading jQuery outside of bundle +// 2.0.20 - (2014-10-23) Adds AMD support (thanks @carlosrberto) and support for overflow-x/overflow-y (thanks @darimpulso) +// 2.0.19 - (2013-11-16) Changes for more reliable scroll amount with latest mousewheel plugin (thanks @brandonaaron) +// 2.0.18 - (2013-10-23) Fix for issue with gutters and scrollToElement (thanks @Dubiy) +// 2.0.17 - (2013-08-17) Working correctly when box-sizing is set to border-box (thanks @pieht) +// 2.0.16 - (2013-07-30) Resetting left position when scroll is removed. Fixes #189 +// 2.0.15 - (2013-07-29) Fixed issue with scrollToElement where the destX and destY are undefined. // 2.0.14 - (2013-05-01) Updated to most recent mouse wheel plugin (see #106) and related changes for sensible scroll speed // 2.0.13 - (2013-05-01) Switched to semver compatible version name // 2.0.0beta12 - (2012-09-27) fix for jQuery 1.8+ @@ -56,7 +65,18 @@ // elements and dynamically sized elements. // 1.x - (2006-12-31 - 2010-07-31) Initial version, hosted at googlecode, deprecated -(function($,window,undefined){ +(function (factory) { + if ( typeof define === 'function' && define.amd ) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node/CommonJS style for Browserify + module.exports = factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function($){ $.fn.jScrollPane = function(settings) { @@ -73,12 +93,17 @@ originalElement = elem.clone(false, false).empty(), mwEvent = $.fn.mwheelIntent ? 'mwheelIntent.jsp' : 'mousewheel.jsp'; - originalPadding = elem.css('paddingTop') + ' ' + - elem.css('paddingRight') + ' ' + - elem.css('paddingBottom') + ' ' + - elem.css('paddingLeft'); - originalPaddingTotalWidth = (parseInt(elem.css('paddingLeft'), 10) || 0) + - (parseInt(elem.css('paddingRight'), 10) || 0); + if (elem.css('box-sizing') === 'border-box') { + originalPadding = 0; + originalPaddingTotalWidth = 0; + } else { + originalPadding = elem.css('paddingTop') + ' ' + + elem.css('paddingRight') + ' ' + + elem.css('paddingBottom') + ' ' + + elem.css('paddingLeft'); + originalPaddingTotalWidth = (parseInt(elem.css('paddingLeft'), 10) || 0) + + (parseInt(elem.css('paddingRight'), 10) || 0); + } function initialise(s) { @@ -105,7 +130,7 @@ paneHeight = elem.innerHeight(); elem.width(paneWidth); - + pane = $('
    ').css('padding', originalPadding).append(elem.children()); container = $('
    ') .css({ @@ -116,7 +141,7 @@ /* // Move any margins from the first and last children up to the container so they can still - // collapse with neighbouring elements as they would before jScrollPane + // collapse with neighbouring elements as they would before jScrollPane firstChild = pane.find(':first-child'); lastChild = pane.find(':last-child'); elem.css( @@ -151,7 +176,7 @@ return; } previousContentWidth = contentWidth; - + pane.css('width', ''); elem.width(paneWidth); @@ -178,7 +203,8 @@ if (!(isScrollableH || isScrollableV)) { elem.removeClass('jspScrollable'); pane.css({ - top: 0, + top: 0, + left: 0, width: container.width() - originalPaddingTotalWidth }); removeMousewheel(); @@ -206,14 +232,14 @@ initFocusHandler(); initMousewheel(); initTouch(); - + if (settings.enableKeyboardNavigation) { initKeyboardNav(); } if (settings.clickOnTrack) { initClickOnTrack(); } - + observeHash(); if (settings.hijackInternalLinks) { hijackInternalLinks(); @@ -474,7 +500,7 @@ function appendArrows(ele, p, a1, a2) { var p1 = "before", p2 = "after", aTemp; - + // Sniff for mac... Is there a better way to determine whether the arrows would naturally appear // at the top or the bottom of the bar? if (p == "os") { @@ -589,7 +615,7 @@ } ); } - + if (isScrollableH) { horizontalTrack.bind( 'mousedown.jsp', @@ -674,15 +700,33 @@ destY = dragMaxY; } + // allow for devs to prevent the JSP from being scrolled + var willScrollYEvent = new $.Event("jsp-will-scroll-y"); + elem.trigger(willScrollYEvent, [destY]); + + if (willScrollYEvent.isDefaultPrevented()) { + return; + } + + var tmpVerticalDragPosition = destY || 0; + + var isAtTop = tmpVerticalDragPosition === 0, + isAtBottom = tmpVerticalDragPosition == dragMaxY, + percentScrolled = destY/ dragMaxY, + destTop = -percentScrolled * (contentHeight - paneHeight); + // can't just check if(animate) because false is a valid value that could be passed in... if (animate === undefined) { animate = settings.animateScroll; } if (animate) { - jsp.animate(verticalDrag, 'top', destY, _positionDragY); + jsp.animate(verticalDrag, 'top', destY, _positionDragY, function() { + elem.trigger('jsp-user-scroll-y', [-destTop, isAtTop, isAtBottom]); + }); } else { verticalDrag.css('top', destY); _positionDragY(destY); + elem.trigger('jsp-user-scroll-y', [-destTop, isAtTop, isAtBottom]); } } @@ -694,7 +738,7 @@ } container.scrollTop(0); - verticalDragPosition = destY; + verticalDragPosition = destY || 0; var isAtTop = verticalDragPosition === 0, isAtBottom = verticalDragPosition == dragMaxY, @@ -706,7 +750,7 @@ wasAtBottom = isAtBottom; elem.trigger('jsp-arrow-change', [wasAtTop, wasAtBottom, wasAtLeft, wasAtRight]); } - + updateVerticalArrows(isAtTop, isAtBottom); pane.css('top', destTop); elem.trigger('jsp-scroll-y', [-destTop, isAtTop, isAtBottom]).trigger('scroll'); @@ -723,14 +767,33 @@ destX = dragMaxX; } + + // allow for devs to prevent the JSP from being scrolled + var willScrollXEvent = new $.Event("jsp-will-scroll-x"); + elem.trigger(willScrollXEvent, [destX]); + + if (willScrollXEvent.isDefaultPrevented()) { + return; + } + + var tmpHorizontalDragPosition = destX ||0; + + var isAtLeft = tmpHorizontalDragPosition === 0, + isAtRight = tmpHorizontalDragPosition == dragMaxX, + percentScrolled = destX / dragMaxX, + destLeft = -percentScrolled * (contentWidth - paneWidth); + if (animate === undefined) { animate = settings.animateScroll; } if (animate) { - jsp.animate(horizontalDrag, 'left', destX, _positionDragX); + jsp.animate(horizontalDrag, 'left', destX, _positionDragX, function() { + elem.trigger('jsp-user-scroll-x', [-destLeft, isAtLeft, isAtRight]); + }); } else { horizontalDrag.css('left', destX); _positionDragX(destX); + elem.trigger('jsp-user-scroll-x', [-destLeft, isAtLeft, isAtRight]); } } @@ -741,7 +804,7 @@ } container.scrollTop(0); - horizontalDragPosition = destX; + horizontalDragPosition = destX ||0; var isAtLeft = horizontalDragPosition === 0, isAtRight = horizontalDragPosition == dragMaxX, @@ -753,7 +816,7 @@ wasAtRight = isAtRight; elem.trigger('jsp-arrow-change', [wasAtTop, wasAtBottom, wasAtLeft, wasAtRight]); } - + updateHorizontalArrows(isAtLeft, isAtRight); pane.css('left', destLeft); elem.trigger('jsp-scroll-x', [-destLeft, isAtLeft, isAtRight]).trigger('scroll'); @@ -803,7 +866,7 @@ container.scrollTop(0); container.scrollLeft(0); - + // loop through parents adding the offset top of any elements that are relatively positioned between // the focused element and the jspPane so we can get the true distance from the top // of the focused element to the top of the scrollpane... @@ -820,14 +883,14 @@ viewportTop = contentPositionY(); maxVisibleEleTop = viewportTop + paneHeight; if (eleTop < viewportTop || stickToTop) { // element is above viewport - destY = eleTop - settings.verticalGutter; + destY = eleTop - settings.horizontalGutter; } else if (eleTop + eleHeight > maxVisibleEleTop) { // element is below viewport - destY = eleTop - paneHeight + eleHeight + settings.verticalGutter; + destY = eleTop - paneHeight + eleHeight + settings.horizontalGutter; } - if (destY) { + if (!isNaN(destY)) { scrollToY(destY, animate); } - + viewportLeft = contentPositionX(); maxVisibleEleLeft = viewportLeft + paneWidth; if (eleLeft < viewportLeft || stickToTop) { // element is to the left of viewport @@ -835,7 +898,7 @@ } else if (eleLeft + eleWidth > maxVisibleEleLeft) { // element is to the right viewport destX = eleLeft - paneWidth + eleWidth + settings.horizontalGutter; } - if (destX) { + if (!isNaN(destX)) { scrollToX(destX, animate); } @@ -868,8 +931,12 @@ container.unbind(mwEvent).bind( mwEvent, function (event, delta, deltaX, deltaY) { - var dX = horizontalDragPosition, dY = verticalDragPosition; - jsp.scrollBy(deltaX * settings.mouseWheelSpeed, -deltaY * settings.mouseWheelSpeed, false); + + if (!horizontalDragPosition) horizontalDragPosition = 0; + if (!verticalDragPosition) verticalDragPosition = 0; + + var dX = horizontalDragPosition, dY = verticalDragPosition, factor = event.deltaFactor || settings.mouseWheelSpeed; + jsp.scrollBy(deltaX * factor, -deltaY * factor, false); // return true if there was no movement so rest of screen can scroll return dX == horizontalDragPosition && dY == verticalDragPosition; } @@ -901,21 +968,22 @@ { pane.find(':input,a').unbind('focus.jsp'); } - + function initKeyboardNav() { var keyDown, elementHasScrolled, validParents = []; isScrollableH && validParents.push(horizontalBar[0]); isScrollableV && validParents.push(verticalBar[0]); - + // IE also focuses elements that don't have tabindex set. - pane.focus( + pane.bind( + 'focus.jsp', function() { elem.focus(); } ); - + elem.attr('tabindex', 0) .unbind('keydown.jsp keypress.jsp') .bind( @@ -957,10 +1025,14 @@ if (e.keyCode == keyDown) { keyDownHandler(); } + // If the keypress is not related to the area, ignore it. Fixes problem with inputs inside scrolled area. Copied from line 955. + if (e.target !== this && !(validParents.length && $(e.target).closest(validParents).length)){ + return; + } return !elementHasScrolled; } ); - + if (settings.hideFocus) { elem.css('outline', 'none'); if ('hideFocus' in container[0]){ @@ -972,7 +1044,7 @@ elem.attr('hideFocus', false); } } - + function keyDownHandler() { var dX = horizontalDragPosition, dY = verticalDragPosition; @@ -1002,12 +1074,14 @@ return elementHasScrolled; } } - + function removeKeyboardNav() { elem.attr('tabindex', '-1') .removeAttr('tabindex') .unbind('keydown.jsp keypress.jsp'); + + pane.unbind('.jsp'); } function observeHash() @@ -1057,7 +1131,7 @@ $(document.body).data('jspHijack', true); // use live handler to also capture newly created links - $(document.body).delegate('a[href*=#]', 'click', function(event) { + $(document.body).delegate('a[href*="#"]', 'click', function(event) { // does the link point to the same page? // this also takes care of cases with a -Tag or Links not starting with the hash # // e.g. when the current url already is index.html @@ -1114,7 +1188,7 @@ event.preventDefault(); }); } - + // Init touch on iPad, iPhone, iPod, Android function initTouch() { @@ -1124,7 +1198,7 @@ touchStartY, moved, moving = false; - + container.unbind('touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick').bind( 'touchstart.jsp', function(e) @@ -1144,14 +1218,14 @@ if(!moving) { return; } - + var touchPos = ev.originalEvent.touches[0], dX = horizontalDragPosition, dY = verticalDragPosition; - + jsp.scrollTo(startX + touchStartX - touchPos.pageX, startY + touchStartY - touchPos.pageY); - + moved = moved || Math.abs(touchStartX - touchPos.pageX) > 5 || Math.abs(touchStartY - touchPos.pageY) > 5; - + // return true if there was no movement so rest of screen can scroll return dX == horizontalDragPosition && dY == verticalDragPosition; } @@ -1175,11 +1249,12 @@ } ); } - + function destroy(){ var currentY = contentPositionY(), currentX = contentPositionX(); elem.removeClass('jspScrollable').unbind('.jsp'); + pane.unbind('.jsp'); elem.replaceWith(originalElement.append(pane.children())); originalElement.scrollTop(currentY); originalElement.scrollLeft(currentX); @@ -1291,8 +1366,9 @@ // * prop - the property that is being animated // * value - the value it's being animated to // * stepCallback - a function that you must execute each time you update the value of the property + // * completeCallback - a function that will be executed after the animation had finished // You can use the default implementation (below) as a starting point for your own implementation. - animate: function(ele, prop, value, stepCallback) + animate: function(ele, prop, value, stepCallback, completeCallback) { var params = {}; params[prop] = value; @@ -1302,7 +1378,8 @@ 'duration' : settings.animateDuration, 'easing' : settings.animateEase, 'queue' : false, - 'step' : stepCallback + 'step' : stepCallback, + 'complete' : completeCallback } ); }, @@ -1372,13 +1449,13 @@ } } ); - + initialise(s); } // Pluginifying code... settings = $.extend({}, $.fn.jScrollPane.defaults, settings); - + // Apply default speed $.each(['arrowButtonSpeed', 'trackClickSpeed', 'keyboardSpeed'], function() { settings[this] = settings[this] || settings.speed; @@ -1434,5 +1511,4 @@ scrollPagePercent : .8 // Percent of visible area scrolled when pageUp/Down or track area pressed }; -})(jQuery,this); - +})); diff --git a/libs/bower_components/jScrollPane/script/jquery.jscrollpane.min.js b/libs/bower_components/jScrollPane/script/jquery.jscrollpane.min.js index d7d9cae764..71e94c50c8 100644 --- a/libs/bower_components/jScrollPane/script/jquery.jscrollpane.min.js +++ b/libs/bower_components/jScrollPane/script/jquery.jscrollpane.min.js @@ -1,11 +1,8 @@ /*! - * jScrollPane - v2.0.14 - 2013-05-01 + * jScrollPane - v2.0.23 - 2016-01-28 * http://jscrollpane.kelvinluck.com/ * - * Copyright (c) 2010 Kelvin Luck + * Copyright (c) 2014 Kelvin Luck * Dual licensed under the MIT or GPL licenses. */ -(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var ay,Q=this,Y,aj,v,al,T,Z,y,q,az,aE,au,i,I,h,j,aa,U,ap,X,t,A,aq,af,am,G,l,at,ax,x,av,aH,f,L,ai=true,P=true,aG=false,k=false,ao=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aH=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function ar(aQ){var aL,aN,aM,aJ,aI,aP,aO=false,aK=false;ay=aQ;if(Y===c){aI=D.scrollTop();aP=D.scrollLeft();D.css({overflow:"hidden",padding:0});aj=D.innerWidth()+f;v=D.innerHeight();D.width(aj);Y=b('
    ').css("padding",aH).append(D.children());al=b('
    ').css({width:aj+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aO=ay.stickToBottom&&K();aK=ay.stickToRight&&B();aJ=D.innerWidth()+f!=aj||D.outerHeight()!=v;if(aJ){aj=D.innerWidth()+f;v=D.innerHeight();al.css({width:aj+"px",height:v+"px"})}if(!aJ&&L==T&&Y.outerHeight()==Z){D.width(aj);return}L=T;Y.css("width","");D.width(aj);al.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aQ.contentWidth){T=aQ.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/aj;q=Z/v;az=q>1;aE=y>1;if(!(aE||az)){D.removeClass("jspScrollable");Y.css({top:0,width:al.width()-f});n();E();R();w()}else{D.addClass("jspScrollable");aL=ay.maintainPosition&&(I||aa);if(aL){aN=aC();aM=aA()}aF();z();F();if(aL){N(aK?(T-aj):aN,false);M(aO?(Z-v):aM,false)}J();ag();an();if(ay.enableKeyboardNavigation){S()}if(ay.clickOnTrack){p()}C();if(ay.hijackInternalLinks){m()}}if(ay.autoReinitialise&&!av){av=setInterval(function(){ar(ay)},ay.autoReinitialiseDelay)}else{if(!ay.autoReinitialise&&av){clearInterval(av)}}aI&&D.scrollTop(0)&&M(aI,false);aP&&D.scrollLeft(0)&&N(aP,false);D.trigger("jsp-initialised",[aE||az])}function aF(){if(az){al.append(b('
    ').append(b('
    '),b('
    ').append(b('
    ').append(b('
    '),b('
    '))),b('
    ')));U=al.find(">.jspVerticalBar");ap=U.find(">.jspTrack");au=ap.find(">.jspDrag");if(ay.showArrows){aq=b('').bind("mousedown.jsp",aD(0,-1)).bind("click.jsp",aB);af=b('').bind("mousedown.jsp",aD(0,1)).bind("click.jsp",aB);if(ay.arrowScrollOnHover){aq.bind("mouseover.jsp",aD(0,-1,aq));af.bind("mouseover.jsp",aD(0,1,af))}ak(ap,ay.verticalArrowPositions,aq,af)}t=v;al.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});au.hover(function(){au.addClass("jspHover")},function(){au.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);au.addClass("jspActive");var s=aI.pageY-au.position().top;b("html").bind("mousemove.jsp",function(aJ){V(aJ.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});o()}}function o(){ap.height(t+"px");I=0;X=ay.verticalGutter+ap.outerWidth();Y.width(aj-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aE){al.append(b('
    ').append(b('
    '),b('
    ').append(b('
    ').append(b('
    '),b('
    '))),b('
    ')));am=al.find(">.jspHorizontalBar");G=am.find(">.jspTrack");h=G.find(">.jspDrag");if(ay.showArrows){ax=b('').bind("mousedown.jsp",aD(-1,0)).bind("click.jsp",aB);x=b('').bind("mousedown.jsp",aD(1,0)).bind("click.jsp",aB); -if(ay.arrowScrollOnHover){ax.bind("mouseover.jsp",aD(-1,0,ax));x.bind("mouseover.jsp",aD(1,0,x))}ak(G,ay.horizontalArrowPositions,ax,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aI){b("html").bind("dragstart.jsp selectstart.jsp",aB);h.addClass("jspActive");var s=aI.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aJ){W(aJ.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",aw);return false});l=al.innerWidth();ah()}}function ah(){al.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aE&&az){var aI=G.outerHeight(),s=ap.outerWidth();t-=aI;b(am).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;aj-=aI;G.parent().append(b('
    ').css("width",aI+"px"));o();ah()}if(aE){Y.width((al.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aE){at=Math.ceil(1/y*l);if(at>ay.horizontalDragMaxWidth){at=ay.horizontalDragMaxWidth}else{if(atay.verticalDragMaxHeight){A=ay.verticalDragMaxHeight}else{if(AaS){Q.scrollByY(-aP)}else{V(aS)}}else{if(aM>0){if(I+aQaS){Q.scrollByX(-aP)}else{W(aS)}}else{if(aM>0){if(aa+aQi){s=i}}if(aI===c){aI=ay.animateScroll}if(aI){Q.animate(au,"top",s,ad)}else{au.css("top",s);ad(s)}}function ad(aI){if(aI===c){aI=au.position().top}al.scrollTop(0);I=aI;var aL=I===0,aJ=I==i,aK=aI/i,s=-aK*(Z-v);if(ai!=aL||aG!=aJ){ai=aL;aG=aJ;D.trigger("jsp-arrow-change",[ai,aG,P,k])}u(aL,aJ);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aL,aJ]).trigger("scroll")}function W(aI,s){if(!aE){return}if(aI<0){aI=0}else{if(aI>j){aI=j}}if(s===c){s=ay.animateScroll}if(s){Q.animate(h,"left",aI,ae) -}else{h.css("left",aI);ae(aI)}}function ae(aI){if(aI===c){aI=h.position().left}al.scrollTop(0);aa=aI;var aL=aa===0,aK=aa==j,aJ=aI/j,s=-aJ*(T-aj);if(P!=aL||k!=aK){P=aL;k=aK;D.trigger("jsp-arrow-change",[ai,aG,P,k])}r(aL,aK);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aL,aK]).trigger("scroll")}function u(aI,s){if(ay.showArrows){aq[aI?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aI,s){if(ay.showArrows){ax[aI?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aI){var aJ=s/(Z-v);V(aJ*i,aI)}function N(aI,s){var aJ=aI/(T-aj);W(aJ*j,s)}function ab(aV,aQ,aJ){var aN,aK,aL,s=0,aU=0,aI,aP,aO,aS,aR,aT;try{aN=b(aV)}catch(aM){return}aK=aN.outerHeight();aL=aN.outerWidth();al.scrollTop(0);al.scrollLeft(0);while(!aN.is(".jspPane")){s+=aN.position().top;aU+=aN.position().left;aN=aN.offsetParent();if(/^body|html$/i.test(aN[0].nodeName)){return}}aI=aA();aO=aI+v;if(saO){aR=s-v+aK+ay.verticalGutter}}if(aR){M(aR,aJ)}aP=aC();aS=aP+aj;if(aUaS){aT=aU-aj+aL+ay.horizontalGutter}}if(aT){N(aT,aJ)}}function aC(){return -Y.position().left}function aA(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aA()<10)}function B(){var s=T-aj;return(s>20)&&(s-aC()<10)}function ag(){al.unbind(ac).bind(ac,function(aL,aM,aK,aI){var aJ=aa,s=I;Q.scrollBy(aK*ay.mouseWheelSpeed,-aI*ay.mouseWheelSpeed,false);return aJ==aa&&s==I})}function n(){al.unbind(ac)}function aB(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aI,aK=[];aE&&aK.push(am[0]);az&&aK.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aN){if(aN.target!==this&&!(aK.length&&b(aN.target).closest(aK).length)){return}var aM=aa,aL=I;switch(aN.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aN.keyCode;aJ();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aI=aN.keyCode==s&&aM!=aa||aL!=I;return !aI}).bind("keypress.jsp",function(aL){if(aL.keyCode==s){aJ()}return !aI});if(ay.hideFocus){D.css("outline","none");if("hideFocus" in al[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in al[0]){D.attr("hideFocus",false)}}function aJ(){var aM=aa,aL=I;switch(s){case 40:Q.scrollByY(ay.keyboardSpeed,false);break;case 38:Q.scrollByY(-ay.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*ay.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*ay.scrollPagePercent,false);break;case 39:Q.scrollByX(ay.keyboardSpeed,false);break;case 37:Q.scrollByX(-ay.keyboardSpeed,false);break}aI=aM!=aa||aL!=I;return aI}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aK,aI,aJ=escape(location.hash.substr(1));try{aK=b("#"+aJ+', a[name="'+aJ+'"]')}catch(s){return}if(aK.length&&Y.find(aJ)){if(al.scrollTop()===0){aI=setInterval(function(){if(al.scrollTop()>0){ab(aK,true);b(document).scrollTop(al.position().top);clearInterval(aI)}},50)}else{ab(aK,true);b(document).scrollTop(al.position().top)}}}}function m(){if(b(document.body).data("jspHijack")){return}b(document.body).data("jspHijack",true);b(document.body).delegate("a[href*=#]","click",function(s){var aI=this.href.substr(0,this.href.indexOf("#")),aK=location.href,aO,aP,aJ,aM,aL,aN;if(location.href.indexOf("#")!==-1){aK=location.href.substr(0,location.href.indexOf("#"))}if(aI!==aK){return}aO=escape(this.href.substr(this.href.indexOf("#")+1));aP;try{aP=b("#"+aO+', a[name="'+aO+'"]')}catch(aQ){return}if(!aP.length){return}aJ=aP.closest(".jspScrollable");aM=aJ.data("jsp");aM.scrollToElement(aP,true);if(aJ[0].scrollIntoView){aL=b(a).scrollTop();aN=aP.offset().top;if(aNaL+b(a).height()){aJ[0].scrollIntoView()}}s.preventDefault() -})}function an(){var aJ,aI,aL,aK,aM,s=false;al.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aN){var aO=aN.originalEvent.touches[0];aJ=aC();aI=aA();aL=aO.pageX;aK=aO.pageY;aM=false;s=true}).bind("touchmove.jsp",function(aQ){if(!s){return}var aP=aQ.originalEvent.touches[0],aO=aa,aN=I;Q.scrollTo(aJ+aL-aP.pageX,aI+aK-aP.pageY);aM=aM||Math.abs(aL-aP.pageX)>5||Math.abs(aK-aP.pageY)>5;return aO==aa&&aN==I}).bind("touchend.jsp",function(aN){s=false}).bind("click.jsp-touchclick",function(aN){if(aM){aM=false;return false}})}function g(){var s=aA(),aI=aC();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ao.append(Y.children()));ao.scrollTop(s);ao.scrollLeft(aI);if(av){clearInterval(av)}}b.extend(Q,{reinitialise:function(aI){aI=b.extend({},ay,aI);ar(aI)},scrollToElement:function(aJ,aI,s){ab(aJ,aI,s)},scrollTo:function(aJ,s,aI){N(aJ,aI);M(s,aI)},scrollToX:function(aI,s){N(aI,s)},scrollToY:function(s,aI){M(s,aI)},scrollToPercentX:function(aI,s){N(aI*(T-aj),s)},scrollToPercentY:function(aI,s){M(aI*(Z-v),s)},scrollBy:function(aI,s,aJ){Q.scrollByX(aI,aJ);Q.scrollByY(s,aJ)},scrollByX:function(s,aJ){var aI=aC()+Math[s<0?"floor":"ceil"](s),aK=aI/(T-aj);W(aK*j,aJ)},scrollByY:function(s,aJ){var aI=aA()+Math[s<0?"floor":"ceil"](s),aK=aI/(Z-v);V(aK*i,aJ)},positionDragX:function(s,aI){W(s,aI)},positionDragY:function(aI,s){V(aI,s)},animate:function(aI,aL,s,aK){var aJ={};aJ[aL]=s;aI.animate(aJ,{duration:ay.animateDuration,easing:ay.animateEase,queue:false,step:aK})},getContentPositionX:function(){return aC()},getContentPositionY:function(){return aA()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aC()/(T-aj)},getPercentScrolledY:function(){return aA()/(Z-v)},getIsScrollableH:function(){return aE},getIsScrollableV:function(){return az},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:b.noop,destroy:function(){g()}});ar(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{b("script",f).filter('[type="text/javascript"],:not([type])').remove();g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:3,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this); \ No newline at end of file +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.fn.jScrollPane=function(b){function c(b,c){function d(c){var f,h,j,k,l,o,p=!1,q=!1;if(N=c,void 0===O)l=b.scrollTop(),o=b.scrollLeft(),b.css({overflow:"hidden",padding:0}),P=b.innerWidth()+rb,Q=b.innerHeight(),b.width(P),O=a('
    ').css("padding",qb).append(b.children()),R=a('
    ').css({width:P+"px",height:Q+"px"}).append(O).appendTo(b);else{if(b.css("width",""),p=N.stickToBottom&&A(),q=N.stickToRight&&B(),k=b.innerWidth()+rb!=P||b.outerHeight()!=Q,k&&(P=b.innerWidth()+rb,Q=b.innerHeight(),R.css({width:P+"px",height:Q+"px"})),!k&&sb==S&&O.outerHeight()==T)return void b.width(P);sb=S,O.css("width",""),b.width(P),R.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}O.css("overflow","auto"),S=c.contentWidth?c.contentWidth:O[0].scrollWidth,T=O[0].scrollHeight,O.css("overflow",""),U=S/P,V=T/Q,W=V>1,X=U>1,X||W?(b.addClass("jspScrollable"),f=N.maintainPosition&&($||bb),f&&(h=y(),j=z()),e(),g(),i(),f&&(w(q?S-P:h,!1),v(p?T-Q:j,!1)),F(),C(),L(),N.enableKeyboardNavigation&&H(),N.clickOnTrack&&m(),J(),N.hijackInternalLinks&&K()):(b.removeClass("jspScrollable"),O.css({top:0,left:0,width:R.width()-rb}),D(),G(),I(),n()),N.autoReinitialise&&!pb?pb=setInterval(function(){d(N)},N.autoReinitialiseDelay):!N.autoReinitialise&&pb&&clearInterval(pb),l&&b.scrollTop(0)&&v(l,!1),o&&b.scrollLeft(0)&&w(o,!1),b.trigger("jsp-initialised",[X||W])}function e(){W&&(R.append(a('
    ').append(a('
    '),a('
    ').append(a('
    ').append(a('
    '),a('
    '))),a('
    '))),cb=R.find(">.jspVerticalBar"),db=cb.find(">.jspTrack"),Y=db.find(">.jspDrag"),N.showArrows&&(hb=a('').bind("mousedown.jsp",k(0,-1)).bind("click.jsp",E),ib=a('').bind("mousedown.jsp",k(0,1)).bind("click.jsp",E),N.arrowScrollOnHover&&(hb.bind("mouseover.jsp",k(0,-1,hb)),ib.bind("mouseover.jsp",k(0,1,ib))),j(db,N.verticalArrowPositions,hb,ib)),fb=Q,R.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){fb-=a(this).outerHeight()}),Y.hover(function(){Y.addClass("jspHover")},function(){Y.removeClass("jspHover")}).bind("mousedown.jsp",function(b){a("html").bind("dragstart.jsp selectstart.jsp",E),Y.addClass("jspActive");var c=b.pageY-Y.position().top;return a("html").bind("mousemove.jsp",function(a){p(a.pageY-c,!1)}).bind("mouseup.jsp mouseleave.jsp",o),!1}),f())}function f(){db.height(fb+"px"),$=0,eb=N.verticalGutter+db.outerWidth(),O.width(P-eb-rb);try{0===cb.position().left&&O.css("margin-left",eb+"px")}catch(a){}}function g(){X&&(R.append(a('
    ').append(a('
    '),a('
    ').append(a('
    ').append(a('
    '),a('
    '))),a('
    '))),jb=R.find(">.jspHorizontalBar"),kb=jb.find(">.jspTrack"),_=kb.find(">.jspDrag"),N.showArrows&&(nb=a('').bind("mousedown.jsp",k(-1,0)).bind("click.jsp",E),ob=a('').bind("mousedown.jsp",k(1,0)).bind("click.jsp",E),N.arrowScrollOnHover&&(nb.bind("mouseover.jsp",k(-1,0,nb)),ob.bind("mouseover.jsp",k(1,0,ob))),j(kb,N.horizontalArrowPositions,nb,ob)),_.hover(function(){_.addClass("jspHover")},function(){_.removeClass("jspHover")}).bind("mousedown.jsp",function(b){a("html").bind("dragstart.jsp selectstart.jsp",E),_.addClass("jspActive");var c=b.pageX-_.position().left;return a("html").bind("mousemove.jsp",function(a){r(a.pageX-c,!1)}).bind("mouseup.jsp mouseleave.jsp",o),!1}),lb=R.innerWidth(),h())}function h(){R.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){lb-=a(this).outerWidth()}),kb.width(lb+"px"),bb=0}function i(){if(X&&W){var b=kb.outerHeight(),c=db.outerWidth();fb-=b,a(jb).find(">.jspCap:visible,>.jspArrow").each(function(){lb+=a(this).outerWidth()}),lb-=c,Q-=c,P-=b,kb.parent().append(a('
    ').css("width",b+"px")),f(),h()}X&&O.width(R.outerWidth()-rb+"px"),T=O.outerHeight(),V=T/Q,X&&(mb=Math.ceil(1/U*lb),mb>N.horizontalDragMaxWidth?mb=N.horizontalDragMaxWidth:mbN.verticalDragMaxHeight?gb=N.verticalDragMaxHeight:gbf)$-k>e?tb.scrollByY(-j):p(e);else{if(!(f>0))return void i();e>$+k?tb.scrollByY(j):p(e)}c=setTimeout(h,g?N.initialDelay:N.trackClickRepeatFreq),g=!1},i=function(){c&&clearTimeout(c),c=null,a(document).unbind("mouseup.jsp",i)};return h(),a(document).bind("mouseup.jsp",i),!1}}),X&&kb.bind("mousedown.jsp",function(b){if(void 0===b.originalTarget||b.originalTarget==b.currentTarget){var c,d=a(this),e=d.offset(),f=b.pageX-e.left-bb,g=!0,h=function(){var a=d.offset(),e=b.pageX-a.left-mb/2,j=P*N.scrollPagePercent,k=ab*j/(S-P);if(0>f)bb-k>e?tb.scrollByX(-j):r(e);else{if(!(f>0))return void i();e>bb+k?tb.scrollByX(j):r(e)}c=setTimeout(h,g?N.initialDelay:N.trackClickRepeatFreq),g=!1},i=function(){c&&clearTimeout(c),c=null,a(document).unbind("mouseup.jsp",i)};return h(),a(document).bind("mouseup.jsp",i),!1}})}function n(){kb&&kb.unbind("mousedown.jsp"),db&&db.unbind("mousedown.jsp")}function o(){a("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp"),Y&&Y.removeClass("jspActive"),_&&_.removeClass("jspActive")}function p(c,d){if(W){0>c?c=0:c>Z&&(c=Z);var e=new a.Event("jsp-will-scroll-y");if(b.trigger(e,[c]),!e.isDefaultPrevented()){var f=c||0,g=0===f,h=f==Z,i=c/Z,j=-i*(T-Q);void 0===d&&(d=N.animateScroll),d?tb.animate(Y,"top",c,q,function(){b.trigger("jsp-user-scroll-y",[-j,g,h])}):(Y.css("top",c),q(c),b.trigger("jsp-user-scroll-y",[-j,g,h]))}}}function q(a){void 0===a&&(a=Y.position().top),R.scrollTop(0),$=a||0;var c=0===$,d=$==Z,e=a/Z,f=-e*(T-Q);(ub!=c||wb!=d)&&(ub=c,wb=d,b.trigger("jsp-arrow-change",[ub,wb,vb,xb])),t(c,d),O.css("top",f),b.trigger("jsp-scroll-y",[-f,c,d]).trigger("scroll")}function r(c,d){if(X){0>c?c=0:c>ab&&(c=ab);var e=new a.Event("jsp-will-scroll-x");if(b.trigger(e,[c]),!e.isDefaultPrevented()){var f=c||0,g=0===f,h=f==ab,i=c/ab,j=-i*(S-P);void 0===d&&(d=N.animateScroll),d?tb.animate(_,"left",c,s,function(){b.trigger("jsp-user-scroll-x",[-j,g,h])}):(_.css("left",c),s(c),b.trigger("jsp-user-scroll-x",[-j,g,h]))}}}function s(a){void 0===a&&(a=_.position().left),R.scrollTop(0),bb=a||0;var c=0===bb,d=bb==ab,e=a/ab,f=-e*(S-P);(vb!=c||xb!=d)&&(vb=c,xb=d,b.trigger("jsp-arrow-change",[ub,wb,vb,xb])),u(c,d),O.css("left",f),b.trigger("jsp-scroll-x",[-f,c,d]).trigger("scroll")}function t(a,b){N.showArrows&&(hb[a?"addClass":"removeClass"]("jspDisabled"),ib[b?"addClass":"removeClass"]("jspDisabled"))}function u(a,b){N.showArrows&&(nb[a?"addClass":"removeClass"]("jspDisabled"),ob[b?"addClass":"removeClass"]("jspDisabled"))}function v(a,b){var c=a/(T-Q);p(c*Z,b)}function w(a,b){var c=a/(S-P);r(c*ab,b)}function x(b,c,d){var e,f,g,h,i,j,k,l,m,n=0,o=0;try{e=a(b)}catch(p){return}for(f=e.outerHeight(),g=e.outerWidth(),R.scrollTop(0),R.scrollLeft(0);!e.is(".jspPane");)if(n+=e.position().top,o+=e.position().left,e=e.offsetParent(),/^body|html$/i.test(e[0].nodeName))return;h=z(),j=h+Q,h>n||c?l=n-N.horizontalGutter:n+f>j&&(l=n-Q+f+N.horizontalGutter),isNaN(l)||v(l,d),i=y(),k=i+P,i>o||c?m=o-N.horizontalGutter:o+g>k&&(m=o-P+g+N.horizontalGutter),isNaN(m)||w(m,d)}function y(){return-O.position().left}function z(){return-O.position().top}function A(){var a=T-Q;return a>20&&a-z()<10}function B(){var a=S-P;return a>20&&a-y()<10}function C(){R.unbind(zb).bind(zb,function(a,b,c,d){bb||(bb=0),$||($=0);var e=bb,f=$,g=a.deltaFactor||N.mouseWheelSpeed;return tb.scrollBy(c*g,-d*g,!1),e==bb&&f==$})}function D(){R.unbind(zb)}function E(){return!1}function F(){O.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(a){x(a.target,!1)})}function G(){O.find(":input,a").unbind("focus.jsp")}function H(){function c(){var a=bb,b=$;switch(d){case 40:tb.scrollByY(N.keyboardSpeed,!1);break;case 38:tb.scrollByY(-N.keyboardSpeed,!1);break;case 34:case 32:tb.scrollByY(Q*N.scrollPagePercent,!1);break;case 33:tb.scrollByY(-Q*N.scrollPagePercent,!1);break;case 39:tb.scrollByX(N.keyboardSpeed,!1);break;case 37:tb.scrollByX(-N.keyboardSpeed,!1)}return e=a!=bb||b!=$}var d,e,f=[];X&&f.push(jb[0]),W&&f.push(cb[0]),O.bind("focus.jsp",function(){b.focus()}),b.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(b){if(b.target===this||f.length&&a(b.target).closest(f).length){var g=bb,h=$;switch(b.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:d=b.keyCode,c();break;case 35:v(T-Q),d=null;break;case 36:v(0),d=null}return e=b.keyCode==d&&g!=bb||h!=$,!e}}).bind("keypress.jsp",function(b){return b.keyCode==d&&c(),b.target===this||f.length&&a(b.target).closest(f).length?!e:void 0}),N.hideFocus?(b.css("outline","none"),"hideFocus"in R[0]&&b.attr("hideFocus",!0)):(b.css("outline",""),"hideFocus"in R[0]&&b.attr("hideFocus",!1))}function I(){b.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp"),O.unbind(".jsp")}function J(){if(location.hash&&location.hash.length>1){var b,c,d=escape(location.hash.substr(1));try{b=a("#"+d+', a[name="'+d+'"]')}catch(e){return}b.length&&O.find(d)&&(0===R.scrollTop()?c=setInterval(function(){R.scrollTop()>0&&(x(b,!0),a(document).scrollTop(R.position().top),clearInterval(c))},50):(x(b,!0),a(document).scrollTop(R.position().top)))}}function K(){a(document.body).data("jspHijack")||(a(document.body).data("jspHijack",!0),a(document.body).delegate('a[href*="#"]',"click",function(b){var c,d,e,f,g,h,i=this.href.substr(0,this.href.indexOf("#")),j=location.href;if(-1!==location.href.indexOf("#")&&(j=location.href.substr(0,location.href.indexOf("#"))),i===j){c=escape(this.href.substr(this.href.indexOf("#")+1));try{d=a("#"+c+', a[name="'+c+'"]')}catch(k){return}d.length&&(e=d.closest(".jspScrollable"),f=e.data("jsp"),f.scrollToElement(d,!0),e[0].scrollIntoView&&(g=a(window).scrollTop(),h=d.offset().top,(g>h||h>g+a(window).height())&&e[0].scrollIntoView()),b.preventDefault())}}))}function L(){var a,b,c,d,e,f=!1;R.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(g){var h=g.originalEvent.touches[0];a=y(),b=z(),c=h.pageX,d=h.pageY,e=!1,f=!0}).bind("touchmove.jsp",function(g){if(f){var h=g.originalEvent.touches[0],i=bb,j=$;return tb.scrollTo(a+c-h.pageX,b+d-h.pageY),e=e||Math.abs(c-h.pageX)>5||Math.abs(d-h.pageY)>5,i==bb&&j==$}}).bind("touchend.jsp",function(){f=!1}).bind("click.jsp-touchclick",function(){return e?(e=!1,!1):void 0})}function M(){var a=z(),c=y();b.removeClass("jspScrollable").unbind(".jsp"),O.unbind(".jsp"),b.replaceWith(yb.append(O.children())),yb.scrollTop(a),yb.scrollLeft(c),pb&&clearInterval(pb)}var N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb,lb,mb,nb,ob,pb,qb,rb,sb,tb=this,ub=!0,vb=!0,wb=!1,xb=!1,yb=b.clone(!1,!1).empty(),zb=a.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";"border-box"===b.css("box-sizing")?(qb=0,rb=0):(qb=b.css("paddingTop")+" "+b.css("paddingRight")+" "+b.css("paddingBottom")+" "+b.css("paddingLeft"),rb=(parseInt(b.css("paddingLeft"),10)||0)+(parseInt(b.css("paddingRight"),10)||0)),a.extend(tb,{reinitialise:function(b){b=a.extend({},N,b),d(b)},scrollToElement:function(a,b,c){x(a,b,c)},scrollTo:function(a,b,c){w(a,c),v(b,c)},scrollToX:function(a,b){w(a,b)},scrollToY:function(a,b){v(a,b)},scrollToPercentX:function(a,b){w(a*(S-P),b)},scrollToPercentY:function(a,b){v(a*(T-Q),b)},scrollBy:function(a,b,c){tb.scrollByX(a,c),tb.scrollByY(b,c)},scrollByX:function(a,b){var c=y()+Math[0>a?"floor":"ceil"](a),d=c/(S-P);r(d*ab,b)},scrollByY:function(a,b){var c=z()+Math[0>a?"floor":"ceil"](a),d=c/(T-Q);p(d*Z,b)},positionDragX:function(a,b){r(a,b)},positionDragY:function(a,b){p(a,b)},animate:function(a,b,c,d,e){var f={};f[b]=c,a.animate(f,{duration:N.animateDuration,easing:N.animateEase,queue:!1,step:d,complete:e})},getContentPositionX:function(){return y()},getContentPositionY:function(){return z()},getContentWidth:function(){return S},getContentHeight:function(){return T},getPercentScrolledX:function(){return y()/(S-P)},getPercentScrolledY:function(){return z()/(T-Q)},getIsScrollableH:function(){return X},getIsScrollableV:function(){return W},getContentPane:function(){return O},scrollToBottom:function(a){p(Z,a)},hijackInternalLinks:a.noop,destroy:function(){M()}}),d(c)}return b=a.extend({},a.fn.jScrollPane.defaults,b),a.each(["arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){b[this]=b[this]||b.speed}),this.each(function(){var d=a(this),e=d.data("jsp");e?e.reinitialise(b):(a("script",d).filter('[type="text/javascript"],:not([type])').remove(),e=new c(d,b),d.data("jsp",e))})},a.fn.jScrollPane.defaults={showArrows:!1,maintainPosition:!0,stickToBottom:!1,stickToRight:!1,clickOnTrack:!0,autoReinitialise:!1,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:void 0,animateScroll:!1,animateDuration:300,animateEase:"linear",hijackInternalLinks:!1,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:3,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:!1,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:!0,hideFocus:!1,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:.8}}); \ No newline at end of file diff --git a/libs/bower_components/jScrollPane/script/jquery.mousewheel.js b/libs/bower_components/jScrollPane/script/jquery.mousewheel.js index 9d65c7162b..bf61ad0e16 100644 --- a/libs/bower_components/jScrollPane/script/jquery.mousewheel.js +++ b/libs/bower_components/jScrollPane/script/jquery.mousewheel.js @@ -1,13 +1,9 @@ -/*! Copyright (c) 2013 Brandon Aaron (http://brandonaaron.net) - * Licensed under the MIT License (LICENSE.txt). +/*! + * jQuery Mousewheel 3.1.12 * - * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. - * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. - * Thanks to: Seamus Leahy for adding deltaX and deltaY - * - * Version: 3.1.3 - * - * Requires: 1.2.2+ + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license */ (function (factory) { @@ -23,9 +19,11 @@ } }(function ($) { - var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll']; - var toBind = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll']; - var lowestDelta, lowestDeltaXY; + var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], + toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? + ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], + slice = Array.prototype.slice, + nullLowestDeltaTimeout, lowestDelta; if ( $.event.fixHooks ) { for ( var i = toFix.length; i; ) { @@ -33,7 +31,9 @@ } } - $.event.special.mousewheel = { + var special = $.event.special.mousewheel = { + version: '3.1.12', + setup: function() { if ( this.addEventListener ) { for ( var i = toBind.length; i; ) { @@ -42,6 +42,9 @@ } else { this.onmousewheel = handler; } + // Store the line height and page height for this particular element + $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); + $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); }, teardown: function() { @@ -52,66 +55,167 @@ } else { this.onmousewheel = null; } + // Clean up the data we added to the element + $.removeData(this, 'mousewheel-line-height'); + $.removeData(this, 'mousewheel-page-height'); + }, + + getLineHeight: function(elem) { + var $elem = $(elem), + $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); + if (!$parent.length) { + $parent = $('body'); + } + return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; + }, + + getPageHeight: function(elem) { + return $(elem).height(); + }, + + settings: { + adjustOldDeltas: true, // see shouldAdjustOldDeltas() below + normalizeOffset: true // calls getBoundingClientRect for each event } }; $.fn.extend({ mousewheel: function(fn) { - return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel"); + return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); }, unmousewheel: function(fn) { - return this.unbind("mousewheel", fn); + return this.unbind('mousewheel', fn); } }); function handler(event) { - var orgEvent = event || window.event, - args = [].slice.call(arguments, 1), - delta = 0, - deltaX = 0, - deltaY = 0, - absDelta = 0, - absDeltaXY = 0, - fn; + var orgEvent = event || window.event, + args = slice.call(arguments, 1), + delta = 0, + deltaX = 0, + deltaY = 0, + absDelta = 0, + offsetX = 0, + offsetY = 0; event = $.event.fix(orgEvent); - event.type = "mousewheel"; + event.type = 'mousewheel'; // Old school scrollwheel delta - if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta; } - if ( orgEvent.detail ) { delta = orgEvent.detail * -1; } + if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } + if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } + if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } + if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } + + // Firefox < 17 horizontal scrolling related to DOMMouseScroll event + if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { + deltaX = deltaY * -1; + deltaY = 0; + } + + // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy + delta = deltaY === 0 ? deltaX : deltaY; // New school wheel delta (wheel event) - if ( orgEvent.deltaY ) { + if ( 'deltaY' in orgEvent ) { deltaY = orgEvent.deltaY * -1; delta = deltaY; } - if ( orgEvent.deltaX ) { + if ( 'deltaX' in orgEvent ) { deltaX = orgEvent.deltaX; - delta = deltaX * -1; + if ( deltaY === 0 ) { delta = deltaX * -1; } } - // Webkit - if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY; } - if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = orgEvent.wheelDeltaX * -1; } + // No change actually happened, no reason to go any further + if ( deltaY === 0 && deltaX === 0 ) { return; } + + // Need to convert lines and pages to pixels if we aren't already in pixels + // There are three delta modes: + // * deltaMode 0 is by pixels, nothing to do + // * deltaMode 1 is by lines + // * deltaMode 2 is by pages + if ( orgEvent.deltaMode === 1 ) { + var lineHeight = $.data(this, 'mousewheel-line-height'); + delta *= lineHeight; + deltaY *= lineHeight; + deltaX *= lineHeight; + } else if ( orgEvent.deltaMode === 2 ) { + var pageHeight = $.data(this, 'mousewheel-page-height'); + delta *= pageHeight; + deltaY *= pageHeight; + deltaX *= pageHeight; + } - // Look for lowest delta to normalize the delta values - absDelta = Math.abs(delta); - if ( !lowestDelta || absDelta < lowestDelta ) { lowestDelta = absDelta; } - absDeltaXY = Math.max(Math.abs(deltaY), Math.abs(deltaX)); - if ( !lowestDeltaXY || absDeltaXY < lowestDeltaXY ) { lowestDeltaXY = absDeltaXY; } + // Store lowest absolute delta to normalize the delta values + absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); - // Get a whole value for the deltas - fn = delta > 0 ? 'floor' : 'ceil'; - delta = Math[fn](delta / lowestDelta); - deltaX = Math[fn](deltaX / lowestDeltaXY); - deltaY = Math[fn](deltaY / lowestDeltaXY); + if ( !lowestDelta || absDelta < lowestDelta ) { + lowestDelta = absDelta; + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + lowestDelta /= 40; + } + } + + // Adjust older deltas if necessary + if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { + // Divide all the things by 40! + delta /= 40; + deltaX /= 40; + deltaY /= 40; + } + + // Get a whole, normalized value for the deltas + delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); + deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); + deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); + + // Normalise offsetX and offsetY properties + if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { + var boundingRect = this.getBoundingClientRect(); + offsetX = event.clientX - boundingRect.left; + offsetY = event.clientY - boundingRect.top; + } + + // Add information to the event object + event.deltaX = deltaX; + event.deltaY = deltaY; + event.deltaFactor = lowestDelta; + event.offsetX = offsetX; + event.offsetY = offsetY; + // Go ahead and set deltaMode to 0 since we converted to pixels + // Although this is a little odd since we overwrite the deltaX/Y + // properties with normalized deltas. + event.deltaMode = 0; // Add event and delta to the front of the arguments args.unshift(event, delta, deltaX, deltaY); + // Clearout lowestDelta after sometime to better + // handle multiple device types that give different + // a different lowestDelta + // Ex: trackpad = 3 and mouse wheel = 120 + if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } + nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); + return ($.event.dispatch || $.event.handle).apply(this, args); } + function nullLowestDelta() { + lowestDelta = null; + } + + function shouldAdjustOldDeltas(orgEvent, absDelta) { + // If this is an older event and the delta is divisable by 120, + // then we are assuming that the browser is treating this as an + // older mouse wheel event and that we should divide the deltas + // by 40 to try and get a more usable deltaFactor. + // Side note, this actually impacts the reported scroll distance + // in older browsers and can cause scrolling to be slower than native. + // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. + return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; + } + })); diff --git a/libs/bower_components/jScrollPane/scroll_on_left.html b/libs/bower_components/jScrollPane/scroll_on_left.html index 6fc1c5eaba..1031dd418a 100644 --- a/libs/bower_components/jScrollPane/scroll_on_left.html +++ b/libs/bower_components/jScrollPane/scroll_on_left.html @@ -28,7 +28,7 @@ - + diff --git a/libs/bower_components/jScrollPane/scroll_to.html b/libs/bower_components/jScrollPane/scroll_to.html index e475ead469..3d8e173ac8 100644 --- a/libs/bower_components/jScrollPane/scroll_to.html +++ b/libs/bower_components/jScrollPane/scroll_to.html @@ -34,7 +34,7 @@ - + diff --git a/libs/bower_components/jScrollPane/scroll_to_animate.html b/libs/bower_components/jScrollPane/scroll_to_animate.html index 5d2dd5882a..3ae825a211 100644 --- a/libs/bower_components/jScrollPane/scroll_to_animate.html +++ b/libs/bower_components/jScrollPane/scroll_to_animate.html @@ -34,7 +34,7 @@ - + diff --git a/libs/bower_components/jScrollPane/settings.html b/libs/bower_components/jScrollPane/settings.html index dd62ca0105..aaa9ff50c5 100644 --- a/libs/bower_components/jScrollPane/settings.html +++ b/libs/bower_components/jScrollPane/settings.html @@ -9,7 +9,7 @@ - + @@ -132,7 +132,9 @@

    mouseWheelSpeed - int (default 10)

    A multiplier which is used to control the amount that the scrollpane scrolls each time the mouse wheel - is turned. + is turned. If a recent version of the mousewheel plugin is used then the `deltaFactor` from that is used + to get a [more reliable](https://github.com/brandonaaron/jquery-mousewheel#getting-the-scroll-distance) + indication of how far the user wanted to scroll.

    arrowButtonSpeed - int (default 10)

    diff --git a/libs/bower_components/jScrollPane/short.html b/libs/bower_components/jScrollPane/short.html index 6b216c98e6..0e2115b257 100644 --- a/libs/bower_components/jScrollPane/short.html +++ b/libs/bower_components/jScrollPane/short.html @@ -21,7 +21,7 @@ - + diff --git a/libs/bower_components/jScrollPane/style/jquery.jscrollpane.css b/libs/bower_components/jScrollPane/style/jquery.jscrollpane.css index a051caed0a..57ccca2531 100644 --- a/libs/bower_components/jScrollPane/style/jquery.jscrollpane.css +++ b/libs/bower_components/jScrollPane/style/jquery.jscrollpane.css @@ -36,13 +36,6 @@ background: red; } -.jspVerticalBar *, -.jspHorizontalBar * -{ - margin: 0; - padding: 0; -} - .jspCap { display: none; @@ -81,6 +74,8 @@ text-indent: -20000px; display: block; cursor: pointer; + padding: 0; + margin: 0; } .jspArrow.jspDisabled diff --git a/libs/bower_components/jquery-mousewheel/.bower.json b/libs/bower_components/jquery-mousewheel/.bower.json index 6b15ef785c..bacec33968 100644 --- a/libs/bower_components/jquery-mousewheel/.bower.json +++ b/libs/bower_components/jquery-mousewheel/.bower.json @@ -1,6 +1,6 @@ { "name": "jquery-mousewheel", - "version": "3.1.12", + "version": "3.1.13", "main": "./jquery.mousewheel.js", "ignore": [ "*.json", @@ -14,14 +14,14 @@ "dependencies": { "jquery": ">=1.2.2" }, - "homepage": "https://github.com/brandonaaron/jquery-mousewheel", - "_release": "3.1.12", + "homepage": "https://github.com/jquery/jquery-mousewheel", + "_release": "3.1.13", "_resolution": { "type": "version", - "tag": "3.1.12", - "commit": "db065e3f8e19fbd351d77b818805744bc165fc28" + "tag": "3.1.13", + "commit": "67289b6b2aa0066d7d78a5807f520387135ffb22" }, - "_source": "git://github.com/brandonaaron/jquery-mousewheel.git", + "_source": "https://github.com/jquery/jquery-mousewheel.git", "_target": "~3.1.12", "_originalSource": "jquery-mousewheel" } \ No newline at end of file diff --git a/libs/bower_components/jquery-mousewheel/ChangeLog.md b/libs/bower_components/jquery-mousewheel/ChangeLog.md index 77cceacdd1..76752a1a0d 100644 --- a/libs/bower_components/jquery-mousewheel/ChangeLog.md +++ b/libs/bower_components/jquery-mousewheel/ChangeLog.md @@ -1,5 +1,11 @@ # Mouse Wheel ChangeLog +## 3.1.13 + +* Update copyright notice and license to remove years +* Create the correct compressed version +* Remove the obsolete jQuery Plugin Registry file + ## 3.1.12 * Fix possible 0 value for line height when in delta mode 1 diff --git a/libs/bower_components/jquery-mousewheel/LICENSE.txt b/libs/bower_components/jquery-mousewheel/LICENSE.txt index ad2020df4f..919fe6a7e2 100644 --- a/libs/bower_components/jquery-mousewheel/LICENSE.txt +++ b/libs/bower_components/jquery-mousewheel/LICENSE.txt @@ -1,4 +1,14 @@ -Copyright (c) 2013, Brandon Aaron (http://brandon.aaron.sh) +Copyright jQuery Foundation and other contributors +https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-mousewheel + +The following license applies to all parts of this software except as +documented below: + +==== Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the @@ -18,3 +28,10 @@ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/libs/bower_components/jquery-mousewheel/README.md b/libs/bower_components/jquery-mousewheel/README.md index e64cd5f656..a03fdde898 100644 --- a/libs/bower_components/jquery-mousewheel/README.md +++ b/libs/bower_components/jquery-mousewheel/README.md @@ -48,9 +48,6 @@ The `deltaFactor` property was added to the event object in 3.1.5 so that the ac extracted. This is a non-standard property. -## See it in action -[See the tests on Github](http://brandonaaron.github.io/jquery-mousewheel/test). - ## Using with [Browserify](http://browserify.org) Support for browserify is baked in. @@ -77,9 +74,3 @@ In your browser-side javascript: var $ = require('jquery-browserify'); require('jquery-mousewheel')($); ``` - -## License - -This plugin is licensed under the [MIT License](LICENSE.txt). - -Copyright (c) 2013 [Brandon Aaron](http://brandon.aaron.sh) diff --git a/libs/bower_components/jquery-mousewheel/bower.json b/libs/bower_components/jquery-mousewheel/bower.json index 4ce5741e7e..8bd2cc5e9d 100644 --- a/libs/bower_components/jquery-mousewheel/bower.json +++ b/libs/bower_components/jquery-mousewheel/bower.json @@ -1,6 +1,6 @@ { "name": "jquery-mousewheel", - "version": "3.1.12", + "version": "3.1.13", "main": "./jquery.mousewheel.js", "ignore": [ "*.json", diff --git a/libs/bower_components/jquery-mousewheel/jquery.mousewheel.js b/libs/bower_components/jquery-mousewheel/jquery.mousewheel.js index 6756fa6108..3eadb7edfd 100755 --- a/libs/bower_components/jquery-mousewheel/jquery.mousewheel.js +++ b/libs/bower_components/jquery-mousewheel/jquery.mousewheel.js @@ -1,9 +1,9 @@ -/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh) - * Licensed under the MIT License (LICENSE.txt). +/*! + * jQuery Mousewheel 3.1.13 * - * Version: 3.1.12 - * - * Requires: jQuery 1.2.2+ + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license */ (function (factory) { diff --git a/libs/bower_components/jquery-mousewheel/jquery.mousewheel.min.js b/libs/bower_components/jquery-mousewheel/jquery.mousewheel.min.js index bb7f43fe56..03bfd60c5e 100644 --- a/libs/bower_components/jquery-mousewheel/jquery.mousewheel.min.js +++ b/libs/bower_components/jquery-mousewheel/jquery.mousewheel.min.js @@ -1,8 +1,8 @@ -/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh) - * Licensed under the MIT License (LICENSE.txt). +/*! + * jQuery Mousewheel 3.1.13 * - * Version: 3.1.12 - * - * Requires: jQuery 1.2.2+ + * Copyright 2015 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license */ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}); \ No newline at end of file diff --git a/libs/bower_components/jquery-placeholder/.bower.json b/libs/bower_components/jquery-placeholder/.bower.json index b5282092dd..3b21bfba74 100644 --- a/libs/bower_components/jquery-placeholder/.bower.json +++ b/libs/bower_components/jquery-placeholder/.bower.json @@ -1,17 +1,33 @@ { "name": "jquery-placeholder", - "version": "2.0.8", + "description": "A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet", + "version": "2.0.9", + "license": "MIT", "main": [ "jquery.placeholder.js" ], + "keywords": [ + "form", + "placeholder", + "jQuery", + "jquery-plugin" + ], + "dependencies": { + "jquery": ">=1.6" + }, + "ignore": [ + "*", + "!/bower.json", + "!/jquery.placeholder.js" + ], "homepage": "https://github.com/mathiasbynens/jquery-placeholder", - "_release": "2.0.8", + "_release": "2.0.9", "_resolution": { "type": "version", - "tag": "v2.0.8", - "commit": "051f21ef5279f4887d9caf6af7af211d933ba670" + "tag": "v2.0.9", + "commit": "510a577397713934b46ccaceaa7ecc558cff313a" }, - "_source": "git://github.com/mathiasbynens/jquery-placeholder.git", + "_source": "https://github.com/mathiasbynens/jquery-placeholder.git", "_target": "~2.0.8", "_originalSource": "jquery-placeholder" } \ No newline at end of file diff --git a/libs/bower_components/jquery-placeholder/.gitattributes b/libs/bower_components/jquery-placeholder/.gitattributes deleted file mode 100644 index 44b4224b17..0000000000 --- a/libs/bower_components/jquery-placeholder/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* eol=lf \ No newline at end of file diff --git a/libs/bower_components/jquery-placeholder/.gitignore b/libs/bower_components/jquery-placeholder/.gitignore deleted file mode 100644 index 496ee2ca6a..0000000000 --- a/libs/bower_components/jquery-placeholder/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.DS_Store \ No newline at end of file diff --git a/libs/bower_components/jquery-placeholder/LICENSE-MIT.txt b/libs/bower_components/jquery-placeholder/LICENSE-MIT.txt deleted file mode 100644 index 8d4d070394..0000000000 --- a/libs/bower_components/jquery-placeholder/LICENSE-MIT.txt +++ /dev/null @@ -1,20 +0,0 @@ -Copyright Mathias Bynens - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/libs/bower_components/jquery-placeholder/README.md b/libs/bower_components/jquery-placeholder/README.md deleted file mode 100644 index fa7ea38433..0000000000 --- a/libs/bower_components/jquery-placeholder/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# HTML5 Placeholder jQuery Plugin - -## Demo & Examples - -[http://mathiasbynens.be/demo/placeholder](http://mathiasbynens.be/demo/placeholder) - -## Example Usage - -### HTML - -```html - - - - - - - -``` - -### jQuery - -Use the plugin as follows: - -```js -$('input, textarea').placeholder(); -``` - -You’ll still be able to use `jQuery#val()` to get and set the input values. If the element is currently showing a placeholder, `.val()` will return an empty string instead of the placeholder text, just like it does in browsers with a native `@placeholder` implementation. Calling `.val('')` to set an element’s value to the empty string will result in the placeholder text (re)appearing. - -### CSS - -The plugin automatically adds `class="placeholder"` to the elements who are currently showing their placeholder text. You can use this to style placeholder text differently: - -```css -input, textarea { color: #000; } -.placeholder { color: #aaa; } -``` - -I’d suggest sticking to the `#aaa` color for placeholder text, as it’s the default in most browsers that support `@placeholder`. If you really want to, though, you can [style the placeholder text in some of the browsers that natively support it](http://stackoverflow.com/questions/2610497/change-an-inputs-html5-placeholder-color-with-css/2610741#2610741). - -## Installation - -You can install jquery-placeholder by using [Bower](http://bower.io). - -```bash -bower install jquery-placeholder -``` - -## Notes - -* Requires jQuery 1.6+. For an older version of this plugin that works under jQuery 1.4.2+, see [v1.8.7](https://github.com/mathiasbynens/jquery-placeholder/tree/v1.8.7). -* Works in all A-grade browsers, including IE6. -* Automatically checks if the browser natively supports the HTML5 `placeholder` attribute for `input` and `textarea` elements. If this is the case, the plugin won’t do anything. If `@placeholder` is only supported for `input` elements, the plugin will leave those alone and apply to `textarea`s exclusively. (This is the case for Safari 4, Opera 11.00, and possibly other browsers.) -* Caches the results of its two feature tests in `jQuery.fn.placeholder.input` and `jQuery.fn.placeholder.textarea`. For example, if `@placeholder` is natively supported for `input` elements, `jQuery.fn.placeholder.input` will be `true`. After loading the plugin, you can re-use these properties in your own code. -* Makes sure it never causes duplicate IDs in your DOM, even in browsers that need an extra `input` element to fake `@placeholder` for password inputs. This means you can safely do stuff like: - - ```html - - - ``` - - And the `

    HTML5 Placeholder jQuery Plugin

    -

    Check out the HTML5 Placeholder jQuery Plugin project page on GitHub.

    -
    $(function() {
    $('input, textarea').placeholder();
    });
    - -

    -

    -

    -

    -

    -

    -

    -

    - -

    Mathias

    - - - - - diff --git a/libs/bower_components/jquery-placeholder/jquery.placeholder.js b/libs/bower_components/jquery-placeholder/jquery.placeholder.js index c951197961..94e5e2ca11 100644 --- a/libs/bower_components/jquery-placeholder/jquery.placeholder.js +++ b/libs/bower_components/jquery-placeholder/jquery.placeholder.js @@ -1,11 +1,18 @@ -/*! http://mths.be/placeholder v2.0.8 by @mathias */ -;(function(window, document, $) { +/*! http://mths.be/placeholder v2.0.9 by @mathias */ +(function(factory) { + if (typeof define === 'function' && define.amd) { + // AMD + define(['jquery'], factory); + } else { + // Browser globals + factory(jQuery); + } +}(function($) { // Opera Mini v7 doesn’t support placeholder although its DOM seems to indicate so var isOperaMini = Object.prototype.toString.call(window.operamini) == '[object OperaMini]'; var isInputSupported = 'placeholder' in document.createElement('input') && !isOperaMini; var isTextareaSupported = 'placeholder' in document.createElement('textarea') && !isOperaMini; - var prototype = $.fn; var valHooks = $.valHooks; var propHooks = $.propHooks; var hooks; @@ -13,7 +20,7 @@ if (isInputSupported && isTextareaSupported) { - placeholder = prototype.placeholder = function() { + placeholder = $.fn.placeholder = function() { return this; }; @@ -21,7 +28,7 @@ } else { - placeholder = prototype.placeholder = function() { + placeholder = $.fn.placeholder = function() { var $this = this; $this .filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]') @@ -60,7 +67,7 @@ if (!$element.data('placeholder-enabled')) { return element.value = value; } - if (value == '') { + if (value === '') { element.value = value; // Issue #56: Setting the placeholder causes problems if the element continues to have focus. if (element != safeActiveElement()) { @@ -123,7 +130,7 @@ var $input = $(input); if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) { if ($input.data('placeholder-password')) { - $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id')); + $input = $input.hide().nextAll('input[type="password"]:first').show().attr('id', $input.removeAttr('id').data('placeholder-id')); // If `clearPlaceholder` was called from `$.valHooks.input.set` if (event === true) { return $input[0].value = value; @@ -142,8 +149,8 @@ var input = this; var $input = $(input); var id = this.id; - if (input.value == '') { - if (input.type == 'password') { + if (input.value === '') { + if (input.type === 'password') { if (!$input.data('placeholder-textinput')) { try { $replacement = $input.clone().attr({ 'type': 'text' }); @@ -164,7 +171,7 @@ }) .before($replacement); } - $input = $input.removeAttr('id').hide().prev().attr('id', id).show(); + $input = $input.removeAttr('id').hide().prevAll('input[type="text"]:first').attr('id', id).show(); // Note: `$input[0] != input` now! } $input.addClass('placeholder'); @@ -182,4 +189,4 @@ } catch (exception) {} } -}(this, document, jQuery)); +})); diff --git a/libs/bower_components/jquery-placeholder/tests/index.html b/libs/bower_components/jquery-placeholder/tests/index.html deleted file mode 100644 index 160e3e8c57..0000000000 --- a/libs/bower_components/jquery-placeholder/tests/index.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - jquery-placeholder test suite - - - - -
    -
    - -
    -

    -

    -

    -

    -

    -

    -

    -

    -
    -
    - - - - - - diff --git a/libs/bower_components/jquery-placeholder/tests/tests.js b/libs/bower_components/jquery-placeholder/tests/tests.js deleted file mode 100644 index f721564604..0000000000 --- a/libs/bower_components/jquery-placeholder/tests/tests.js +++ /dev/null @@ -1,134 +0,0 @@ -(function($) { - - module('jQuery#placeholder'); - - test('caches results of feature tests', function() { - strictEqual(typeof $.fn.placeholder.input, 'boolean', '$.fn.placeholder.input'); - strictEqual(typeof $.fn.placeholder.textarea, 'boolean', '$.fn.placeholder.textarea'); - }); - - if ($.fn.placeholder.input && $.fn.placeholder.textarea) { - return; - } - - var testElement = function($el) { - - var el = $el[0]; - var placeholder = el.getAttribute('placeholder'); - - strictEqual($el.placeholder(), $el, 'should be chainable'); - - strictEqual(el.value, placeholder, 'should set `placeholder` text as `value`'); - strictEqual($el.prop('value'), '', 'propHooks works properly'); - strictEqual($el.val(), '', 'valHooks works properly'); - ok($el.hasClass('placeholder'), 'should have `placeholder` class'); - - // test on focus - $el.focus(); - strictEqual(el.value, '', '`value` should be the empty string on focus'); - strictEqual($el.prop('value'), '', 'propHooks works properly'); - strictEqual($el.val(), '', 'valHooks works properly'); - ok(!$el.hasClass('placeholder'), 'should not have `placeholder` class on focus'); - - // and unfocus (blur) again - $el.blur(); - - strictEqual(el.value, placeholder, 'should set `placeholder` text as `value`'); - strictEqual($el.prop('value'), '', 'propHooks works properly'); - strictEqual($el.val(), '', 'valHooks works properly'); - ok($el.hasClass('placeholder'), 'should have `placeholder` class'); - - // change the value - $el.val('lorem ipsum'); - strictEqual($el.prop('value'), 'lorem ipsum', '`$el.val(string)` should change the `value` property'); - strictEqual(el.value, 'lorem ipsum', '`$el.val(string)` should change the `value` attribute'); - ok(!$el.hasClass('placeholder'), '`$el.val(string)` should remove `placeholder` class'); - - // and clear it again - $el.val(''); - strictEqual($el.prop('value'), '', '`$el.val("")` should change the `value` property'); - strictEqual(el.value, placeholder, '`$el.val("")` should change the `value` attribute'); - ok($el.hasClass('placeholder'), '`$el.val("")` should re-enable `placeholder` class'); - - // make sure the placeholder property works as expected. - strictEqual($el.prop('placeholder'), placeholder, '$el.prop(`placeholder`) should return the placeholder value'); - $el.prop('placeholder', 'new placeholder'); - strictEqual($el.prop('placeholder'), 'new placeholder', '$el.prop(`placeholder`, ) should set the placeholder value'); - strictEqual($el.value, 'new placeholder', '$el.prop(`placeholder`, ) should update the displayed placeholder value'); - $el.prop('placeholder', placeholder); - }; - - test('emulates placeholder for ', function() { - testElement( $('#input-type-text') ); - }); - - test('emulates placeholder for ', function() { - testElement( $('#input-type-search') ); - }); - - test('emulates placeholder for ', function() { - testElement( $('#input-type-email') ); - }); - - test('emulates placeholder for ', function() { - testElement( $('#input-type-url') ); - }); - - test('emulates placeholder for ', function() { - testElement( $('#input-type-tel') ); - }); - - test('emulates placeholder for ', function() { - testElement( $('#input-type-tel') ); - }); - - test('emulates placeholder for ', function() { - var selector = '#input-type-password'; - - var $el = $(selector); - var el = $el[0]; - - var placeholder = el.getAttribute('placeholder'); - - strictEqual($el.placeholder(), $el, 'should be chainable'); - - // Re-select the element, as it gets replaced by another one in some browsers - $el = $(selector); - el = $el[0]; - - strictEqual(el.value, placeholder, 'should set `placeholder` text as `value`'); - strictEqual($el.prop('value'), '', 'propHooks works properly'); - strictEqual($el.val(), '', 'valHooks works properly'); - ok($el.hasClass('placeholder'), 'should have `placeholder` class'); - - // test on focus - $el.focus(); - - // Re-select the element, as it gets replaced by another one in some browsers - $el = $(selector); - el = $el[0]; - - strictEqual(el.value, '', '`value` should be the empty string on focus'); - strictEqual($el.prop('value'), '', 'propHooks works properly'); - strictEqual($el.val(), '', 'valHooks works properly'); - ok(!$el.hasClass('placeholder'), 'should not have `placeholder` class on focus'); - - // and unfocus (blur) again - $el.blur(); - - // Re-select the element, as it gets replaced by another one in some browsers - $el = $(selector); - el = $el[0]; - - strictEqual(el.value, placeholder, 'should set `placeholder` text as `value`'); - strictEqual($el.prop('value'), '', 'propHooks works properly'); - strictEqual($el.val(), '', 'valHooks works properly'); - ok($el.hasClass('placeholder'), 'should have `placeholder` class'); - - }); - - test('emulates placeholder for ', function() { - testElement( $('#textarea') ); - }); - -}(jQuery)); diff --git a/libs/bower_components/jquery-ui/ui/minified/jquery-ui.min.js b/libs/bower_components/jquery-ui/ui/minified/jquery-ui.min.js index d2da7b53a9..713e662628 100644 --- a/libs/bower_components/jquery-ui/ui/minified/jquery-ui.min.js +++ b/libs/bower_components/jquery-ui/ui/minified/jquery-ui.min.js @@ -3,5 +3,5 @@ * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.slider.js, jquery.ui.sortable.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ -(function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("
    ").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
    ",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("
    "),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widths?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)}),c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){var t=0,i={},a={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",a.height=a.paddingTop=a.paddingBottom=a.borderTopWidth=a.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.10.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e(),content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),undefined):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t),undefined)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,a=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:n=this.headers[(s+1)%a];break;case i.LEFT:case i.UP:n=this.headers[(s-1+a)%a];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:n=this.headers[0];break;case i.END:n=this.headers[a-1]}n&&(e(t.target).attr("tabIndex",-1),e(n).attr("tabIndex",0),n.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,a=this.options,s=a.heightStyle,n=this.element.parent(),r=this.accordionId="ui-accordion-"+(this.element.attr("id")||++t);this.active=this._findActive(a.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(t){var i=e(this),a=i.attr("id"),s=i.next(),n=s.attr("id");a||(a=r+"-header-"+t,i.attr("id",a)),n||(n=r+"-panel-"+t,s.attr("id",n)),i.attr("aria-controls",n),s.attr("aria-labelledby",a)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(a.event),"fill"===s?(i=n.height(),this.element.siblings(":visible").each(function(){var t=e(this),a=t.css("position");"absolute"!==a&&"fixed"!==a&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(i=0,this.headers.next().each(function(){i=Math.max(i,e(this).css("height","").height())}).height(i))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,a=this.active,s=e(t.currentTarget),n=s[0]===a[0],r=n&&i.collapsible,o=r?e():s.next(),h=a.next(),d={oldHeader:a,oldPanel:h,newHeader:r?e():s,newPanel:o};t.preventDefault(),n&&!i.collapsible||this._trigger("beforeActivate",t,d)===!1||(i.active=r?!1:this.headers.index(s),this.active=n?e():s,this._toggle(d),a.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&a.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),n||(s.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),s.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,a=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=a,this.options.animate?this._animate(i,a,t):(a.hide(),i.show(),this._toggleComplete(t)),a.attr({"aria-hidden":"true"}),a.prev().attr("aria-selected","false"),i.length&&a.length?a.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,s){var n,r,o,h=this,d=0,c=e.length&&(!t.length||e.index()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("
      ").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length").append(e("").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(e){var t,i="ui-button ui-widget ui-state-default ui-corner-all",n="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",s=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},a=function(t){var i=t.name,n=t.form,s=e([]);return i&&(i=i.replace(/'/g,"\\'"),s=n?e(n).find("[name='"+i+"']"):e("[name='"+i+"']",t.ownerDocument).filter(function(){return!this.form})),s};e.widget("ui.button",{version:"1.10.4",defaultElement:"").addClass(this._triggerClass).html(n?e("").attr({src:n,alt:s,title:s}):s)),t[o?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,a,s,n=new Date(2009,11,20),r=this._get(e,"dateFormat");r.match(/[DM]/)&&(t=function(e){for(i=0,a=0,s=0;e.length>s;s++)e[s].length>i&&(i=e[s].length,a=s);return a},n.setMonth(t(this._get(e,r.match(/MM/)?"monthNames":"monthNamesShort"))),n.setDate(t(this._get(e,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-n.getDay())),e.input.attr("size",this._formatDate(e,n).length)}},_inlineDatepicker:function(t,i){var a=e(t);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(i.dpDiv),e.data(t,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,a,n,o){var u,c,h,l,d,p=this._dialogInst;return p||(this.uuid+=1,u="dp"+this.uuid,this._dialogInput=e(""),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},e.data(this._dialogInput[0],r,p)),s(p.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(c=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[c/2-100+l,h/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(t){var i,a=e(t),s=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,r),"input"===i?(s.append.remove(),s.trigger.remove(),a.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&a.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,a,n){var r,o,u,c,h=this._getInst(i);return 2===arguments.length&&"string"==typeof a?"defaults"===a?e.extend({},e.datepicker._defaults):h?"all"===a?e.extend({},h.settings):this._get(h,a):null:(r=a||{},"string"==typeof a&&(r={},r[a]=n),h&&(this._curInst===h&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),u=this._getMinMaxDate(h,"min"),c=this._getMinMaxDate(h,"max"),s(h.settings,r),null!==u&&r.dateFormat!==t&&r.minDate===t&&(h.settings.minDate=this._formatDate(h,u)),null!==c&&r.dateFormat!==t&&r.maxDate===t&&(h.settings.maxDate=this._formatDate(h,c)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(e(i),h),this._autoSize(h),this._setDate(h,o),this._updateAlternate(h),this._updateDatepicker(h)),t)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,a,s,n=e.datepicker._getInst(t.target),r=!0,o=n.dpDiv.is(".ui-datepicker-rtl");if(n._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),r=!1;break;case 13:return s=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",n.dpDiv),s[0]&&e.datepicker._selectDay(t.target,n.selectedMonth,n.selectedYear,s[0]),i=e.datepicker._get(n,"onSelect"),i?(a=e.datepicker._formatDate(n),i.apply(n.input?n.input[0]:null,[a,n])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?1:-1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?-1:1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(i){var a,s,n=e.datepicker._getInst(i.target);return e.datepicker._get(n,"constrainInput")?(a=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">s||!a||a.indexOf(s)>-1):t},_doKeyUp:function(t){var i,a=e.datepicker._getInst(t.target);if(a.input.val()!==a.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,e.datepicker._getFormatConfig(a)),i&&(e.datepicker._setDateFromField(a),e.datepicker._updateAlternate(a),e.datepicker._updateDatepicker(a))}catch(s){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,a,n,r,o,u,c;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),a=e.datepicker._get(i,"beforeShow"),n=a?a.apply(t,[t,i]):{},n!==!1&&(s(i.settings,n),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),o={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),o=e.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(u=e.datepicker._get(i,"showAnim"),c=e.datepicker._get(i,"duration"),i.dpDiv.zIndex(e(t).zIndex()+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[u]?i.dpDiv.show(u,e.datepicker._get(i,"showOptions"),c):i.dpDiv[u||"show"](u?c:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,n=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,a=this._getNumberOfMonths(t),s=a[1],r=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),s>1&&t.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",r*s+"em"),t.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,a){var s=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),r=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,u=document.documentElement.clientWidth+(a?0:e(document).scrollLeft()),c=document.documentElement.clientHeight+(a?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?s-r:0,i.left-=a&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=a&&i.top===t.input.offset().top+o?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+s>u&&u>s?Math.abs(i.left+s-u):0),i.top-=Math.min(i.top,i.top+n>c&&c>n?Math.abs(n+o):0),i},_findPos:function(t){for(var i,a=this._getInst(t),s=this._get(a,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[s?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,a,s,n,o=this._curInst;!o||t&&o!==e.data(t,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),a=this._get(o,"duration"),s=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),a,s):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?a:null,s),i||s(),this._datepickerShowing=!1,n=this._get(o,"onClose"),n&&n.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),a=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==a)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,a){var s=e(t),n=this._getInst(s[0]);this._isDisabledDatepicker(s[0])||(this._adjustInstDate(n,i+("M"===a?this._get(n,"showCurrentAtPos"):0),a),this._updateDatepicker(n))},_gotoToday:function(t){var i,a=e(t),s=this._getInst(a[0]);this._get(s,"gotoCurrent")&&s.currentDay?(s.selectedDay=s.currentDay,s.drawMonth=s.selectedMonth=s.currentMonth,s.drawYear=s.selectedYear=s.currentYear):(i=new Date,s.selectedDay=i.getDate(),s.drawMonth=s.selectedMonth=i.getMonth(),s.drawYear=s.selectedYear=i.getFullYear()),this._notifyChange(s),this._adjustDate(a)},_selectMonthYear:function(t,i,a){var s=e(t),n=this._getInst(s[0]);n["selected"+("M"===a?"Month":"Year")]=n["draw"+("M"===a?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(n),this._adjustDate(s)},_selectDay:function(t,i,a,s){var n,r=e(t);e(s).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(n=this._getInst(r[0]),n.selectedDay=n.currentDay=e("a",s).html(),n.selectedMonth=n.currentMonth=i,n.selectedYear=n.currentYear=a,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var a,s=e(t),n=this._getInst(s[0]);i=null!=i?i:this._formatDate(n),n.input&&n.input.val(i),this._updateAlternate(n),a=this._get(n,"onSelect"),a?a.apply(n.input?n.input[0]:null,[i,n]):n.input&&n.input.trigger("change"),n.inline?this._updateDatepicker(n):(this._hideDatepicker(),this._lastInput=n.input[0],"object"!=typeof n.input[0]&&n.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,a,s,n=this._get(t,"altField");n&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),a=this._getDate(t),s=this.formatDate(i,a,this._getFormatConfig(t)),e(n).each(function(){e(this).val(s)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(i,a,s){if(null==i||null==a)throw"Invalid arguments";if(a="object"==typeof a?""+a:a+"",""===a)return null;var n,r,o,u,c=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,l="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,p=(s?s.dayNames:null)||this._defaults.dayNames,g=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,m=(s?s.monthNames:null)||this._defaults.monthNames,f=-1,_=-1,v=-1,k=-1,y=!1,b=function(e){var t=i.length>n+1&&i.charAt(n+1)===e;return t&&n++,t},D=function(e){var t=b(e),i="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,s=RegExp("^\\d{1,"+i+"}"),n=a.substring(c).match(s);if(!n)throw"Missing number at position "+c;return c+=n[0].length,parseInt(n[0],10)},w=function(i,s,n){var r=-1,o=e.map(b(i)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,i){var s=i[1];return a.substr(c,s.length).toLowerCase()===s.toLowerCase()?(r=i[0],c+=s.length,!1):t}),-1!==r)return r+1;throw"Unknown name at position "+c},M=function(){if(a.charAt(c)!==i.charAt(n))throw"Unexpected literal at position "+c;c++};for(n=0;i.length>n;n++)if(y)"'"!==i.charAt(n)||b("'")?M():y=!1;else switch(i.charAt(n)){case"d":v=D("d");break;case"D":w("D",d,p);break;case"o":k=D("o");break;case"m":_=D("m");break;case"M":_=w("M",g,m);break;case"y":f=D("y");break;case"@":u=new Date(D("@")),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"!":u=new Date((D("!")-this._ticksTo1970)/1e4),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"'":b("'")?M():y=!0;break;default:M()}if(a.length>c&&(o=a.substr(c),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===f?f=(new Date).getFullYear():100>f&&(f+=(new Date).getFullYear()-(new Date).getFullYear()%100+(l>=f?0:-100)),k>-1)for(_=1,v=k;;){if(r=this._getDaysInMonth(f,_-1),r>=v)break;_++,v-=r}if(u=this._daylightSavingAdjust(new Date(f,_-1,v)),u.getFullYear()!==f||u.getMonth()+1!==_||u.getDate()!==v)throw"Invalid date";return u},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var a,s=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,u=function(t){var i=e.length>a+1&&e.charAt(a+1)===t;return i&&a++,i},c=function(e,t,i){var a=""+t;if(u(e))for(;i>a.length;)a="0"+a;return a},h=function(e,t,i,a){return u(e)?a[t]:i[t]},l="",d=!1;if(t)for(a=0;e.length>a;a++)if(d)"'"!==e.charAt(a)||u("'")?l+=e.charAt(a):d=!1;else switch(e.charAt(a)){case"d":l+=c("d",t.getDate(),2);break;case"D":l+=h("D",t.getDay(),s,n);break;case"o":l+=c("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=c("m",t.getMonth()+1,2);break;case"M":l+=h("M",t.getMonth(),r,o);break;case"y":l+=u("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":l+=t.getTime();break;case"!":l+=1e4*t.getTime()+this._ticksTo1970;break;case"'":u("'")?l+="'":d=!0;break;default:l+=e.charAt(a)}return l},_possibleChars:function(e){var t,i="",a=!1,s=function(i){var a=e.length>t+1&&e.charAt(t+1)===i;return a&&t++,a};for(t=0;e.length>t;t++)if(a)"'"!==e.charAt(t)||s("'")?i+=e.charAt(t):a=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":s("'")?i+="'":a=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,i){return e.settings[i]!==t?e.settings[i]:this._defaults[i]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),a=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),n=s,r=this._getFormatConfig(e);try{n=this.parseDate(i,a,r)||s}catch(o){a=t?"":a}e.selectedDay=n.getDate(),e.drawMonth=e.selectedMonth=n.getMonth(),e.drawYear=e.selectedYear=n.getFullYear(),e.currentDay=a?n.getDate():0,e.currentMonth=a?n.getMonth():0,e.currentYear=a?n.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,a){var s=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},n=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(a){}for(var s=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,n=s.getFullYear(),r=s.getMonth(),o=s.getDate(),u=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,c=u.exec(i);c;){switch(c[2]||"d"){case"d":case"D":o+=parseInt(c[1],10);break;case"w":case"W":o+=7*parseInt(c[1],10);break;case"m":case"M":r+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r));break;case"y":case"Y":n+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r))}c=u.exec(i)}return new Date(n,r,o)},r=null==i||""===i?a:"string"==typeof i?n(i):"number"==typeof i?isNaN(i)?a:s(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?a:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var a=!t,s=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),s===e.selectedMonth&&n===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(a?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),a="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(a,-i,"M")},next:function(){e.datepicker._adjustDate(a,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(a)},selectDay:function(){return e.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(a,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,a,s,n,r,o,u,c,h,l,d,p,g,m,f,_,v,k,y,b,D,w,M,C,x,I,N,T,A,E,S,Y,F,P,O,j,K,R,H=new Date,W=this._daylightSavingAdjust(new Date(H.getFullYear(),H.getMonth(),H.getDate())),L=this._get(e,"isRTL"),U=this._get(e,"showButtonPanel"),B=this._get(e,"hideIfNoPrevNext"),z=this._get(e,"navigationAsDateFormat"),q=this._getNumberOfMonths(e),G=this._get(e,"showCurrentAtPos"),J=this._get(e,"stepMonths"),Q=1!==q[0]||1!==q[1],V=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),$=this._getMinMaxDate(e,"min"),X=this._getMinMaxDate(e,"max"),Z=e.drawMonth-G,et=e.drawYear;if(0>Z&&(Z+=12,et--),X)for(t=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-q[0]*q[1]+1,X.getDate())),t=$&&$>t?$:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=z?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-J,1)),this._getFormatConfig(e)):i,a=this._canAdjustMonth(e,-1,et,Z)?""+i+"":B?"":""+i+"",s=this._get(e,"nextText"),s=z?this.formatDate(s,this._daylightSavingAdjust(new Date(et,Z+J,1)),this._getFormatConfig(e)):s,n=this._canAdjustMonth(e,1,et,Z)?""+s+"":B?"":""+s+"",r=this._get(e,"currentText"),o=this._get(e,"gotoCurrent")&&e.currentDay?V:W,r=z?this.formatDate(r,o,this._getFormatConfig(e)):r,u=e.inline?"":"",c=U?"
      "+(L?u:"")+(this._isInRange(e,o)?"":"")+(L?"":u)+"
      ":"",h=parseInt(this._get(e,"firstDay"),10),h=isNaN(h)?0:h,l=this._get(e,"showWeek"),d=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),g=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),f=this._get(e,"beforeShowDay"),_=this._get(e,"showOtherMonths"),v=this._get(e,"selectOtherMonths"),k=this._getDefaultDate(e),y="",D=0;q[0]>D;D++){for(w="",this.maxRows=4,M=0;q[1]>M;M++){if(C=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),x=" ui-corner-all",I="",Q){if(I+="
      "}for(I+="
      "+(/all|left/.test(x)&&0===D?L?n:a:"")+(/all|right/.test(x)&&0===D?L?a:n:"")+this._generateMonthYearHeader(e,Z,et,$,X,D>0||M>0,g,m)+"
      "+"",N=l?"":"",b=0;7>b;b++)T=(b+h)%7,N+="=5?" class='ui-datepicker-week-end'":"")+">"+""+p[T]+"";for(I+=N+"",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),E=(this._getFirstDayOfMonth(et,Z)-h+7)%7,S=Math.ceil((E+A)/7),Y=Q?this.maxRows>S?this.maxRows:S:S,this.maxRows=Y,F=this._daylightSavingAdjust(new Date(et,Z,1-E)),P=0;Y>P;P++){for(I+="",O=l?"":"",b=0;7>b;b++)j=f?f.apply(e.input?e.input[0]:null,[F]):[!0,""],K=F.getMonth()!==Z,R=K&&!v||!j[0]||$&&$>F||X&&F>X,O+="",F.setDate(F.getDate()+1),F=this._daylightSavingAdjust(F);I+=O+""}Z++,Z>11&&(Z=0,et++),I+="
      "+this._get(e,"weekHeader")+"
      "+this._get(e,"calculateWeek")(F)+""+(K&&!_?" ":R?""+F.getDate()+"":""+F.getDate()+"")+"
      "+(Q?"
      "+(q[0]>0&&M===q[1]-1?"
      ":""):""),w+=I}y+=w}return y+=c,e._keyEvent=!1,y},_generateMonthYearHeader:function(e,t,i,a,s,n,r,o){var u,c,h,l,d,p,g,m,f=this._get(e,"changeMonth"),_=this._get(e,"changeYear"),v=this._get(e,"showMonthAfterYear"),k="
      ",y="";if(n||!f)y+=""+r[t]+"";else{for(u=a&&a.getFullYear()===i,c=s&&s.getFullYear()===i,y+=""}if(v||(k+=y+(!n&&f&&_?"":" ")),!e.yearshtml)if(e.yearshtml="",n||!_)k+=""+i+"";else{for(l=this._get(e,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?d+parseInt(e,10):parseInt(e,10); -return isNaN(t)?d:t},g=p(l[0]),m=Math.max(g,p(l[1]||"")),g=a?Math.max(g,a.getFullYear()):g,m=s?Math.min(m,s.getFullYear()):m,e.yearshtml+="",k+=e.yearshtml,e.yearshtml=null}return k+=this._get(e,"yearSuffix"),v&&(k+=(!n&&f&&_?"":" ")+y),k+="
      "},_adjustInstDate:function(e,t,i){var a=e.drawYear+("Y"===i?t:0),s=e.drawMonth+("M"===i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(a,s))+("D"===i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(a,s,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),s=i&&i>t?i:t;return a&&s>a?a:s},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,a){var s=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,a+(0>t?t:s[0]*s[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i,a,s=this._getMinMaxDate(e,"min"),n=this._getMinMaxDate(e,"max"),r=null,o=null,u=this._get(e,"yearRange");return u&&(i=u.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||t.getTime()>=s.getTime())&&(!n||t.getTime()<=n.getTime())&&(!r||t.getFullYear()>=r)&&(!o||o>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,a){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var s=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(a,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),s,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new i,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.4"})(jQuery);(function(e){var t={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.10.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,a=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._destroyOverlay(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(s){}this._hide(this.uiDialog,this.options.hide,function(){a._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,t){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!t&&this._trigger("focus",e),i},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var e=this.element.find("[autofocus]");e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("
      ").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),undefined;if(t.keyCode===e.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),a=i.filter(":first"),s=i.filter(":last");t.target!==s[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==a[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(s.focus(1),t.preventDefault()):(a.focus(1),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("
      ").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("
      ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("
      ").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(e.each(i,function(i,a){var s,n;a=e.isFunction(a)?{click:a,text:i}:a,a=e.extend({type:"button"},a),s=a.click,a.click=function(){s.apply(t.element[0],arguments)},n={icons:a.icons,text:a.showText},delete a.icons,delete a.showText,e("",a).button(n).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,a=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(a,s){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",a,t(s))},drag:function(e,a){i._trigger("drag",e,t(a))},stop:function(s,n){a.position=[n.position.left-i.document.scrollLeft(),n.position.top-i.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",s,t(n))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,a=this.options,s=a.resizable,n=this.uiDialog.css("position"),r="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:a.maxWidth,maxHeight:a.maxHeight,minWidth:a.minWidth,minHeight:this._minHeight(),handles:r,start:function(a,s){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",a,t(s))},resize:function(e,a){i._trigger("resize",e,t(a))},stop:function(s,n){a.height=e(this).height(),a.width=e(this).width(),e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",s,t(n))}}).css("position",n)},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(a){var s=this,n=!1,r={};e.each(a,function(e,a){s._setOption(e,a),e in t&&(n=!0),e in i&&(r[e]=a)}),n&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,t){var i,a,s=this.uiDialog;"dialogClass"===e&&s.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=s.is(":data(ui-draggable)"),i&&!t&&s.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(a=s.is(":data(ui-resizable)"),a&&!t&&s.resizable("destroy"),a&&"string"==typeof t&&s.resizable("option","handles",t),a||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,a=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),a.minWidth>a.width&&(a.width=a.minWidth),e=this.uiDialog.css({height:"auto",width:a.width}).outerHeight(),t=Math.max(0,a.minHeight-e),i="number"==typeof a.maxHeight?Math.max(0,a.maxHeight-e):"none","auto"===a.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,a.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("
      ").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=this,i=this.widgetFullName;e.ui.dialog.overlayInstances||this._delay(function(){e.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(a){t._allowInteraction(a)||(a.preventDefault(),e(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=e("
      ").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),e.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(e.ui.dialog.overlayInstances--,e.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),e.ui.dialog.overlayInstances=0,e.uiBackCompat!==!1&&e.widget("ui.dialog",e.ui.dialog,{_position:function(){var t,i=this.options.position,a=[],s=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(a=i.split?i.split(" "):[i[0],i[1]],1===a.length&&(a[1]=a[0]),e.each(["left","top"],function(e,t){+a[e]===a[e]&&(s[e]=a[e],a[e]=t)}),i={my:a[0]+(0>s[0]?s[0]:"+"+s[0])+" "+a[1]+(0>s[1]?s[1]:"+"+s[1]),at:a.join(" ")}),i=e.extend({},e.ui.dialog.prototype.options.position,i)):i=e.ui.dialog.prototype.options.position,t=this.uiDialog.is(":visible"),t||this.uiDialog.show(),this.uiDialog.position(i),t||this.uiDialog.hide()}})})(jQuery);(function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("
      ").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||t.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,t(document).width()-this.helperProportions.width-this.margins.left,(t(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(e){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=e.pageX,h=e.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(l=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,l=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,a=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,a))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY=0;u--)r=p.snapElements[u].left,l=r+p.snapElements[u].width,h=p.snapElements[u].top,c=h+p.snapElements[u].height,r-f>_||m>l+f||h-f>b||v>c+f||!t.contains(p.snapElements[u].item.ownerDocument,p.snapElements[u].item)?(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1):("inner"!==g.snapMode&&(s=f>=Math.abs(h-b),n=f>=Math.abs(c-v),a=f>=Math.abs(r-_),o=f>=Math.abs(l-m),s&&(i.position.top=p._convertPositionTo("relative",{top:h-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l}).left-p.margins.left)),d=s||n||a||o,"outer"!==g.snapMode&&(s=f>=Math.abs(h-v),n=f>=Math.abs(c-b),a=f>=Math.abs(r-m),o=f>=Math.abs(l-_),s&&(i.position.top=p._convertPositionTo("relative",{top:h,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||a||o||d)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],undefined):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},t.ui.ddmanager.droppables[i.scope]=t.ui.ddmanager.droppables[i.scope]||[],t.ui.ddmanager.droppables[i.scope].push(this),i.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,a,o=(t.positionAbs||t.position.absolute).left,r=(t.positionAbs||t.position.absolute).top,l=o+t.helperProportions.width,h=r+t.helperProportions.height,c=i.offset.left,u=i.offset.top,d=c+i.proportions().width,p=u+i.proportions().height;switch(s){case"fit":return o>=c&&d>=l&&r>=u&&p>=h;case"intersect":return o+t.helperProportions.width/2>c&&d>l-t.helperProportions.width/2&&r+t.helperProportions.height/2>u&&p>h-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,a=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(a,u,i.proportions().height)&&e(n,c,i.proportions().width);case"touch":return(r>=u&&p>=r||h>=u&&p>=h||u>r&&h>p)&&(o>=c&&d>=o||l>=c&&d>=l||c>o&&l>d);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,a=t.ui.ddmanager.droppables[e.options.scope]||[],o=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||e&&!a[s].accept.call(a[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue t}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=t.ui.intersect(e,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),a.length&&(s=t.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}})(jQuery);(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=h(),n=s._rgba=[];return i=i.toLowerCase(),f(l,function(t,a){var o,r=a.re.exec(i),l=r&&a.parse(r),h=a.space||"rgba";return l?(o=s[h](l),s[c[h].cache]=o[c[h].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,l=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],h=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=h.support={},p=t("

      ")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),h.fn=t.extend(h.prototype,{parse:function(n,o,r,l){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,l],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof h?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=h(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=h(t),n=s._space(),a=c[n],o=0===this.alpha()?h("transparent"):this,r=o[a.cache]||a.to(o._rgba),l=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],h=s[a],c=u[n.type]||{};null!==h&&(null===o?l[a]=h:(c.mod&&(h-o>c.mod/2?o+=c.mod:o-h>c.mod/2&&(o-=c.mod)),l[a]=i((h-o)*e+o,n)))}),this[n](l)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=h(e)._rgba;return h(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),h.fn.parse.prototype=h.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),l=Math.min(s,n,a),h=r-l,c=r+l,u=.5*c;return e=l===r?0:s===r?60*(n-a)/h+360:n===r?60*(a-s)/h+120:60*(s-n)/h+240,i=0===h?0:.5>=u?h/c:h/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,l=n.to,c=n.from;h.fn[s]=function(s){if(l&&!this[o]&&(this[o]=l(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=h(c(d)),n[o]=d,n):h(d)},f(a,function(e,i){h.fn[e]||(h.fn[e]=function(n){var a,o=t.type(n),l="alpha"===e?this._hsla?"hsla":"rgba":s,h=this[l](),c=h[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),h[i.idx]=n,this[l](h)))})})}),h.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=h(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(l){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(l){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=h(e.elem,i),e.end=h(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},h.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var l=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",h=l.children?o.find("*").addBack():o;h=h.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),h=h.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),h=h.map(function(){var e=this,i=t.Deferred(),s=t.extend({},l,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,h.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),l.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.4",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("

      ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);(function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var a,o,r,l=t(this),h=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(l,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",g=i.test(u),m={},v="show"===c;l.parent().is(".ui-effects-wrapper")?t.effects.save(l.parent(),h):t.effects.save(l,h),l.show(),a=t.effects.createWrapper(l).css({overflow:"hidden"}),o=a[p](),r=parseFloat(a.css(f))||0,m[p]=v?o:0,g||(l.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),m[f]=v?r:o+r),v&&(a.css(p,0),g||a.css(f,r+o)),a.animate(m,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&l.hide(),t.effects.restore(l,h),t.effects.removeWrapper(l),n()}})}})(jQuery);(function(t){t.effects.effect.bounce=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],l=t.effects.setMode(o,e.mode||"effect"),h="hide"===l,c="show"===l,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||h?1:0),g=e.duration/f,m=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=o.queue(),y=b.length;for((c||h)&&r.push("opacity"),t.effects.save(o,r),o.show(),t.effects.createWrapper(o),d||(d=o["top"===v?"outerHeight":"outerWidth"]()/3),c&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,_?2*-d:2*d).animate(a,g,m)),h&&(d/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,o.animate(n,g,m).animate(a,g,m),d=h?2*d:d/2;h&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,o.animate(n,g,m)),o.queue(function(){h&&o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),o.dequeue()}})(jQuery);(function(t){t.effects.effect.clip=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],l=t.effects.setMode(o,e.mode||"hide"),h="show"===l,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(o,r),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[d](),h&&(n.css(d,0),n.css(p,a/2)),f[d]=h?a:0,f[p]=h?0:a/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){h||o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","opacity","height","width"],o=t.effects.setMode(n,e.mode||"hide"),r="show"===o,l=e.direction||"left",h="up"===l||"down"===l?"top":"left",c="up"===l||"left"===l?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,a),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(h,"pos"===c?-s:s),u[h]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),g||p.hide(),i()}var a,o,r,l,h,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),g="show"===f,m=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(a=0;u>a;a++)for(l=m.top+a*_,c=a-(u-1)/2,o=0;d>o;o++)r=m.left+o*v,h=o-(d-1)/2,p.clone().appendTo("body").wrap("
      ").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(g?h*v:0),top:l+(g?c*_:0),opacity:g?0:1}).animate({left:r+(g?0:h*v),top:l+(g?0:c*_),opacity:g?1:0},e.duration||500,e.easing,s)}})(jQuery);(function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}})(jQuery);(function(t){t.effects.effect.fold=function(e,i){var s,n,a=t(this),o=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(a,e.mode||"hide"),l="show"===r,h="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=l!==d,f=p?["width","height"]:["height","width"],g=e.duration/2,m={},v={};t.effects.save(a,o),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[h?0:1]),l&&s.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=l?n[0]:c,v[f[1]]=l?n[1]:0,s.animate(m,g,e.easing).animate(v,g,e.easing,function(){h&&a.hide(),t.effects.restore(a,o),t.effects.removeWrapper(a),i()})}})(jQuery);(function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],a=t.effects.setMode(s,e.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&s.hide(),t.effects.restore(s,n),i()}})}})(jQuery);(function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),a=t.effects.setMode(n,e.mode||"show"),o="show"===a,r="hide"===a,l=o||"hide"===a,h=2*(e.times||5)+(l?1:0),c=e.duration/h,u=0,d=n.queue(),p=d.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;h>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,h+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),a="hide"===n,o=parseInt(e.percent,10)||150,r=o/100,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?l:{height:l.height*r,width:l.width*r,outerHeight:l.outerHeight*r,outerWidth:l.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),a=t.effects.setMode(s,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===a?0:100),r=e.direction||"both",l=e.origin,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=l||["middle","center"],n.restore=!0),n.from=e.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:h),n.to={height:h.height*c.y,width:h.width*c.x,outerHeight:h.outerHeight*c.y,outerWidth:h.outerWidth*c.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],l=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(o,e.mode||"effect"),f=e.restore||"effect"!==p,g=e.scale||"both",m=e.origin||["middle","center"],v=o.css("position"),_=f?r:l,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===e.mode&&"show"===p?(o.from=e.to||b,o.to=e.from||s):(o.from=e.from||("show"===p?b:s),o.to=e.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===g||"both"===g)&&(a.from.y!==a.to.y&&(_=_.concat(u),o.from=t.effects.setTransition(o,u,a.from.y,o.from),o.to=t.effects.setTransition(o,u,a.to.y,o.to)),a.from.x!==a.to.x&&(_=_.concat(d),o.from=t.effects.setTransition(o,d,a.from.x,o.from),o.to=t.effects.setTransition(o,d,a.to.x,o.to))),("content"===g||"both"===g)&&a.from.y!==a.to.y&&(_=_.concat(c).concat(h),o.from=t.effects.setTransition(o,c,a.from.y,o.from),o.to=t.effects.setTransition(o,c,a.to.y,o.to)),t.effects.save(o,_),o.show(),t.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),m&&(n=t.effects.getBaseline(m,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===g||"both"===g)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),h=r.concat(u).concat(d),o.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,h),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=t.effects.setTransition(i,u,a.from.y,i.from),i.to=t.effects.setTransition(i,u,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=t.effects.setTransition(i,d,a.from.x,i.from),i.to=t.effects.setTransition(i,d,a.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,h)})})),o.animate(o.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),t.effects.restore(o,_),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):t.each(["top","left"],function(t,e){o.css(e,function(e,i){var s=parseInt(i,10),n=t?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","height","width"],o=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",l=e.distance||20,h=e.times||3,c=2*h+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},g={},m={},v=n.queue(),_=v.length;for(t.effects.save(n,a),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+l,g[d]=(p?"+=":"-=")+2*l,m[d]=(p?"-=":"+=")+2*l,n.animate(f,u,e.easing),s=1;h>s;s++)n.animate(g,u,e.easing).animate(m,u,e.easing);n.animate(g,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","width","height"],o=t.effects.setMode(n,e.mode||"show"),r="show"===o,l=e.direction||"left",h="up"===l||"down"===l?"top":"left",c="up"===l||"left"===l,u={};t.effects.save(n,a),n.show(),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(h,c?isNaN(s)?"-"+s:-s:s),u[h]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),a="fixed"===n.css("position"),o=t("body"),r=a?o.scrollTop():0,l=a?o.scrollLeft():0,h=n.offset(),c={top:h.top-r,left:h.left-l,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
      ").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-l,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.4",defaultElement:"
        ",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,l=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:l=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}l&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()
      ").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
      ").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);(function(t){function e(t){return parseInt(t,10)||0}function i(t){return!isNaN(parseInt(t,10))}t.widget("ui.resizable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var e,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(t("
      ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;e.length>i;i++)s=t.trim(e[i]),a="ui-resizable-"+s,n=t("
      "),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(e){var i,s,n,a;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=t(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=t(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,a),this._proportionallyResize()),t(this.handles[i]).length},this._renderAxis(this.element),this._handles=t(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),t(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(t(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(t(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=e(this.helper.css("left")),n=e(this.helper.css("top")),o.containment&&(s+=t(o.containment).scrollLeft()||0,n+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,c=this.size.height,u=e.pageX-a.left||0,d=e.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[e,u,d]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==c&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||this._trigger("resize",e,this.ui()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&t.ui.hasScroll(i[0],"left")?0:c.sizeDiff.height,a=s?0:c.sizeDiff.width,o={width:c.helper.width()-a,height:c.helper.height()-n},r=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,h=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(o,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(t){var e,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),i(t.left)&&(this.position.left=t.left),i(t.top)&&(this.position.top=t.top),i(t.height)&&(this.size.height=t.height),i(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,s=this.size,n=this.axis;return i(t.height)?t.width=t.height*this.aspectRatio:i(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===n&&(t.left=e.left+(s.width-t.width),t.top=null),"nw"===n&&(t.top=e.top+(s.height-t.height),t.left=e.left+(s.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,s=this.axis,n=i(t.width)&&e.maxWidth&&e.maxWidtht.width,r=i(t.height)&&e.minHeight&&e.minHeight>t.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(s),u=/nw|ne|n/.test(s);return o&&(t.width=e.minWidth),r&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),a&&(t.height=e.maxHeight),o&&c&&(t.left=h-e.minWidth),n&&c&&(t.left=h-e.maxWidth),r&&u&&(t.top=l-e.minHeight),a&&u&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var t,e,i,s,n,a=this.helper||this.element;for(t=0;this._proportionallyResizeElements.length>t;t++){if(n=this._proportionallyResizeElements[t],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],e=0;i.length>e;e++)this.borderDif[e]=(parseInt(i[e],10)||0)+(parseInt(s[e],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
      "),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&t.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,c=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=t(this).data("ui-resizable"),c=l.options,u=l.element,d=c.containment,p=d instanceof t?d.get(0):/parent/.test(d)?u.parent().get(0):d;p&&(l.containerElement=t(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(p),s=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){s[t]=e(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=t.ui.hasScroll(p,"left")?p.scrollWidth:o,h=t.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(e){var i,s,n,a,o=t(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,c=o._aspectRatio||e.shiftKey,u={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-u.left),c&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),c&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-u.left:o.offset.left-u.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-u.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=Math.abs(o.parentData.left)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,c&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,c&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.containerOffset,n=e.containerPosition,a=e.containerElement,o=t(e.helper),r=o.offset(),h=o.outerWidth()-e.sizeDiff.width,l=o.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(a.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(a.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=function(e){t(e).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):t.each(i.alsoResize,function(t){s(t)})},resize:function(e,i){var s=t(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(e,s){t(e).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(n[e]||0)+(r[e]||0);i&&i>=0&&(a[e]=i||null)}),e.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):t.each(n.alsoResize,function(t,e){h(t,e)})},stop:function(){t(this).removeData("resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).data("ui-resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).data("ui-resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size,n=e.originalSize,a=e.originalPosition,o=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,c=Math.round((s.width-n.width)/h)*h,u=Math.round((s.height-n.height)/l)*l,d=n.width+c,p=n.height+u,f=i.maxWidth&&d>i.maxWidth,g=i.maxHeight&&p>i.maxHeight,m=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,m&&(d+=h),v&&(p+=l),f&&(d-=h),g&&(p-=l),/^(se|s|e)$/.test(o)?(e.size.width=d,e.size.height=p):/^(ne)$/.test(o)?(e.size.width=d,e.size.height=p,e.position.top=a.top-u):/^(sw)$/.test(o)?(e.size.width=d,e.size.height=p,e.position.left=a.left-c):(p-l>0?(e.size.height=p,e.position.top=a.top-u):(e.size.height=l,e.position.top=a.top+n.height-l),d-h>0?(e.size.width=d,e.position.left=a.left-c):(e.size.width=h,e.position.left=a.left+n.width-h))}})})(jQuery);(function(t){t.widget("ui.selectable",t.ui.mouse,{version:"1.10.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e=t(i.options.filter,i.element[0]),e.addClass("ui-selectee"),e.each(function(){var e=t(this),i=e.offset();t.data(this,"selectable-item",{element:this,$element:e,left:i.left,top:i.top,right:i.left+e.outerWidth(),bottom:i.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=t("
      ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=e.pageX,l=e.pageY;return a>r&&(i=r,r=a,a=i),o>l&&(i=l,l=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:l-o}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),h=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?h=!(i.left>r||a>i.right||i.top>l||o>i.bottom):"fit"===n.tolerance&&(h=i.left>a&&r>i.right&&i.top>o&&l>i.bottom),h?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}})})(jQuery);(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("
      ").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,l,h,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),l=a.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-a.width()/2,top:e.pageY-l.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),u["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](u,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[h?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[h?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t(" ",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.leftthis.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.4",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return"
      "+""+""+""+""},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);(function(t,e){function i(){return++n}function s(t){return t=t.cloneNode(!1),t.hash.length>1&&decodeURIComponent(t.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;t.widget("ui.tabs",{version:"1.10.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return t(a).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:a=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var a,o,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),c=l.attr("aria-controls");s(n)?(a=n.hash,o=e.element.find(e._sanitizeSelector(a))):(r=e._tabId(l),a="#"+r,o=e.element.find(a),o.length||(o=e._createPanel(r),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),c&&l.data("ui-tabs-aria-controls",c),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("
      ").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?t():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():a,newPanel:h};e.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?t():a,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),e),this._toggle(e,c))},_toggle:function(e,i){function s(){a.running=!1,a._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,a=this.tabs.eq(e),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,a){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:a},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);(function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.4",options:{content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=o),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function o(t){l.of=t,a.is(":hidden")||a.position(l)}var a,r,h,l=t.extend({},this.options.position);if(n){if(a=this._find(s),a.length)return a.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),a=this._tooltip(s),e(s,a.attr("id")),a.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:o}),o(i)):a.position(t.extend({of:s},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){a.is(":visible")&&(o(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:a}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(a)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),o.stop(!0),this._hide(o,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:o}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("
      ").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("
      ").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery); \ No newline at end of file +(function(e,t){function i(t,i){var s,a,o,r=t.nodeName.toLowerCase();return"area"===r?(s=t.parentNode,a=s.name,t.href&&a&&"map"===s.nodeName.toLowerCase()?(o=e("img[usemap=#"+a+"]")[0],!!o&&n(o)):!1):(/input|select|textarea|button|object/.test(r)?!t.disabled:"a"===r?t.href||i:i)&&n(t)}function n(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}var s=0,a=/^ui-id-\d+$/;e.ui=e.ui||{},e.extend(e.ui,{version:"1.10.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({focus:function(t){return function(i,n){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),n&&n.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),scrollParent:function(){var t;return t=e.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(e.css(this,"position"))&&/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(e.css(this,"overflow")+e.css(this,"overflow-y")+e.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!t.length?e(document):t},zIndex:function(i){if(i!==t)return this.css("zIndex",i);if(this.length)for(var n,s,a=e(this[0]);a.length&&a[0]!==document;){if(n=a.css("position"),("absolute"===n||"relative"===n||"fixed"===n)&&(s=parseInt(a.css("zIndex"),10),!isNaN(s)&&0!==s))return s;a=a.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++s)})},removeUniqueId:function(){return this.each(function(){a.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,n){return!!e.data(t,n[3])},focusable:function(t){return i(t,!isNaN(e.attr(t,"tabindex")))},tabbable:function(t){var n=e.attr(t,"tabindex"),s=isNaN(n);return(s||n>=0)&&i(t,!s)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(i,n){function s(t,i,n,s){return e.each(a,function(){i-=parseFloat(e.css(t,"padding"+this))||0,n&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),s&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var a="Width"===n?["Left","Right"]:["Top","Bottom"],o=n.toLowerCase(),r={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+n]=function(i){return i===t?r["inner"+n].call(this):this.each(function(){e(this).css(o,s(this,i)+"px")})},e.fn["outer"+n]=function(t,i){return"number"!=typeof t?r["outer"+n].call(this,t):this.each(function(){e(this).css(o,s(this,t,!0,i)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.support.selectstart="onselectstart"in document.createElement("div"),e.fn.extend({disableSelection:function(){return this.bind((e.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),e.extend(e.ui,{plugin:{add:function(t,i,n){var s,a=e.ui[t].prototype;for(s in n)a.plugins[s]=a.plugins[s]||[],a.plugins[s].push([i,n[s]])},call:function(e,t,i){var n,s=e.plugins[t];if(s&&e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType)for(n=0;s.length>n;n++)e.options[s[n][0]]&&s[n][1].apply(e.element,i)}},hasScroll:function(t,i){if("hidden"===e(t).css("overflow"))return!1;var n=i&&"left"===i?"scrollLeft":"scrollTop",s=!1;return t[n]>0?!0:(t[n]=1,s=t[n]>0,t[n]=0,s)}})})(jQuery);(function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix||i:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
      ",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),1===arguments.length)return o[i]===e?null:o[i];o[i]=s}else{if(1===arguments.length)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})})(jQuery);(function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,a="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!a&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})})(jQuery);(function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var a,o=Math.max,r=Math.abs,l=Math.round,h=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(a!==e)return a;var i,s,n=t("
      "),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),s=o.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),a=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widths?"left":i>0?"right":"center",vertical:0>a?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(l.horizontal="center"),d>g&&g>r(n+a)&&(l.vertical="middle"),l.important=o(r(i),r(s))>o(r(n),r(a))?"horizontal":"vertical",e.using.call(this,t,l)}),c.offset(t.extend(M,{using:h}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,a=n.offset.left+n.scrollLeft,o=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-o-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-o-a,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,a=n.offset.top+n.scrollTop,o=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-o-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-o-a,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,a,o=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(o?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},o&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(a in s)e.style[a]=s[a];e.appendChild(r),i=o||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()})(jQuery);(function(e){var t=0,i={},a={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",a.height=a.paddingTop=a.paddingBottom=a.borderTopWidth=a.borderBottomWidth="show",e.widget("ui.accordion",{version:"1.10.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),t.collapsible||t.active!==!1&&null!=t.active||(t.active=0),this._processPanels(),0>t.active&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e(),content:this.active.length?this.active.next():e()}},_createIcons:function(){var t=this.options.icons;t&&(e("").addClass("ui-accordion-header-icon ui-icon "+t.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(t.header).addClass(t.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){return"active"===e?(this._activate(t),undefined):("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||this.options.active!==!1||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons()),"disabled"===e&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!t),undefined)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var i=e.ui.keyCode,a=this.headers.length,s=this.headers.index(t.target),n=!1;switch(t.keyCode){case i.RIGHT:case i.DOWN:n=this.headers[(s+1)%a];break;case i.LEFT:case i.UP:n=this.headers[(s-1+a)%a];break;case i.SPACE:case i.ENTER:this._eventHandler(t);break;case i.HOME:n=this.headers[0];break;case i.END:n=this.headers[a-1]}n&&(e(t.target).attr("tabIndex",-1),e(n).attr("tabIndex",0),n.focus(),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().focus()},refresh:function(){var t=this.options;this._processPanels(),t.active===!1&&t.collapsible===!0||!this.headers.length?(t.active=!1,this.active=e()):t.active===!1?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,a=this.options,s=a.heightStyle,n=this.element.parent(),r=this.accordionId="ui-accordion-"+(this.element.attr("id")||++t);this.active=this._findActive(a.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(t){var i=e(this),a=i.attr("id"),s=i.next(),n=s.attr("id");a||(a=r+"-header-"+t,i.attr("id",a)),n||(n=r+"-panel-"+t,s.attr("id",n)),i.attr("aria-controls",n),s.attr("aria-labelledby",a)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(a.event),"fill"===s?(i=n.height(),this.element.siblings(":visible").each(function(){var t=e(this),a=t.css("position");"absolute"!==a&&"fixed"!==a&&(i-=t.outerHeight(!0))}),this.headers.each(function(){i-=e(this).outerHeight(!0)}),this.headers.next().each(function(){e(this).height(Math.max(0,i-e(this).innerHeight()+e(this).height()))}).css("overflow","auto")):"auto"===s&&(i=0,this.headers.next().each(function(){i=Math.max(i,e(this).css("height","").height())}).height(i))},_activate:function(t){var i=this._findActive(t)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var i={keydown:"_keydown"};t&&e.each(t.split(" "),function(e,t){i[t]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var i=this.options,a=this.active,s=e(t.currentTarget),n=s[0]===a[0],r=n&&i.collapsible,o=r?e():s.next(),h=a.next(),d={oldHeader:a,oldPanel:h,newHeader:r?e():s,newPanel:o};t.preventDefault(),n&&!i.collapsible||this._trigger("beforeActivate",t,d)===!1||(i.active=r?!1:this.headers.index(s),this.active=n?e():s,this._toggle(d),a.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&a.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),n||(s.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),s.next().addClass("ui-accordion-content-active")))},_toggle:function(t){var i=t.newPanel,a=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=a,this.options.animate?this._animate(i,a,t):(a.hide(),i.show(),this._toggleComplete(t)),a.attr({"aria-hidden":"true"}),a.prev().attr("aria-selected","false"),i.length&&a.length?a.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===e(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(e,t,s){var n,r,o,h=this,d=0,c=e.length&&(!t.length||e.index()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var t,i,s,n=this.element[0].nodeName.toLowerCase(),a="textarea"===n,o="input"===n;this.isMultiLine=a?!0:o?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[a||o?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return t=!0,s=!0,i=!0,undefined;t=!1,s=!1,i=!1;var a=e.ui.keyCode;switch(n.keyCode){case a.PAGE_UP:t=!0,this._move("previousPage",n);break;case a.PAGE_DOWN:t=!0,this._move("nextPage",n);break;case a.UP:t=!0,this._keyEvent("previous",n);break;case a.DOWN:t=!0,this._keyEvent("next",n);break;case a.ENTER:case a.NUMPAD_ENTER:this.menu.active&&(t=!0,n.preventDefault(),this.menu.select(n));break;case a.TAB:this.menu.active&&this.menu.select(n);break;case a.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(t)return t=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=e.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(e){return s?(s=!1,e.preventDefault(),undefined):(this._searchTimeout(e),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(e),this._change(e),undefined)}}),this._initSource(),this.menu=e("
        ").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];e(t.target).closest(".ui-menu-item").length||this._delay(function(){var t=this;this.document.one("mousedown",function(s){s.target===t.element[0]||s.target===i||e.contains(i,s.target)||t.close()})})},menufocus:function(t,i){if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){e(t.target).trigger(t.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",t,{item:s})?t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(e,t){var i=t.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",e,{item:i})&&this._value(i.value),this.term=this._value(),this.close(e),this.selectedItem=i}}),this.liveRegion=e("",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t||(t=this.element.closest(".ui-front")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,i,s=this;e.isArray(this.options.source)?(t=this.options.source,this.source=function(i,s){s(e.ui.autocomplete.filter(t,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(t,n){s.xhr&&s.xhr.abort(),s.xhr=e.ajax({url:i,data:t,dataType:"json",success:function(e){n(e)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,e))},this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length").append(e("").text(i.label)).appendTo(t)},_move:function(e,t){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[e](t),undefined):(this.search(null,t),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(e,t),t.preventDefault())}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,i){var s=RegExp(e.ui.autocomplete.escapeRegex(i),"i");return e.grep(t,function(e){return s.test(e.label||e.value||e)})}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var t;this._superApply(arguments),this.options.disabled||this.cancelSearch||(t=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.text(t))}})})(jQuery);(function(e){var t,i="ui-button ui-widget ui-state-default ui-corner-all",n="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",s=function(){var t=e(this);setTimeout(function(){t.find(":ui-button").button("refresh")},1)},a=function(t){var i=t.name,n=t.form,s=e([]);return i&&(i=i.replace(/'/g,"\\'"),s=n?e(n).find("[name='"+i+"']"):e("[name='"+i+"']",t.ownerDocument).filter(function(){return!this.form})),s};e.widget("ui.button",{version:"1.10.4",defaultElement:"").addClass(this._triggerClass).html(n?e("").attr({src:n,alt:s,title:s}):s)),t[o?"before":"after"](i.trigger),i.trigger.click(function(){return e.datepicker._datepickerShowing&&e.datepicker._lastInput===t[0]?e.datepicker._hideDatepicker():e.datepicker._datepickerShowing&&e.datepicker._lastInput!==t[0]?(e.datepicker._hideDatepicker(),e.datepicker._showDatepicker(t[0])):e.datepicker._showDatepicker(t[0]),!1}))},_autoSize:function(e){if(this._get(e,"autoSize")&&!e.inline){var t,i,a,s,n=new Date(2009,11,20),r=this._get(e,"dateFormat");r.match(/[DM]/)&&(t=function(e){for(i=0,a=0,s=0;e.length>s;s++)e[s].length>i&&(i=e[s].length,a=s);return a},n.setMonth(t(this._get(e,r.match(/MM/)?"monthNames":"monthNamesShort"))),n.setDate(t(this._get(e,r.match(/DD/)?"dayNames":"dayNamesShort"))+20-n.getDay())),e.input.attr("size",this._formatDate(e,n).length)}},_inlineDatepicker:function(t,i){var a=e(t);a.hasClass(this.markerClassName)||(a.addClass(this.markerClassName).append(i.dpDiv),e.data(t,r,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(t),i.dpDiv.css("display","block"))},_dialogDatepicker:function(t,i,a,n,o){var u,c,h,l,d,p=this._dialogInst;return p||(this.uuid+=1,u="dp"+this.uuid,this._dialogInput=e(""),this._dialogInput.keydown(this._doKeyDown),e("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},e.data(this._dialogInput[0],r,p)),s(p.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(c=document.documentElement.clientWidth,h=document.documentElement.clientHeight,l=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[c/2-100+l,h/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=a,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),e.blockUI&&e.blockUI(this.dpDiv),e.data(this._dialogInput[0],r,p),this},_destroyDatepicker:function(t){var i,a=e(t),s=e.data(t,r);a.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),e.removeData(t,r),"input"===i?(s.append.remove(),s.trigger.remove(),a.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&a.removeClass(this.markerClassName).empty())},_enableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!1,n.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().removeClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}))},_disableDatepicker:function(t){var i,a,s=e(t),n=e.data(t,r);s.hasClass(this.markerClassName)&&(i=t.nodeName.toLowerCase(),"input"===i?(t.disabled=!0,n.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(a=s.children("."+this._inlineClass),a.children().addClass("ui-state-disabled"),a.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=e.map(this._disabledInputs,function(e){return e===t?null:e}),this._disabledInputs[this._disabledInputs.length]=t)},_isDisabledDatepicker:function(e){if(!e)return!1;for(var t=0;this._disabledInputs.length>t;t++)if(this._disabledInputs[t]===e)return!0;return!1},_getInst:function(t){try{return e.data(t,r)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,a,n){var r,o,u,c,h=this._getInst(i);return 2===arguments.length&&"string"==typeof a?"defaults"===a?e.extend({},e.datepicker._defaults):h?"all"===a?e.extend({},h.settings):this._get(h,a):null:(r=a||{},"string"==typeof a&&(r={},r[a]=n),h&&(this._curInst===h&&this._hideDatepicker(),o=this._getDateDatepicker(i,!0),u=this._getMinMaxDate(h,"min"),c=this._getMinMaxDate(h,"max"),s(h.settings,r),null!==u&&r.dateFormat!==t&&r.minDate===t&&(h.settings.minDate=this._formatDate(h,u)),null!==c&&r.dateFormat!==t&&r.maxDate===t&&(h.settings.maxDate=this._formatDate(h,c)),"disabled"in r&&(r.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(e(i),h),this._autoSize(h),this._setDate(h,o),this._updateAlternate(h),this._updateDatepicker(h)),t)},_changeDatepicker:function(e,t,i){this._optionDatepicker(e,t,i)},_refreshDatepicker:function(e){var t=this._getInst(e);t&&this._updateDatepicker(t)},_setDateDatepicker:function(e,t){var i=this._getInst(e);i&&(this._setDate(i,t),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(e,t){var i=this._getInst(e);return i&&!i.inline&&this._setDateFromField(i,t),i?this._getDate(i):null},_doKeyDown:function(t){var i,a,s,n=e.datepicker._getInst(t.target),r=!0,o=n.dpDiv.is(".ui-datepicker-rtl");if(n._keyEvent=!0,e.datepicker._datepickerShowing)switch(t.keyCode){case 9:e.datepicker._hideDatepicker(),r=!1;break;case 13:return s=e("td."+e.datepicker._dayOverClass+":not(."+e.datepicker._currentClass+")",n.dpDiv),s[0]&&e.datepicker._selectDay(t.target,n.selectedMonth,n.selectedYear,s[0]),i=e.datepicker._get(n,"onSelect"),i?(a=e.datepicker._formatDate(n),i.apply(n.input?n.input[0]:null,[a,n])):e.datepicker._hideDatepicker(),!1;case 27:e.datepicker._hideDatepicker();break;case 33:e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 34:e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 35:(t.ctrlKey||t.metaKey)&&e.datepicker._clearDate(t.target),r=t.ctrlKey||t.metaKey;break;case 36:(t.ctrlKey||t.metaKey)&&e.datepicker._gotoToday(t.target),r=t.ctrlKey||t.metaKey;break;case 37:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?1:-1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?-e.datepicker._get(n,"stepBigMonths"):-e.datepicker._get(n,"stepMonths"),"M");break;case 38:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,-7,"D"),r=t.ctrlKey||t.metaKey;break;case 39:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,o?-1:1,"D"),r=t.ctrlKey||t.metaKey,t.originalEvent.altKey&&e.datepicker._adjustDate(t.target,t.ctrlKey?+e.datepicker._get(n,"stepBigMonths"):+e.datepicker._get(n,"stepMonths"),"M");break;case 40:(t.ctrlKey||t.metaKey)&&e.datepicker._adjustDate(t.target,7,"D"),r=t.ctrlKey||t.metaKey;break;default:r=!1}else 36===t.keyCode&&t.ctrlKey?e.datepicker._showDatepicker(this):r=!1;r&&(t.preventDefault(),t.stopPropagation())},_doKeyPress:function(i){var a,s,n=e.datepicker._getInst(i.target);return e.datepicker._get(n,"constrainInput")?(a=e.datepicker._possibleChars(e.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">s||!a||a.indexOf(s)>-1):t},_doKeyUp:function(t){var i,a=e.datepicker._getInst(t.target);if(a.input.val()!==a.lastVal)try{i=e.datepicker.parseDate(e.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,e.datepicker._getFormatConfig(a)),i&&(e.datepicker._setDateFromField(a),e.datepicker._updateAlternate(a),e.datepicker._updateDatepicker(a))}catch(s){}return!0},_showDatepicker:function(t){if(t=t.target||t,"input"!==t.nodeName.toLowerCase()&&(t=e("input",t.parentNode)[0]),!e.datepicker._isDisabledDatepicker(t)&&e.datepicker._lastInput!==t){var i,a,n,r,o,u,c;i=e.datepicker._getInst(t),e.datepicker._curInst&&e.datepicker._curInst!==i&&(e.datepicker._curInst.dpDiv.stop(!0,!0),i&&e.datepicker._datepickerShowing&&e.datepicker._hideDatepicker(e.datepicker._curInst.input[0])),a=e.datepicker._get(i,"beforeShow"),n=a?a.apply(t,[t,i]):{},n!==!1&&(s(i.settings,n),i.lastVal=null,e.datepicker._lastInput=t,e.datepicker._setDateFromField(i),e.datepicker._inDialog&&(t.value=""),e.datepicker._pos||(e.datepicker._pos=e.datepicker._findPos(t),e.datepicker._pos[1]+=t.offsetHeight),r=!1,e(t).parents().each(function(){return r|="fixed"===e(this).css("position"),!r}),o={left:e.datepicker._pos[0],top:e.datepicker._pos[1]},e.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),e.datepicker._updateDatepicker(i),o=e.datepicker._checkOffset(i,o,r),i.dpDiv.css({position:e.datepicker._inDialog&&e.blockUI?"static":r?"fixed":"absolute",display:"none",left:o.left+"px",top:o.top+"px"}),i.inline||(u=e.datepicker._get(i,"showAnim"),c=e.datepicker._get(i,"duration"),i.dpDiv.zIndex(e(t).zIndex()+1),e.datepicker._datepickerShowing=!0,e.effects&&e.effects.effect[u]?i.dpDiv.show(u,e.datepicker._get(i,"showOptions"),c):i.dpDiv[u||"show"](u?c:null),e.datepicker._shouldFocusInput(i)&&i.input.focus(),e.datepicker._curInst=i))}},_updateDatepicker:function(t){this.maxRows=4,n=t,t.dpDiv.empty().append(this._generateHTML(t)),this._attachHandlers(t),t.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,a=this._getNumberOfMonths(t),s=a[1],r=17;t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),s>1&&t.dpDiv.addClass("ui-datepicker-multi-"+s).css("width",r*s+"em"),t.dpDiv[(1!==a[0]||1!==a[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),t.dpDiv[(this._get(t,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),t===e.datepicker._curInst&&e.datepicker._datepickerShowing&&e.datepicker._shouldFocusInput(t)&&t.input.focus(),t.yearshtml&&(i=t.yearshtml,setTimeout(function(){i===t.yearshtml&&t.yearshtml&&t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml),i=t.yearshtml=null},0))},_shouldFocusInput:function(e){return e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&!e.input.is(":focus")},_checkOffset:function(t,i,a){var s=t.dpDiv.outerWidth(),n=t.dpDiv.outerHeight(),r=t.input?t.input.outerWidth():0,o=t.input?t.input.outerHeight():0,u=document.documentElement.clientWidth+(a?0:e(document).scrollLeft()),c=document.documentElement.clientHeight+(a?0:e(document).scrollTop());return i.left-=this._get(t,"isRTL")?s-r:0,i.left-=a&&i.left===t.input.offset().left?e(document).scrollLeft():0,i.top-=a&&i.top===t.input.offset().top+o?e(document).scrollTop():0,i.left-=Math.min(i.left,i.left+s>u&&u>s?Math.abs(i.left+s-u):0),i.top-=Math.min(i.top,i.top+n>c&&c>n?Math.abs(n+o):0),i},_findPos:function(t){for(var i,a=this._getInst(t),s=this._get(a,"isRTL");t&&("hidden"===t.type||1!==t.nodeType||e.expr.filters.hidden(t));)t=t[s?"previousSibling":"nextSibling"];return i=e(t).offset(),[i.left,i.top]},_hideDatepicker:function(t){var i,a,s,n,o=this._curInst;!o||t&&o!==e.data(t,r)||this._datepickerShowing&&(i=this._get(o,"showAnim"),a=this._get(o,"duration"),s=function(){e.datepicker._tidyDialog(o)},e.effects&&(e.effects.effect[i]||e.effects[i])?o.dpDiv.hide(i,e.datepicker._get(o,"showOptions"),a,s):o.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?a:null,s),i||s(),this._datepickerShowing=!1,n=this._get(o,"onClose"),n&&n.apply(o.input?o.input[0]:null,[o.input?o.input.val():"",o]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),e.blockUI&&(e.unblockUI(),e("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(e){e.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(t){if(e.datepicker._curInst){var i=e(t.target),a=e.datepicker._getInst(i[0]);(i[0].id!==e.datepicker._mainDivId&&0===i.parents("#"+e.datepicker._mainDivId).length&&!i.hasClass(e.datepicker.markerClassName)&&!i.closest("."+e.datepicker._triggerClass).length&&e.datepicker._datepickerShowing&&(!e.datepicker._inDialog||!e.blockUI)||i.hasClass(e.datepicker.markerClassName)&&e.datepicker._curInst!==a)&&e.datepicker._hideDatepicker()}},_adjustDate:function(t,i,a){var s=e(t),n=this._getInst(s[0]);this._isDisabledDatepicker(s[0])||(this._adjustInstDate(n,i+("M"===a?this._get(n,"showCurrentAtPos"):0),a),this._updateDatepicker(n))},_gotoToday:function(t){var i,a=e(t),s=this._getInst(a[0]);this._get(s,"gotoCurrent")&&s.currentDay?(s.selectedDay=s.currentDay,s.drawMonth=s.selectedMonth=s.currentMonth,s.drawYear=s.selectedYear=s.currentYear):(i=new Date,s.selectedDay=i.getDate(),s.drawMonth=s.selectedMonth=i.getMonth(),s.drawYear=s.selectedYear=i.getFullYear()),this._notifyChange(s),this._adjustDate(a)},_selectMonthYear:function(t,i,a){var s=e(t),n=this._getInst(s[0]);n["selected"+("M"===a?"Month":"Year")]=n["draw"+("M"===a?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(n),this._adjustDate(s)},_selectDay:function(t,i,a,s){var n,r=e(t);e(s).hasClass(this._unselectableClass)||this._isDisabledDatepicker(r[0])||(n=this._getInst(r[0]),n.selectedDay=n.currentDay=e("a",s).html(),n.selectedMonth=n.currentMonth=i,n.selectedYear=n.currentYear=a,this._selectDate(t,this._formatDate(n,n.currentDay,n.currentMonth,n.currentYear)))},_clearDate:function(t){var i=e(t);this._selectDate(i,"")},_selectDate:function(t,i){var a,s=e(t),n=this._getInst(s[0]);i=null!=i?i:this._formatDate(n),n.input&&n.input.val(i),this._updateAlternate(n),a=this._get(n,"onSelect"),a?a.apply(n.input?n.input[0]:null,[i,n]):n.input&&n.input.trigger("change"),n.inline?this._updateDatepicker(n):(this._hideDatepicker(),this._lastInput=n.input[0],"object"!=typeof n.input[0]&&n.input.focus(),this._lastInput=null)},_updateAlternate:function(t){var i,a,s,n=this._get(t,"altField");n&&(i=this._get(t,"altFormat")||this._get(t,"dateFormat"),a=this._getDate(t),s=this.formatDate(i,a,this._getFormatConfig(t)),e(n).each(function(){e(this).val(s)}))},noWeekends:function(e){var t=e.getDay();return[t>0&&6>t,""]},iso8601Week:function(e){var t,i=new Date(e.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),t=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((t-i)/864e5)/7)+1},parseDate:function(i,a,s){if(null==i||null==a)throw"Invalid arguments";if(a="object"==typeof a?""+a:a+"",""===a)return null;var n,r,o,u,c=0,h=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,l="string"!=typeof h?h:(new Date).getFullYear()%100+parseInt(h,10),d=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,p=(s?s.dayNames:null)||this._defaults.dayNames,g=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,m=(s?s.monthNames:null)||this._defaults.monthNames,f=-1,_=-1,v=-1,k=-1,y=!1,b=function(e){var t=i.length>n+1&&i.charAt(n+1)===e;return t&&n++,t},D=function(e){var t=b(e),i="@"===e?14:"!"===e?20:"y"===e&&t?4:"o"===e?3:2,s=RegExp("^\\d{1,"+i+"}"),n=a.substring(c).match(s);if(!n)throw"Missing number at position "+c;return c+=n[0].length,parseInt(n[0],10)},w=function(i,s,n){var r=-1,o=e.map(b(i)?n:s,function(e,t){return[[t,e]]}).sort(function(e,t){return-(e[1].length-t[1].length)});if(e.each(o,function(e,i){var s=i[1];return a.substr(c,s.length).toLowerCase()===s.toLowerCase()?(r=i[0],c+=s.length,!1):t}),-1!==r)return r+1;throw"Unknown name at position "+c},M=function(){if(a.charAt(c)!==i.charAt(n))throw"Unexpected literal at position "+c;c++};for(n=0;i.length>n;n++)if(y)"'"!==i.charAt(n)||b("'")?M():y=!1;else switch(i.charAt(n)){case"d":v=D("d");break;case"D":w("D",d,p);break;case"o":k=D("o");break;case"m":_=D("m");break;case"M":_=w("M",g,m);break;case"y":f=D("y");break;case"@":u=new Date(D("@")),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"!":u=new Date((D("!")-this._ticksTo1970)/1e4),f=u.getFullYear(),_=u.getMonth()+1,v=u.getDate();break;case"'":b("'")?M():y=!0;break;default:M()}if(a.length>c&&(o=a.substr(c),!/^\s+/.test(o)))throw"Extra/unparsed characters found in date: "+o;if(-1===f?f=(new Date).getFullYear():100>f&&(f+=(new Date).getFullYear()-(new Date).getFullYear()%100+(l>=f?0:-100)),k>-1)for(_=1,v=k;;){if(r=this._getDaysInMonth(f,_-1),r>=v)break;_++,v-=r}if(u=this._daylightSavingAdjust(new Date(f,_-1,v)),u.getFullYear()!==f||u.getMonth()+1!==_||u.getDate()!==v)throw"Invalid date";return u},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(e,t,i){if(!t)return"";var a,s=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,n=(i?i.dayNames:null)||this._defaults.dayNames,r=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,o=(i?i.monthNames:null)||this._defaults.monthNames,u=function(t){var i=e.length>a+1&&e.charAt(a+1)===t;return i&&a++,i},c=function(e,t,i){var a=""+t;if(u(e))for(;i>a.length;)a="0"+a;return a},h=function(e,t,i,a){return u(e)?a[t]:i[t]},l="",d=!1;if(t)for(a=0;e.length>a;a++)if(d)"'"!==e.charAt(a)||u("'")?l+=e.charAt(a):d=!1;else switch(e.charAt(a)){case"d":l+=c("d",t.getDate(),2);break;case"D":l+=h("D",t.getDay(),s,n);break;case"o":l+=c("o",Math.round((new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()-new Date(t.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=c("m",t.getMonth()+1,2);break;case"M":l+=h("M",t.getMonth(),r,o);break;case"y":l+=u("y")?t.getFullYear():(10>t.getYear()%100?"0":"")+t.getYear()%100;break;case"@":l+=t.getTime();break;case"!":l+=1e4*t.getTime()+this._ticksTo1970;break;case"'":u("'")?l+="'":d=!0;break;default:l+=e.charAt(a)}return l},_possibleChars:function(e){var t,i="",a=!1,s=function(i){var a=e.length>t+1&&e.charAt(t+1)===i;return a&&t++,a};for(t=0;e.length>t;t++)if(a)"'"!==e.charAt(t)||s("'")?i+=e.charAt(t):a=!1;else switch(e.charAt(t)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":s("'")?i+="'":a=!0;break;default:i+=e.charAt(t)}return i},_get:function(e,i){return e.settings[i]!==t?e.settings[i]:this._defaults[i]},_setDateFromField:function(e,t){if(e.input.val()!==e.lastVal){var i=this._get(e,"dateFormat"),a=e.lastVal=e.input?e.input.val():null,s=this._getDefaultDate(e),n=s,r=this._getFormatConfig(e);try{n=this.parseDate(i,a,r)||s}catch(o){a=t?"":a}e.selectedDay=n.getDate(),e.drawMonth=e.selectedMonth=n.getMonth(),e.drawYear=e.selectedYear=n.getFullYear(),e.currentDay=a?n.getDate():0,e.currentMonth=a?n.getMonth():0,e.currentYear=a?n.getFullYear():0,this._adjustInstDate(e)}},_getDefaultDate:function(e){return this._restrictMinMax(e,this._determineDate(e,this._get(e,"defaultDate"),new Date))},_determineDate:function(t,i,a){var s=function(e){var t=new Date;return t.setDate(t.getDate()+e),t},n=function(i){try{return e.datepicker.parseDate(e.datepicker._get(t,"dateFormat"),i,e.datepicker._getFormatConfig(t))}catch(a){}for(var s=(i.toLowerCase().match(/^c/)?e.datepicker._getDate(t):null)||new Date,n=s.getFullYear(),r=s.getMonth(),o=s.getDate(),u=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,c=u.exec(i);c;){switch(c[2]||"d"){case"d":case"D":o+=parseInt(c[1],10);break;case"w":case"W":o+=7*parseInt(c[1],10);break;case"m":case"M":r+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r));break;case"y":case"Y":n+=parseInt(c[1],10),o=Math.min(o,e.datepicker._getDaysInMonth(n,r))}c=u.exec(i)}return new Date(n,r,o)},r=null==i||""===i?a:"string"==typeof i?n(i):"number"==typeof i?isNaN(i)?a:s(i):new Date(i.getTime());return r=r&&"Invalid Date"==""+r?a:r,r&&(r.setHours(0),r.setMinutes(0),r.setSeconds(0),r.setMilliseconds(0)),this._daylightSavingAdjust(r)},_daylightSavingAdjust:function(e){return e?(e.setHours(e.getHours()>12?e.getHours()+2:0),e):null},_setDate:function(e,t,i){var a=!t,s=e.selectedMonth,n=e.selectedYear,r=this._restrictMinMax(e,this._determineDate(e,t,new Date));e.selectedDay=e.currentDay=r.getDate(),e.drawMonth=e.selectedMonth=e.currentMonth=r.getMonth(),e.drawYear=e.selectedYear=e.currentYear=r.getFullYear(),s===e.selectedMonth&&n===e.selectedYear||i||this._notifyChange(e),this._adjustInstDate(e),e.input&&e.input.val(a?"":this._formatDate(e))},_getDate:function(e){var t=!e.currentYear||e.input&&""===e.input.val()?null:this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return t},_attachHandlers:function(t){var i=this._get(t,"stepMonths"),a="#"+t.id.replace(/\\\\/g,"\\");t.dpDiv.find("[data-handler]").map(function(){var t={prev:function(){e.datepicker._adjustDate(a,-i,"M")},next:function(){e.datepicker._adjustDate(a,+i,"M")},hide:function(){e.datepicker._hideDatepicker()},today:function(){e.datepicker._gotoToday(a)},selectDay:function(){return e.datepicker._selectDay(a,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return e.datepicker._selectMonthYear(a,this,"M"),!1},selectYear:function(){return e.datepicker._selectMonthYear(a,this,"Y"),!1}};e(this).bind(this.getAttribute("data-event"),t[this.getAttribute("data-handler")])})},_generateHTML:function(e){var t,i,a,s,n,r,o,u,c,h,l,d,p,g,m,f,_,v,k,y,b,D,w,M,C,x,I,N,T,A,E,S,Y,F,P,O,j,K,R,H=new Date,W=this._daylightSavingAdjust(new Date(H.getFullYear(),H.getMonth(),H.getDate())),L=this._get(e,"isRTL"),U=this._get(e,"showButtonPanel"),B=this._get(e,"hideIfNoPrevNext"),z=this._get(e,"navigationAsDateFormat"),q=this._getNumberOfMonths(e),G=this._get(e,"showCurrentAtPos"),J=this._get(e,"stepMonths"),Q=1!==q[0]||1!==q[1],V=this._daylightSavingAdjust(e.currentDay?new Date(e.currentYear,e.currentMonth,e.currentDay):new Date(9999,9,9)),$=this._getMinMaxDate(e,"min"),X=this._getMinMaxDate(e,"max"),Z=e.drawMonth-G,et=e.drawYear;if(0>Z&&(Z+=12,et--),X)for(t=this._daylightSavingAdjust(new Date(X.getFullYear(),X.getMonth()-q[0]*q[1]+1,X.getDate())),t=$&&$>t?$:t;this._daylightSavingAdjust(new Date(et,Z,1))>t;)Z--,0>Z&&(Z=11,et--);for(e.drawMonth=Z,e.drawYear=et,i=this._get(e,"prevText"),i=z?this.formatDate(i,this._daylightSavingAdjust(new Date(et,Z-J,1)),this._getFormatConfig(e)):i,a=this._canAdjustMonth(e,-1,et,Z)?""+i+"":B?"":""+i+"",s=this._get(e,"nextText"),s=z?this.formatDate(s,this._daylightSavingAdjust(new Date(et,Z+J,1)),this._getFormatConfig(e)):s,n=this._canAdjustMonth(e,1,et,Z)?""+s+"":B?"":""+s+"",r=this._get(e,"currentText"),o=this._get(e,"gotoCurrent")&&e.currentDay?V:W,r=z?this.formatDate(r,o,this._getFormatConfig(e)):r,u=e.inline?"":"",c=U?"
        "+(L?u:"")+(this._isInRange(e,o)?"":"")+(L?"":u)+"
        ":"",h=parseInt(this._get(e,"firstDay"),10),h=isNaN(h)?0:h,l=this._get(e,"showWeek"),d=this._get(e,"dayNames"),p=this._get(e,"dayNamesMin"),g=this._get(e,"monthNames"),m=this._get(e,"monthNamesShort"),f=this._get(e,"beforeShowDay"),_=this._get(e,"showOtherMonths"),v=this._get(e,"selectOtherMonths"),k=this._getDefaultDate(e),y="",D=0;q[0]>D;D++){for(w="",this.maxRows=4,M=0;q[1]>M;M++){if(C=this._daylightSavingAdjust(new Date(et,Z,e.selectedDay)),x=" ui-corner-all",I="",Q){if(I+="
        "}for(I+="
        "+(/all|left/.test(x)&&0===D?L?n:a:"")+(/all|right/.test(x)&&0===D?L?a:n:"")+this._generateMonthYearHeader(e,Z,et,$,X,D>0||M>0,g,m)+"
        "+"",N=l?"":"",b=0;7>b;b++)T=(b+h)%7,N+="=5?" class='ui-datepicker-week-end'":"")+">"+""+p[T]+"";for(I+=N+"",A=this._getDaysInMonth(et,Z),et===e.selectedYear&&Z===e.selectedMonth&&(e.selectedDay=Math.min(e.selectedDay,A)),E=(this._getFirstDayOfMonth(et,Z)-h+7)%7,S=Math.ceil((E+A)/7),Y=Q?this.maxRows>S?this.maxRows:S:S,this.maxRows=Y,F=this._daylightSavingAdjust(new Date(et,Z,1-E)),P=0;Y>P;P++){for(I+="",O=l?"":"",b=0;7>b;b++)j=f?f.apply(e.input?e.input[0]:null,[F]):[!0,""],K=F.getMonth()!==Z,R=K&&!v||!j[0]||$&&$>F||X&&F>X,O+="",F.setDate(F.getDate()+1),F=this._daylightSavingAdjust(F);I+=O+""}Z++,Z>11&&(Z=0,et++),I+="
        "+this._get(e,"weekHeader")+"
        "+this._get(e,"calculateWeek")(F)+""+(K&&!_?" ":R?""+F.getDate()+"":""+F.getDate()+"")+"
        "+(Q?"
        "+(q[0]>0&&M===q[1]-1?"
        ":""):""),w+=I}y+=w}return y+=c,e._keyEvent=!1,y},_generateMonthYearHeader:function(e,t,i,a,s,n,r,o){var u,c,h,l,d,p,g,m,f=this._get(e,"changeMonth"),_=this._get(e,"changeYear"),v=this._get(e,"showMonthAfterYear"),k="
        ",y="";if(n||!f)y+=""+r[t]+"";else{for(u=a&&a.getFullYear()===i,c=s&&s.getFullYear()===i,y+=""}if(v||(k+=y+(!n&&f&&_?"":" ")),!e.yearshtml)if(e.yearshtml="",n||!_)k+=""+i+"";else{for(l=this._get(e,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(e){var t=e.match(/c[+\-].*/)?i+parseInt(e.substring(1),10):e.match(/[+\-].*/)?d+parseInt(e,10):parseInt(e,10); +return isNaN(t)?d:t},g=p(l[0]),m=Math.max(g,p(l[1]||"")),g=a?Math.max(g,a.getFullYear()):g,m=s?Math.min(m,s.getFullYear()):m,e.yearshtml+="",k+=e.yearshtml,e.yearshtml=null}return k+=this._get(e,"yearSuffix"),v&&(k+=(!n&&f&&_?"":" ")+y),k+="
        "},_adjustInstDate:function(e,t,i){var a=e.drawYear+("Y"===i?t:0),s=e.drawMonth+("M"===i?t:0),n=Math.min(e.selectedDay,this._getDaysInMonth(a,s))+("D"===i?t:0),r=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(a,s,n)));e.selectedDay=r.getDate(),e.drawMonth=e.selectedMonth=r.getMonth(),e.drawYear=e.selectedYear=r.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(e)},_restrictMinMax:function(e,t){var i=this._getMinMaxDate(e,"min"),a=this._getMinMaxDate(e,"max"),s=i&&i>t?i:t;return a&&s>a?a:s},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,i,a){var s=this._getNumberOfMonths(e),n=this._daylightSavingAdjust(new Date(i,a+(0>t?t:s[0]*s[1]),1));return 0>t&&n.setDate(this._getDaysInMonth(n.getFullYear(),n.getMonth())),this._isInRange(e,n)},_isInRange:function(e,t){var i,a,s=this._getMinMaxDate(e,"min"),n=this._getMinMaxDate(e,"max"),r=null,o=null,u=this._get(e,"yearRange");return u&&(i=u.split(":"),a=(new Date).getFullYear(),r=parseInt(i[0],10),o=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(r+=a),i[1].match(/[+\-].*/)&&(o+=a)),(!s||t.getTime()>=s.getTime())&&(!n||t.getTime()<=n.getTime())&&(!r||t.getFullYear()>=r)&&(!o||o>=t.getFullYear())},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),{shortYearCutoff:t,dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,i,a){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var s=t?"object"==typeof t?t:this._daylightSavingAdjust(new Date(a,i,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),s,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).mousedown(e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(i)):e.datepicker._attachDatepicker(this,t)}):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(i))},e.datepicker=new i,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.10.4"})(jQuery);(function(e){var t={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};e.widget("ui.dialog",{version:"1.10.4",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var i=e(this).css(t).offset().top;0>i&&e(this).css("top",t.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),e=t.parent.children().eq(t.index),e.length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var i,a=this;if(this._isOpen&&this._trigger("beforeClose",t)!==!1){if(this._isOpen=!1,this._destroyOverlay(),!this.opener.filter(":focusable").focus().length)try{i=this.document[0].activeElement,i&&"body"!==i.nodeName.toLowerCase()&&e(i).blur()}catch(s){}this._hide(this.uiDialog,this.options.hide,function(){a._trigger("close",t)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,t){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!t&&this._trigger("focus",e),i},open:function(){var t=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=e(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){t._focusTabbable(),t._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var e=this.element.find("[autofocus]");e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).focus()},_keepFocus:function(t){function i(){var t=this.document[0].activeElement,i=this.uiDialog[0]===t||e.contains(this.uiDialog[0],t);i||this._focusTabbable()}t.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=e("
        ").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),this.close(t),undefined;if(t.keyCode===e.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),a=i.filter(":first"),s=i.filter(":last");t.target!==s[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==a[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(s.focus(1),t.preventDefault()):(a.focus(1),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("
        ").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=e("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(t),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title||e.html(" "),e.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=e("
        ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("
        ").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var t=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(i)||e.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(e.each(i,function(i,a){var s,n;a=e.isFunction(a)?{click:a,text:i}:a,a=e.extend({type:"button"},a),s=a.click,a.click=function(){s.apply(t.element[0],arguments)},n={icons:a.icons,text:a.showText},delete a.icons,delete a.showText,e("",a).button(n).appendTo(t.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function t(e){return{position:e.position,offset:e.offset}}var i=this,a=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(a,s){e(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",a,t(s))},drag:function(e,a){i._trigger("drag",e,t(a))},stop:function(s,n){a.position=[n.position.left-i.document.scrollLeft(),n.position.top-i.document.scrollTop()],e(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",s,t(n))}})},_makeResizable:function(){function t(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}var i=this,a=this.options,s=a.resizable,n=this.uiDialog.css("position"),r="string"==typeof s?s:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:a.maxWidth,maxHeight:a.maxHeight,minWidth:a.minWidth,minHeight:this._minHeight(),handles:r,start:function(a,s){e(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",a,t(s))},resize:function(e,a){i._trigger("resize",e,t(a))},stop:function(s,n){a.height=e(this).height(),a.width=e(this).width(),e(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",s,t(n))}}).css("position",n)},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(a){var s=this,n=!1,r={};e.each(a,function(e,a){s._setOption(e,a),e in t&&(n=!0),e in i&&(r[e]=a)}),n&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",r)},_setOption:function(e,t){var i,a,s=this.uiDialog;"dialogClass"===e&&s.removeClass(this.options.dialogClass).addClass(t),"disabled"!==e&&(this._super(e,t),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:""+t}),"draggable"===e&&(i=s.is(":data(ui-draggable)"),i&&!t&&s.draggable("destroy"),!i&&t&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(a=s.is(":data(ui-resizable)"),a&&!t&&s.resizable("destroy"),a&&"string"==typeof t&&s.resizable("option","handles",t),a||t===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,i,a=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),a.minWidth>a.width&&(a.width=a.minWidth),e=this.uiDialog.css({height:"auto",width:a.width}).outerHeight(),t=Math.max(0,a.minHeight-e),i="number"==typeof a.maxHeight?Math.max(0,a.maxHeight-e):"none","auto"===a.height?this.element.css({minHeight:t,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,a.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var t=e(this);return e("
        ").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return e(t.target).closest(".ui-dialog").length?!0:!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=this,i=this.widgetFullName;e.ui.dialog.overlayInstances||this._delay(function(){e.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(a){t._allowInteraction(a)||(a.preventDefault(),e(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=e("
        ").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),e.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(e.ui.dialog.overlayInstances--,e.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),e.ui.dialog.overlayInstances=0,e.uiBackCompat!==!1&&e.widget("ui.dialog",e.ui.dialog,{_position:function(){var t,i=this.options.position,a=[],s=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(a=i.split?i.split(" "):[i[0],i[1]],1===a.length&&(a[1]=a[0]),e.each(["left","top"],function(e,t){+a[e]===a[e]&&(s[e]=a[e],a[e]=t)}),i={my:a[0]+(0>s[0]?s[0]:"+"+s[0])+" "+a[1]+(0>s[1]?s[1]:"+"+s[1]),at:a.join(" ")}),i=e.extend({},e.ui.dialog.prototype.options.position,i)):i=e.ui.dialog.prototype.options.position,t=this.uiDialog.is(":visible"),t||this.uiDialog.show(),this.uiDialog.position(i),t||this.uiDialog.hide()}})})(jQuery);(function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("
        ").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||t.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,t(document).width()-this.helperProportions.width-this.margins.left,(t(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(e){var i,s,n,a,o=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,l=e.pageX,h=e.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(l=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,l=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,a=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,a))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var a=!1,o=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(a=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==o&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(o.instance.element[0],this.instance.element[0])&&(a=!1),a})),a?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY=0;u--)r=p.snapElements[u].left,l=r+p.snapElements[u].width,h=p.snapElements[u].top,c=h+p.snapElements[u].height,r-f>_||m>l+f||h-f>b||v>c+f||!t.contains(p.snapElements[u].item.ownerDocument,p.snapElements[u].item)?(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1):("inner"!==g.snapMode&&(s=f>=Math.abs(h-b),n=f>=Math.abs(c-v),a=f>=Math.abs(r-_),o=f>=Math.abs(l-m),s&&(i.position.top=p._convertPositionTo("relative",{top:h-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l}).left-p.margins.left)),d=s||n||a||o,"outer"!==g.snapMode&&(s=f>=Math.abs(h-v),n=f>=Math.abs(c-b),a=f>=Math.abs(r-m),o=f>=Math.abs(l-_),s&&(i.position.top=p._convertPositionTo("relative",{top:h,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:l-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||a||o||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||a||o||d)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],undefined):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},t.ui.ddmanager.droppables[i.scope]=t.ui.ddmanager.droppables[i.scope]||[],t.ui.ddmanager.droppables[i.scope].push(this),i.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,a,o=(t.positionAbs||t.position.absolute).left,r=(t.positionAbs||t.position.absolute).top,l=o+t.helperProportions.width,h=r+t.helperProportions.height,c=i.offset.left,u=i.offset.top,d=c+i.proportions().width,p=u+i.proportions().height;switch(s){case"fit":return o>=c&&d>=l&&r>=u&&p>=h;case"intersect":return o+t.helperProportions.width/2>c&&d>l-t.helperProportions.width/2&&r+t.helperProportions.height/2>u&&p>h-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,a=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(a,u,i.proportions().height)&&e(n,c,i.proportions().width);case"touch":return(r>=u&&p>=r||h>=u&&p>=h||u>r&&h>p)&&(o>=c&&d>=o||l>=c&&d>=l||c>o&&l>d);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,a=t.ui.ddmanager.droppables[e.options.scope]||[],o=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||e&&!a[s].accept.call(a[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue t}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=t.ui.intersect(e,this,this.options.tolerance),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),a.length&&(s=t.data(a[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}})(jQuery);(function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=h(),n=s._rgba=[];return i=i.toLowerCase(),f(l,function(t,a){var o,r=a.re.exec(i),l=r&&a.parse(r),h=a.space||"rgba";return l?(o=s[h](l),s[c[h].cache]=o[c[h].cache],n=s._rgba=o._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,a.transparent),s):a[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var a,o="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,l=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],h=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=h.support={},p=t("

        ")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),h.fn=t.extend(h.prototype,{parse:function(n,o,r,l){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(o),o=e);var u=this,d=t.type(n),p=this._rgba=[];return o!==e&&(n=[n,o,r,l],d="array"),"string"===d?this.parse(s(n)||a._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof h?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var a=s.cache;f(s.props,function(t,e){if(!u[a]&&s.to){if("alpha"===t||null==n[t])return;u[a]=s.to(u._rgba)}u[a][e.idx]=i(n[t],e,!0)}),u[a]&&0>t.inArray(null,u[a].slice(0,3))&&(u[a][3]=1,s.from&&(u._rgba=s.from(u[a])))}),this):e},is:function(t){var i=h(t),s=!0,n=this;return f(c,function(t,a){var o,r=i[a.cache];return r&&(o=n[a.cache]||a.to&&a.to(n._rgba)||[],f(a.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===o[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=h(t),n=s._space(),a=c[n],o=0===this.alpha()?h("transparent"):this,r=o[a.cache]||a.to(o._rgba),l=r.slice();return s=s[a.cache],f(a.props,function(t,n){var a=n.idx,o=r[a],h=s[a],c=u[n.type]||{};null!==h&&(null===o?l[a]=h:(c.mod&&(h-o>c.mod/2?o+=c.mod:o-h>c.mod/2&&(o-=c.mod)),l[a]=i((h-o)*e+o,n)))}),this[n](l)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=h(e)._rgba;return h(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),h.fn.parse.prototype=h.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,a=t[2]/255,o=t[3],r=Math.max(s,n,a),l=Math.min(s,n,a),h=r-l,c=r+l,u=.5*c;return e=l===r?0:s===r?60*(n-a)/h+360:n===r?60*(a-s)/h+120:60*(s-n)/h+240,i=0===h?0:.5>=u?h/c:h/(2-c),[Math.round(e)%360,i,u,null==o?1:o]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],a=t[3],o=.5>=s?s*(1+i):s+i-s*i,r=2*s-o;return[Math.round(255*n(r,o,e+1/3)),Math.round(255*n(r,o,e)),Math.round(255*n(r,o,e-1/3)),a]},f(c,function(s,n){var a=n.props,o=n.cache,l=n.to,c=n.from;h.fn[s]=function(s){if(l&&!this[o]&&(this[o]=l(this._rgba)),s===e)return this[o].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[o].slice();return f(a,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=h(c(d)),n[o]=d,n):h(d)},f(a,function(e,i){h.fn[e]||(h.fn[e]=function(n){var a,o=t.type(n),l="alpha"===e?this._hsla?"hsla":"rgba":s,h=this[l](),c=h[i.idx];return"undefined"===o?c:("function"===o&&(n=n.call(this,c),o=t.type(n)),null==n&&i.empty?this:("string"===o&&(a=r.exec(n),a&&(n=c+parseFloat(a[2])*("+"===a[1]?1:-1))),h[i.idx]=n,this[l](h)))})})}),h.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var a,o,r="";if("transparent"!==n&&("string"!==t.type(n)||(a=s(n)))){if(n=h(a||n),!d.rgba&&1!==n._rgba[3]){for(o="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&o&&o.style;)try{r=t.css(o,"backgroundColor"),o=o.parentNode}catch(l){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(l){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=h(e.elem,i),e.end=h(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},h.hook(o),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},a=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,a={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(a[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(a[i]=n[i]);return a}function s(e,i){var s,n,o={};for(s in i)n=i[s],e[s]!==n&&(a[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(o[s]=n));return o}var n=["add","remove","toggle"],a={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,a,o,r){var l=t.speed(a,o,r);return this.queue(function(){var a,o=t(this),r=o.attr("class")||"",h=l.children?o.find("*").addBack():o;h=h.map(function(){var e=t(this);return{el:e,start:i(this)}}),a=function(){t.each(n,function(t,i){e[i]&&o[i+"Class"](e[i])})},a(),h=h.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),o.attr("class",r),h=h.map(function(){var e=this,i=t.Deferred(),s=t.extend({},l,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,h.get()).done(function(){a(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),l.complete.call(o[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,a){return s?t.effects.animateClass.call(this,{add:i},s,n,a):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,a){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,a):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,a,o,r){return"boolean"==typeof n||n===e?a?t.effects.animateClass.call(this,n?{add:s}:{remove:s},a,o,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,a,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,a){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,a)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.4",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,a;for(a=0;s.length>a;a++)null!==s[a]&&(n=t.data(i+s[a]),n===e&&(n=""),t.css(s[a],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("

        ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},a=document.activeElement;try{a.id}catch(o){a=document.body}return e.wrap(s),(e[0]===a||t.contains(e[0],a))&&t(a).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var a=e.cssUnit(i);a[0]>0&&(n[i]=a[0]*s+a[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(a)&&a.call(n[0]),t.isFunction(e)&&e()}var n=t(this),a=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):o.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,a=i.queue,o=t.effects.effect[i.effect];return t.fx.off||!o?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):a===!1?this.each(e):this.queue(a||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()})(jQuery);(function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var a,o,r,l=t(this),h=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(l,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",g=i.test(u),m={},v="show"===c;l.parent().is(".ui-effects-wrapper")?t.effects.save(l.parent(),h):t.effects.save(l,h),l.show(),a=t.effects.createWrapper(l).css({overflow:"hidden"}),o=a[p](),r=parseFloat(a.css(f))||0,m[p]=v?o:0,g||(l.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),m[f]=v?r:o+r),v&&(a.css(p,0),g||a.css(f,r+o)),a.animate(m,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&l.hide(),t.effects.restore(l,h),t.effects.removeWrapper(l),n()}})}})(jQuery);(function(t){t.effects.effect.bounce=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],l=t.effects.setMode(o,e.mode||"effect"),h="hide"===l,c="show"===l,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||h?1:0),g=e.duration/f,m=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=o.queue(),y=b.length;for((c||h)&&r.push("opacity"),t.effects.save(o,r),o.show(),t.effects.createWrapper(o),d||(d=o["top"===v?"outerHeight":"outerWidth"]()/3),c&&(a={opacity:1},a[v]=0,o.css("opacity",0).css(v,_?2*-d:2*d).animate(a,g,m)),h&&(d/=Math.pow(2,p-1)),a={},a[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,o.animate(n,g,m).animate(a,g,m),d=h?2*d:d/2;h&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,o.animate(n,g,m)),o.queue(function(){h&&o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),o.dequeue()}})(jQuery);(function(t){t.effects.effect.clip=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","height","width"],l=t.effects.setMode(o,e.mode||"hide"),h="show"===l,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(o,r),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n="IMG"===o[0].tagName?s:o,a=n[d](),h&&(n.css(d,0),n.css(p,a/2)),f[d]=h?a:0,f[p]=h?0:a/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){h||o.hide(),t.effects.restore(o,r),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","opacity","height","width"],o=t.effects.setMode(n,e.mode||"hide"),r="show"===o,l=e.direction||"left",h="up"===l||"down"===l?"top":"left",c="up"===l||"left"===l?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,a),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(h,"pos"===c?-s:s),u[h]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),g||p.hide(),i()}var a,o,r,l,h,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),g="show"===f,m=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(a=0;u>a;a++)for(l=m.top+a*_,c=a-(u-1)/2,o=0;d>o;o++)r=m.left+o*v,h=o-(d-1)/2,p.clone().appendTo("body").wrap("
        ").css({position:"absolute",visibility:"visible",left:-o*v,top:-a*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(g?h*v:0),top:l+(g?c*_:0),opacity:g?0:1}).animate({left:r+(g?0:h*v),top:l+(g?0:c*_),opacity:g?1:0},e.duration||500,e.easing,s)}})(jQuery);(function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}})(jQuery);(function(t){t.effects.effect.fold=function(e,i){var s,n,a=t(this),o=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(a,e.mode||"hide"),l="show"===r,h="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=l!==d,f=p?["width","height"]:["height","width"],g=e.duration/2,m={},v={};t.effects.save(a,o),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[h?0:1]),l&&s.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=l?n[0]:c,v[f[1]]=l?n[1]:0,s.animate(m,g,e.easing).animate(v,g,e.easing,function(){h&&a.hide(),t.effects.restore(a,o),t.effects.removeWrapper(a),i()})}})(jQuery);(function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],a=t.effects.setMode(s,e.mode||"show"),o={backgroundColor:s.css("backgroundColor")};"hide"===a&&(o.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(o,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&s.hide(),t.effects.restore(s,n),i()}})}})(jQuery);(function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),a=t.effects.setMode(n,e.mode||"show"),o="show"===a,r="hide"===a,l=o||"hide"===a,h=2*(e.times||5)+(l?1:0),c=e.duration/h,u=0,d=n.queue(),p=d.length;for((o||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;h>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,h+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),a="hide"===n,o=parseInt(e.percent,10)||150,r=o/100,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:a?o:100,from:a?l:{height:l.height*r,width:l.width*r,outerHeight:l.outerHeight*r,outerWidth:l.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),a=t.effects.setMode(s,e.mode||"effect"),o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===a?0:100),r=e.direction||"both",l=e.origin,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?o/100:1,x:"vertical"!==r?o/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==a&&(n.origin=l||["middle","center"],n.restore=!0),n.from=e.from||("show"===a?{height:0,width:0,outerHeight:0,outerWidth:0}:h),n.to={height:h.height*c.y,width:h.width*c.x,outerHeight:h.outerHeight*c.y,outerWidth:h.outerWidth*c.x},n.fade&&("show"===a&&(n.from.opacity=0,n.to.opacity=1),"hide"===a&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,a,o=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],l=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(o,e.mode||"effect"),f=e.restore||"effect"!==p,g=e.scale||"both",m=e.origin||["middle","center"],v=o.css("position"),_=f?r:l,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&o.show(),s={height:o.height(),width:o.width(),outerHeight:o.outerHeight(),outerWidth:o.outerWidth()},"toggle"===e.mode&&"show"===p?(o.from=e.to||b,o.to=e.from||s):(o.from=e.from||("show"===p?b:s),o.to=e.to||("hide"===p?b:s)),a={from:{y:o.from.height/s.height,x:o.from.width/s.width},to:{y:o.to.height/s.height,x:o.to.width/s.width}},("box"===g||"both"===g)&&(a.from.y!==a.to.y&&(_=_.concat(u),o.from=t.effects.setTransition(o,u,a.from.y,o.from),o.to=t.effects.setTransition(o,u,a.to.y,o.to)),a.from.x!==a.to.x&&(_=_.concat(d),o.from=t.effects.setTransition(o,d,a.from.x,o.from),o.to=t.effects.setTransition(o,d,a.to.x,o.to))),("content"===g||"both"===g)&&a.from.y!==a.to.y&&(_=_.concat(c).concat(h),o.from=t.effects.setTransition(o,c,a.from.y,o.from),o.to=t.effects.setTransition(o,c,a.to.y,o.to)),t.effects.save(o,_),o.show(),t.effects.createWrapper(o),o.css("overflow","hidden").css(o.from),m&&(n=t.effects.getBaseline(m,s),o.from.top=(s.outerHeight-o.outerHeight())*n.y,o.from.left=(s.outerWidth-o.outerWidth())*n.x,o.to.top=(s.outerHeight-o.to.outerHeight)*n.y,o.to.left=(s.outerWidth-o.to.outerWidth)*n.x),o.css(o.from),("content"===g||"both"===g)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),h=r.concat(u).concat(d),o.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,h),i.from={height:s.height*a.from.y,width:s.width*a.from.x,outerHeight:s.outerHeight*a.from.y,outerWidth:s.outerWidth*a.from.x},i.to={height:s.height*a.to.y,width:s.width*a.to.x,outerHeight:s.height*a.to.y,outerWidth:s.width*a.to.x},a.from.y!==a.to.y&&(i.from=t.effects.setTransition(i,u,a.from.y,i.from),i.to=t.effects.setTransition(i,u,a.to.y,i.to)),a.from.x!==a.to.x&&(i.from=t.effects.setTransition(i,d,a.from.x,i.from),i.to=t.effects.setTransition(i,d,a.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,h)})})),o.animate(o.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===o.to.opacity&&o.css("opacity",o.from.opacity),"hide"===p&&o.hide(),t.effects.restore(o,_),f||("static"===v?o.css({position:"relative",top:o.to.top,left:o.to.left}):t.each(["top","left"],function(t,e){o.css(e,function(e,i){var s=parseInt(i,10),n=t?o.to.left:o.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(o),i()}})}})(jQuery);(function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","height","width"],o=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",l=e.distance||20,h=e.times||3,c=2*h+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},g={},m={},v=n.queue(),_=v.length;for(t.effects.save(n,a),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+l,g[d]=(p?"+=":"-=")+2*l,m[d]=(p?"-=":"+=")+2*l,n.animate(f,u,e.easing),s=1;h>s;s++)n.animate(g,u,e.easing).animate(m,u,e.easing);n.animate(g,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}})(jQuery);(function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),a=["position","top","bottom","left","right","width","height"],o=t.effects.setMode(n,e.mode||"show"),r="show"===o,l=e.direction||"left",h="up"===l||"down"===l?"top":"left",c="up"===l||"left"===l,u={};t.effects.save(n,a),n.show(),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(h,c?isNaN(s)?"-"+s:-s:s),u[h]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&n.hide(),t.effects.restore(n,a),t.effects.removeWrapper(n),i()}})}})(jQuery);(function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),a="fixed"===n.css("position"),o=t("body"),r=a?o.scrollTop():0,l=a?o.scrollLeft():0,h=n.offset(),c={top:h.top-r,left:h.left-l,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
        ").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-l,height:s.innerHeight(),width:s.innerWidth(),position:a?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}})(jQuery);(function(t){t.widget("ui.menu",{version:"1.10.4",defaultElement:"
          ",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,a,o,r,l=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:l=!1,n=this.previousFilter||"",a=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),a===n?o=!0:a=n+a,r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=o&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(a=String.fromCharCode(e.keyCode),r=RegExp("^"+i(a),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=a,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}l&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,a,o,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,a=this.activeMenu.scrollTop(),o=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(a+n):n+r>o&&this.activeMenu.scrollTop(a+n-o+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()
        ").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
        ").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})})(jQuery);(function(t){function e(t){return parseInt(t,10)||0}function i(t){return!isNaN(parseInt(t,10))}t.widget("ui.resizable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var e,i,s,n,a,o=this,r=this.options;if(this.element.addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(t("
        ").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;e.length>i;i++)s=t.trim(e[i]),a="ui-resizable-"+s,n=t("
        "),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(e){var i,s,n,a;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=t(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=t(this.handles[i],this.element),a=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,a),this._proportionallyResize()),t(this.handles[i]).length},this._renderAxis(this.element),this._handles=t(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){o.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),o.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),t(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(t(this).removeClass("ui-resizable-autohide"),o._handles.show())}).mouseleave(function(){r.disabled||o.resizing||(t(this).addClass("ui-resizable-autohide"),o._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,a,o=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=e(this.helper.css("left")),n=e(this.helper.css("top")),o.containment&&(s+=t(o.containment).scrollLeft()||0,n+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,a=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===a?this.axis+"-resize":a),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var i,s=this.helper,n={},a=this.originalMousePosition,o=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,c=this.size.height,u=e.pageX-a.left||0,d=e.pageY-a.top||0,p=this._change[o];return p?(i=p.apply(this,[e,u,d]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==c&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||this._trigger("resize",e,this.ui()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,a,o,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&t.ui.hasScroll(i[0],"left")?0:c.sizeDiff.height,a=s?0:c.sizeDiff.width,o={width:c.helper.width()-a,height:c.helper.height()-n},r=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,h=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(o,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(t){var e,s,n,a,o,r=this.options;o={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,n=o.minWidth/this.aspectRatio,s=o.maxHeight*this.aspectRatio,a=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),n>o.minHeight&&(o.minHeight=n),o.maxWidth>s&&(o.maxWidth=s),o.maxHeight>a&&(o.maxHeight=a)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),i(t.left)&&(this.position.left=t.left),i(t.top)&&(this.position.top=t.top),i(t.height)&&(this.size.height=t.height),i(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,s=this.size,n=this.axis;return i(t.height)?t.width=t.height*this.aspectRatio:i(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===n&&(t.left=e.left+(s.width-t.width),t.top=null),"nw"===n&&(t.top=e.top+(s.height-t.height),t.left=e.left+(s.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,s=this.axis,n=i(t.width)&&e.maxWidth&&e.maxWidtht.width,r=i(t.height)&&e.minHeight&&e.minHeight>t.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(s),u=/nw|ne|n/.test(s);return o&&(t.width=e.minWidth),r&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),a&&(t.height=e.maxHeight),o&&c&&(t.left=h-e.minWidth),n&&c&&(t.left=h-e.maxWidth),r&&u&&(t.top=l-e.minHeight),a&&u&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var t,e,i,s,n,a=this.helper||this.element;for(t=0;this._proportionallyResizeElements.length>t;t++){if(n=this._proportionallyResizeElements[t],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],e=0;i.length>e;e++)this.borderDif[e]=(parseInt(i[e],10)||0)+(parseInt(s[e],10)||0);n.css({height:a.height()-this.borderDif[0]-this.borderDif[2]||0,width:a.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
        "),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,a=n.length&&/textarea/i.test(n[0].nodeName),o=a&&t.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=a?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-o},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,c=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,a,o,r,h,l=t(this).data("ui-resizable"),c=l.options,u=l.element,d=c.containment,p=d instanceof t?d.get(0):/parent/.test(d)?u.parent().get(0):d;p&&(l.containerElement=t(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(p),s=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){s[t]=e(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,a=l.containerSize.height,o=l.containerSize.width,r=t.ui.hasScroll(p,"left")?p.scrollWidth:o,h=t.ui.hasScroll(p)?p.scrollHeight:a,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(e){var i,s,n,a,o=t(this).data("ui-resizable"),r=o.options,h=o.containerOffset,l=o.position,c=o._aspectRatio||e.shiftKey,u={top:0,left:0},d=o.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(o._helper?h.left:0)&&(o.size.width=o.size.width+(o._helper?o.position.left-h.left:o.position.left-u.left),c&&(o.size.height=o.size.width/o.aspectRatio),o.position.left=r.helper?h.left:0),l.top<(o._helper?h.top:0)&&(o.size.height=o.size.height+(o._helper?o.position.top-h.top:o.position.top),c&&(o.size.width=o.size.height*o.aspectRatio),o.position.top=o._helper?h.top:0),o.offset.left=o.parentData.left+o.position.left,o.offset.top=o.parentData.top+o.position.top,i=Math.abs((o._helper?o.offset.left-u.left:o.offset.left-u.left)+o.sizeDiff.width),s=Math.abs((o._helper?o.offset.top-u.top:o.offset.top-h.top)+o.sizeDiff.height),n=o.containerElement.get(0)===o.element.parent().get(0),a=/relative|absolute/.test(o.containerElement.css("position")),n&&a&&(i-=Math.abs(o.parentData.left)),i+o.size.width>=o.parentData.width&&(o.size.width=o.parentData.width-i,c&&(o.size.height=o.size.width/o.aspectRatio)),s+o.size.height>=o.parentData.height&&(o.size.height=o.parentData.height-s,c&&(o.size.width=o.size.height*o.aspectRatio))},stop:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.containerOffset,n=e.containerPosition,a=e.containerElement,o=t(e.helper),r=o.offset(),h=o.outerWidth()-e.sizeDiff.width,l=o.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(a.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(a.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=function(e){t(e).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):t.each(i.alsoResize,function(t){s(t)})},resize:function(e,i){var s=t(this).data("ui-resizable"),n=s.options,a=s.originalSize,o=s.originalPosition,r={height:s.size.height-a.height||0,width:s.size.width-a.width||0,top:s.position.top-o.top||0,left:s.position.left-o.left||0},h=function(e,s){t(e).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),a={},o=s&&s.length?s:e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(n[e]||0)+(r[e]||0);i&&i>=0&&(a[e]=i||null)}),e.css(a)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):t.each(n.alsoResize,function(t,e){h(t,e)})},stop:function(){t(this).removeData("resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).data("ui-resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).data("ui-resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size,n=e.originalSize,a=e.originalPosition,o=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,c=Math.round((s.width-n.width)/h)*h,u=Math.round((s.height-n.height)/l)*l,d=n.width+c,p=n.height+u,f=i.maxWidth&&d>i.maxWidth,g=i.maxHeight&&p>i.maxHeight,m=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,m&&(d+=h),v&&(p+=l),f&&(d-=h),g&&(p-=l),/^(se|s|e)$/.test(o)?(e.size.width=d,e.size.height=p):/^(ne)$/.test(o)?(e.size.width=d,e.size.height=p,e.position.top=a.top-u):/^(sw)$/.test(o)?(e.size.width=d,e.size.height=p,e.position.left=a.left-c):(p-l>0?(e.size.height=p,e.position.top=a.top-u):(e.size.height=l,e.position.top=a.top+n.height-l),d-h>0?(e.size.width=d,e.position.left=a.left-c):(e.size.width=h,e.position.left=a.left+n.width-h))}})})(jQuery);(function(t){t.widget("ui.selectable",t.ui.mouse,{version:"1.10.4",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e=t(i.options.filter,i.element[0]),e.addClass("ui-selectee"),e.each(function(){var e=t(this),i=e.offset();t.data(this,"selectable-item",{element:this,$element:e,left:i.left,top:i.top,right:i.left+e.outerWidth(),bottom:i.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=t("
        ")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,a=this.opos[0],o=this.opos[1],r=e.pageX,l=e.pageY;return a>r&&(i=r,r=a,a=i),o>l&&(i=l,l=o,o=i),this.helper.css({left:a,top:o,width:r-a,height:l-o}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),h=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?h=!(i.left>r||a>i.right||i.top>l||o>i.bottom):"fit"===n.tolerance&&(h=i.left>a&&r>i.right&&i.top>o&&l>i.bottom),h?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}})})(jQuery);(function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),a="",o=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)o.push(a);this.handles=n.add(t(o.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("
        ").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,a,o,r,l,h,u=this,c=this.options;return c.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-u.values(e));(n>i||n===i&&(e===u._lastChangedValue||u.values(e)===c.min))&&(n=i,a=t(this),o=e)}),r=this._start(e,o),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=o,a.addClass("ui-state-active").focus(),l=a.offset(),h=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=h?{left:0,top:0}:{left:e.pageX-l.left-a.width()/2,top:e.pageY-l.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,o,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,a;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),a=this._valueMin()+s*n,this._trimAlignValue(a)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,a;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,a=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),a!==!1&&this.values(e,i))):i!==this.value()&&(a=this._trigger("slide",t,{handle:this.handles[e],value:i}),a!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,a;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],a=0;s.length>a;a+=1)s[a]=this._trimAlignValue(n[a]),this._change(null,a);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,a,o=this.options.range,r=this.options,l=this,h=this._animateOff?!1:r.animate,u={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((l.values(s)-l._valueMin())/(l._valueMax()-l._valueMin())),u["horizontal"===l.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[h?"animate":"css"](u,r.animate),l.options.range===!0&&("horizontal"===l.orientation?(0===s&&l.range.stop(1,1)[h?"animate":"css"]({left:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&l.range.stop(1,1)[h?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&l.range[h?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),a=this._valueMax(),i=a!==n?100*((s-n)/(a-n)):0,u["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[h?"animate":"css"](u,r.animate),"min"===o&&"horizontal"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({width:i+"%"},r.animate),"max"===o&&"horizontal"===this.orientation&&this.range[h?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===o&&"vertical"===this.orientation&&this.range.stop(1,1)[h?"animate":"css"]({height:i+"%"},r.animate),"max"===o&&"vertical"===this.orientation&&this.range[h?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,a,o,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(o=this.options.step,n=a=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:a=this._valueMin();break;case t.ui.keyCode.END:a=this._valueMax();break;case t.ui.keyCode.PAGE_UP:a=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:a=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;a=this._trimAlignValue(n+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;a=this._trimAlignValue(n-o)}this._slide(i,r,a)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})})(jQuery);(function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t(" ",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.leftthis.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})})(jQuery);(function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.4",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})})(jQuery);(function(t,e){function i(){return++n}function s(t){return t=t.cloneNode(!1),t.hash.length>1&&decodeURIComponent(t.href.replace(a,""))===decodeURIComponent(location.href.replace(a,""))}var n=0,a=/#.*$/;t.widget("ui.tabs",{version:"1.10.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,a){return t(a).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),a=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:a=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,a),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var a,o,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),c=l.attr("aria-controls");s(n)?(a=n.hash,o=e.element.find(e._sanitizeSelector(a))):(r=e._tabId(l),a="#"+r,o=e.element.find(a),o.length||(o=e._createPanel(r),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),c&&l.data("ui-tabs-aria-controls",c),l.attr({"aria-controls":a.substring(1),"aria-labelledby":h}),o.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("
        ").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),a=n.closest("li"),o=a[0]===s[0],r=o&&i.collapsible,h=r?t():this._getPanelForTab(a),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():a,newPanel:h};e.preventDefault(),a.hasClass("ui-state-disabled")||a.hasClass("ui-tabs-loading")||this.running||o&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(a),this.active=o?t():a,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(a),e),this._toggle(e,c))},_toggle:function(e,i){function s(){a.running=!1,a._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),o.length&&a.options.show?a._show(o,a.options.show,s):(o.show(),s())}var a=this,o=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),o.length&&r.length?i.oldTab.attr("tabIndex",-1):o.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),o.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,a=this.tabs.eq(e),o=a.find(".ui-tabs-anchor"),r=this._getPanelForTab(a),h={tab:a,panel:r};s(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(a.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),a.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,a){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:a},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})})(jQuery);(function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.4",options:{content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=o),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function o(t){l.of=t,a.is(":hidden")||a.position(l)}var a,r,h,l=t.extend({},this.options.position);if(n){if(a=this._find(s),a.length)return a.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),a=this._tooltip(s),e(s,a.attr("id")),a.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:o}),o(i)):a.position(t.extend({of:s},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){a.is(":visible")&&(o(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:a}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(a)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),o.stop(!0),this._hide(o,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:o}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("
        ").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("
        ").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})})(jQuery); \ No newline at end of file diff --git a/libs/bower_components/jquery.scrollTo/.bower.json b/libs/bower_components/jquery.scrollTo/.bower.json index 39db706a72..2dcf20471b 100644 --- a/libs/bower_components/jquery.scrollTo/.bower.json +++ b/libs/bower_components/jquery.scrollTo/.bower.json @@ -1,6 +1,6 @@ { "name": "jquery.scrollTo", - "version": "1.4.13", + "version": "1.4.14", "description": "Easy element scrolling using jQuery.", "homepage": "https://github.com/flesler/jquery.scrollTo", "main": [ @@ -14,7 +14,7 @@ "composer.json" ], "dependencies": { - "jquery": ">=1.8" + "jquery": ">=1.4" }, "keywords": [ "browser", @@ -29,13 +29,13 @@ "name": "Ariel Flesler", "web": "http://flesler.blogspot.com/" }, - "_release": "1.4.13", + "_release": "1.4.14", "_resolution": { "type": "version", - "tag": "1.4.13", - "commit": "f6274158cefae9dbfae7c13925c6d25c5081d1c4" + "tag": "1.4.14", + "commit": "025405d6bc60e810130ba33a63acc37fe32cdadc" }, - "_source": "git://github.com/flesler/jquery.scrollTo.git", + "_source": "https://github.com/flesler/jquery.scrollTo.git", "_target": "~1.4.13", "_originalSource": "jquery.scrollTo" } \ No newline at end of file diff --git a/libs/bower_components/jquery.scrollTo/README.md b/libs/bower_components/jquery.scrollTo/README.md index 844314ca0a..d448ac9277 100644 --- a/libs/bower_components/jquery.scrollTo/README.md +++ b/libs/bower_components/jquery.scrollTo/README.md @@ -1,71 +1,67 @@ -# jQuery.ScrollTo - -### Installation and usage - -Using [bower](https://github.com/twitter/bower): -```bash -bower install jquery.scrollTo -``` -Using npm: -```bash -npm install jquery.scrollto -``` -Using [composer](http://getcomposer.org/download/): - -Either run - -``` -php composer.phar require --prefer-dist flesler/jquery.scrollto "*" -``` - -or add - -``` -"flesler/jquery.scrollto": "*" -``` - -to the require section of your composer.json. - -### Downloading Manually - -If you want the latest stable version, get the latest release from the [releases page](https://github.com/flesler/jquery.scrollTo/releases). - -### Notes - -* Apart from the target and duration, the plugin can receive a hash of settings. Documentation and examples are included in the source file. - -* If you are interested in animated "same-page-scrolling" using anchors(href="#some_id"), check http://github.com/flesler/jquery.localScroll - -* For a slideshow-like behavior using scrolling, check http://github.com/flesler/jquery.serialScroll - -* The target can be specified as: - * A Number/String specifying a position using px or just the number. - * A string selector that will be relative, to the element that is going to be scrolled, and must match at least one child. - * A DOM element, logically child of the element to scroll. - * A hash { top:x, left:y }, x and y can be any kind of number/string like described above. - -* The plugin supports relative animations - -* 'em' and '%' are not supported as part of the target, because they won't work with jQuery.fn.animate. - -* The plugin might fail to scroll an element, to an inner node that is nested in more scrollable elements. This seems like an odd situation anyway. - -* Both axes ( x, y -> left, top ) can be scrolled, you can send 'x', 'y', 'xy' or 'yx' as 'axis' inside the settings. - -* If 2 axis are scrolled, there's an option to queue the animations, so that the second will start once the first ended ('xy' and 'yx' will have different effects) - -* The option 'margin' can be set to true, then the margin of the target element, will be taken into account and will be deducted. - -* 'margin' will only be valid, if the target is a selector, a DOM element, or a jQuery Object. - -* The option 'offset' allows to scroll less or more than the actual target by a defined amount of pixels. Can be a number(both axes), { top:x, left:y } or a function that returns an object with top & left. - -* The option 'over' lets you add or deduct a fraction of the element's height and width from the final position. so over:0.5 will scroll to the middle of the object. can be specified with {top:x, left:y} - -* Don't forget the callback event is now called 'onAfter', and if queuing is activated, then 'onAfterFirst' can be used. - -* If the first axis to be scrolled, is already positioned, that animation will be skipped, to avoid a delay in the animation. - -* The call to the plugin can be made in 2 different ways: $(...).scrollTo( target, duration, settings ) or $(...).scrollTo( target, settings ). Where one of the settings is 'duration'. - -* If you find any bug, or you have any advice, don't hesitate to open an issue. +# jQuery.ScrollTo + +### Installation and usage + +Using [bower](https://github.com/twitter/bower): +```bash +bower install jquery.scrollTo +``` +Using [npm](https://www.npmjs.org/package/jquery.scrollto): +```bash +npm install jquery.scrollto +``` +Using [composer](http://getcomposer.org/download/): + +Either run +``` +php composer.phar require --prefer-dist flesler/jquery.scrollto "*" +``` +or add +``` +"flesler/jquery.scrollto": "*" +``` +to the require section of your composer.json. + +### Downloading Manually + +If you want the latest stable version, get the latest release from the [releases page](https://github.com/flesler/jquery.scrollTo/releases). + +### Notes + +* Apart from the target and duration, the plugin can receive a hash of settings. Documentation and examples are included in the source file. + +* If you are interested in animated "same-page-scrolling" using anchors(href="#some_id"), check http://github.com/flesler/jquery.localScroll + +* For a slideshow-like behavior using scrolling, check http://github.com/flesler/jquery.serialScroll + +* The target can be specified as: + * A Number/String specifying a position using px or just the number. + * A string selector that will be relative, to the element that is going to be scrolled, and must match at least one child. + * A DOM element, logically child of the element to scroll. + * A hash { top:x, left:y }, x and y can be any kind of number/string like described above. + +* The plugin supports relative animations + +* 'em' and '%' are not supported as part of the target, because they won't work with jQuery.fn.animate. + +* The plugin might fail to scroll an element, to an inner node that is nested in more scrollable elements. This seems like an odd situation anyway. + +* Both axes ( x, y -> left, top ) can be scrolled, you can send 'x', 'y', 'xy' or 'yx' as 'axis' inside the settings. + +* If 2 axis are scrolled, there's an option to queue the animations, so that the second will start once the first ended ('xy' and 'yx' will have different effects) + +* The option 'margin' can be set to true, then the margin of the target element, will be taken into account and will be deducted. + +* 'margin' will only be valid, if the target is a selector, a DOM element, or a jQuery Object. + +* The option 'offset' allows to scroll less or more than the actual target by a defined amount of pixels. Can be a number(both axes), { top:x, left:y } or a function that returns an object with top & left. + +* The option 'over' lets you add or deduct a fraction of the element's height and width from the final position. so over:0.5 will scroll to the middle of the object. can be specified with {top:x, left:y} + +* Don't forget the callback event is now called 'onAfter', and if queuing is activated, then 'onAfterFirst' can be used. + +* If the first axis to be scrolled, is already positioned, that animation will be skipped, to avoid a delay in the animation. + +* The call to the plugin can be made in 2 different ways: $(...).scrollTo( target, duration, settings ) or $(...).scrollTo( target, settings ). Where one of the settings is 'duration'. + +* If you find any bug, or you have any advice, don't hesitate to open an issue. diff --git a/libs/bower_components/jquery.scrollTo/bower.json b/libs/bower_components/jquery.scrollTo/bower.json index ff047f4aef..4a280bf609 100644 --- a/libs/bower_components/jquery.scrollTo/bower.json +++ b/libs/bower_components/jquery.scrollTo/bower.json @@ -1,6 +1,6 @@ { "name": "jquery.scrollTo", - "version": "1.4.13", + "version": "1.4.14", "description": "Easy element scrolling using jQuery.", "homepage": "https://github.com/flesler/jquery.scrollTo", "main": [ @@ -14,7 +14,7 @@ "composer.json" ], "dependencies": { - "jquery": ">=1.8" + "jquery": ">=1.4" }, "keywords": [ "browser", "animated", "animation", diff --git a/libs/bower_components/jquery.scrollTo/jquery.scrollTo.js b/libs/bower_components/jquery.scrollTo/jquery.scrollTo.js index fc59ee464e..8b88b8eaa7 100644 --- a/libs/bower_components/jquery.scrollTo/jquery.scrollTo.js +++ b/libs/bower_components/jquery.scrollTo/jquery.scrollTo.js @@ -5,7 +5,7 @@ * http://flesler.blogspot.com/2007/10/jqueryscrollto.html * @projectDescription Easy element scrolling using jQuery. * @author Ariel Flesler - * @version 1.4.13 + * @version 1.4.14 */ ;(function (define) { 'use strict'; @@ -18,7 +18,7 @@ $scrollTo.defaults = { axis:'xy', - duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1, + duration: 0, limit:true }; @@ -171,7 +171,7 @@ }; function both( val ) { - return $.isFunction(val) || typeof val == 'object' ? val : { top:val, left:val }; + return $.isFunction(val) || $.isPlainObject(val) ? val : { top:val, left:val }; } // AMD requirement diff --git a/libs/bower_components/jquery.scrollTo/jquery.scrollTo.min.js b/libs/bower_components/jquery.scrollTo/jquery.scrollTo.min.js index 78ef4230d3..d9f9b1599c 100644 --- a/libs/bower_components/jquery.scrollTo/jquery.scrollTo.min.js +++ b/libs/bower_components/jquery.scrollTo/jquery.scrollTo.min.js @@ -1,7 +1,7 @@ -/** - * Copyright (c) 2007-2014 Ariel Flesler - afleslergmailcom | http://flesler.blogspot.com - * Licensed under MIT - * @author Ariel Flesler - * @version 1.4.13 - */ -;(function(k){'use strict';k(['jquery'],function($){var j=$.scrollTo=function(a,b,c){return $(window).scrollTo(a,b,c)};j.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1,limit:!0};j.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(f,g,h){if(typeof g=='object'){h=g;g=0}if(typeof h=='function')h={onAfter:h};if(f=='max')f=9e9;h=$.extend({},j.defaults,h);g=g||h.duration;h.queue=h.queue&&h.axis.length>1;if(h.queue)g/=2;h.offset=both(h.offset);h.over=both(h.over);return this._scrollable().each(function(){if(f==null)return;var d=this,$elem=$(d),targ=f,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=win?$(targ):$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}var e=$.isFunction(h.offset)&&h.offset(d,targ)||h.offset;$.each(h.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=j.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(h.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=e[pos]||0;if(h.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*h.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(h.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&h.queue){if(old!=attr[key])animate(h.onAfterFirst);delete attr[key]}});animate(h.onAfter);function animate(a){$elem.animate(attr,g,h.easing,a&&function(){a.call(this,targ,h)})}}).end()};j.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return $.isFunction(a)||typeof a=='object'?a:{top:a,left:a}}return j})}(typeof define==='function'&&define.amd?define:function(a,b){if(typeof module!=='undefined'&&module.exports){module.exports=b(require('jquery'))}else{b(jQuery)}})); \ No newline at end of file +/** + * Copyright (c) 2007-2014 Ariel Flesler - afleslergmailcom | http://flesler.blogspot.com + * Licensed under MIT + * @author Ariel Flesler + * @version 1.4.14 + */ +;(function(k){'use strict';k(['jquery'],function($){var j=$.scrollTo=function(a,b,c){return $(window).scrollTo(a,b,c)};j.defaults={axis:'xy',duration:0,limit:!0};j.window=function(a){return $(window)._scrollable()};$.fn._scrollable=function(){return this.map(function(){var a=this,isWin=!a.nodeName||$.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)return a;var b=(a.contentWindow||a).document||a.ownerDocument||a;return/webkit/i.test(navigator.userAgent)||b.compatMode=='BackCompat'?b.body:b.documentElement})};$.fn.scrollTo=function(f,g,h){if(typeof g=='object'){h=g;g=0}if(typeof h=='function')h={onAfter:h};if(f=='max')f=9e9;h=$.extend({},j.defaults,h);g=g||h.duration;h.queue=h.queue&&h.axis.length>1;if(h.queue)g/=2;h.offset=both(h.offset);h.over=both(h.over);return this._scrollable().each(function(){if(f==null)return;var d=this,$elem=$(d),targ=f,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break}targ=win?$(targ):$(targ,this);if(!targ.length)return;case'object':if(targ.is||targ.style)toff=(targ=$(targ)).offset()}var e=$.isFunction(h.offset)&&h.offset(d,targ)||h.offset;$.each(h.axis.split(''),function(i,a){var b=a=='x'?'Left':'Top',pos=b.toLowerCase(),key='scroll'+b,old=d[key],max=j.max(d,a);if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(h.margin){attr[key]-=parseInt(targ.css('margin'+b))||0;attr[key]-=parseInt(targ.css('border'+b+'Width'))||0}attr[key]+=e[pos]||0;if(h.over[pos])attr[key]+=targ[a=='x'?'width':'height']()*h.over[pos]}else{var c=targ[pos];attr[key]=c.slice&&c.slice(-1)=='%'?parseFloat(c)/100*max:c}if(h.limit&&/^\d+$/.test(attr[key]))attr[key]=attr[key]<=0?0:Math.min(attr[key],max);if(!i&&h.queue){if(old!=attr[key])animate(h.onAfterFirst);delete attr[key]}});animate(h.onAfter);function animate(a){$elem.animate(attr,g,h.easing,a&&function(){a.call(this,targ,h)})}}).end()};j.max=function(a,b){var c=b=='x'?'Width':'Height',scroll='scroll'+c;if(!$(a).is('html,body'))return a[scroll]-$(a)[c.toLowerCase()]();var d='client'+c,html=a.ownerDocument.documentElement,body=a.ownerDocument.body;return Math.max(html[scroll],body[scroll])-Math.min(html[d],body[d])};function both(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}return j})}(typeof define==='function'&&define.amd?define:function(a,b){if(typeof module!=='undefined'&&module.exports){module.exports=b(require('jquery'))}else{b(jQuery)}})); \ No newline at end of file diff --git a/libs/bower_components/jquery.scrollTo/package.json b/libs/bower_components/jquery.scrollTo/package.json index 8621bc2895..08a9ec19ac 100644 --- a/libs/bower_components/jquery.scrollTo/package.json +++ b/libs/bower_components/jquery.scrollTo/package.json @@ -1,28 +1,15 @@ { "name": "jquery.scrollto", - "version": "1.4.13", + "version": "1.4.14", "description": "Easy element scrolling using jQuery.", - "homepage": "https://github.com/flesler/jquery.scrollTo", "main": "jquery.scrollTo.js", - "ignore": [ - "**/.*", - "demo", - "tests", - "changes.txt", - "composer.json" - ], - "dependencies": { - "jquery": ">=1.8" - }, - "keywords": [ - "browser", - "animated", - "animation", - "scrolling", - "scroll", - "links", - "anchors" - ], + "license": "MIT", + "ignore": ["**/.*","demo","tests","changes.txt","composer.json","scrollTo.jquery.json"], + "dependencies": { "jquery": ">=1.4" }, + "homepage": "https://github.com/flesler/jquery.scrollTo/", + "bugs": "https://github.com/flesler/jquery.scrollTo/issues", + "repository": "git://github.com/flesler/jquery.scrollTo", + "keywords": ["browser","animated","animation","scrolling","scroll","links","anchors"], "author": { "name": "Ariel Flesler", "web": "http://flesler.blogspot.com/" diff --git a/libs/bower_components/jquery.scrollTo/scrollTo.jquery.json b/libs/bower_components/jquery.scrollTo/scrollTo.jquery.json index f1f6d312f4..7e51c080d4 100644 --- a/libs/bower_components/jquery.scrollTo/scrollTo.jquery.json +++ b/libs/bower_components/jquery.scrollTo/scrollTo.jquery.json @@ -1,29 +1,29 @@ -{ - "name": "scrollTo", - "title": "Ariel Flesler's jQuery scrollTo", - "description": "Easy element scrolling using jQuery.", - "keywords": ["browser", "animated", "animation", "scrolling", "scroll", "links", "anchors"], - "version": "1.4.13", - "author": { - "name": "Ariel Flesler", - "email": "aflesler@gmail.com", - "url": "http://flesler.blogspot.com" - }, - "maintainers": [{ - "name": "Ariel Flesler", - "email": "aflesler@gmail.com", - "url": "http://flesler.blogspot.com" - }], - "licenses": [{ - "type": "MIT", - "url": "https://github.com/flesler/jquery.scrollTo/blob/master/LICENSE" - }], - "homepage": "https://github.com/flesler/jquery.scrollTo", - "docs": "http://flesler.blogspot.com/2007/10/jqueryscrollto.html", - "bugs": "https://github.com/flesler/jquery.scrollTo/issues", - "download": "https://github.com/flesler/jquery.scrollTo/releases", - "demo": "http://demos.flesler.com/jquery/scrollTo", - "dependencies": { - "jquery": ">=1.8" - } +{ + "name": "scrollTo", + "title": "Ariel Flesler's jQuery scrollTo", + "description": "Easy element scrolling using jQuery.", + "keywords": ["browser", "animated", "animation", "scrolling", "scroll", "links", "anchors"], + "version": "1.4.14", + "author": { + "name": "Ariel Flesler", + "email": "aflesler@gmail.com", + "url": "http://flesler.blogspot.com" + }, + "maintainers": [{ + "name": "Ariel Flesler", + "email": "aflesler@gmail.com", + "url": "http://flesler.blogspot.com" + }], + "licenses": [{ + "type": "MIT", + "url": "https://github.com/flesler/jquery.scrollTo/blob/master/LICENSE" + }], + "homepage": "https://github.com/flesler/jquery.scrollTo", + "docs": "http://flesler.blogspot.com/2007/10/jqueryscrollto.html", + "bugs": "https://github.com/flesler/jquery.scrollTo/issues", + "download": "https://github.com/flesler/jquery.scrollTo/releases", + "demo": "http://demos.flesler.com/jquery/scrollTo", + "dependencies": { + "jquery": ">=1.4" + } } \ No newline at end of file diff --git a/libs/bower_components/jquery/.bower.json b/libs/bower_components/jquery/.bower.json index 2575902bd8..79dfb52204 100644 --- a/libs/bower_components/jquery/.bower.json +++ b/libs/bower_components/jquery/.bower.json @@ -1,37 +1,25 @@ { "name": "jquery", - "version": "1.11.1", "main": "dist/jquery.js", "license": "MIT", "ignore": [ - "**/.*", - "build", - "speed", - "test", - "*.md", - "AUTHORS.txt", - "Gruntfile.js", "package.json" ], - "devDependencies": { - "sizzle": "1.10.19", - "requirejs": "2.1.10", - "qunit": "1.14.0", - "sinon": "1.8.1" - }, "keywords": [ "jquery", "javascript", + "browser", "library" ], - "homepage": "https://github.com/jquery/jquery", - "_release": "1.11.1", + "homepage": "https://github.com/jquery/jquery-dist", + "version": "2.2.3", + "_release": "2.2.3", "_resolution": { "type": "version", - "tag": "1.11.1", - "commit": "0d5ec2d8ac94a419ee47a39319c43ff9a7326b50" + "tag": "2.2.3", + "commit": "af22a351b2ea5801ffb1695abb3bb34d5bed9198" }, - "_source": "git://github.com/jquery/jquery.git", - "_target": "~1.11.0", + "_source": "https://github.com/jquery/jquery-dist.git", + "_target": "~2.2.0", "_originalSource": "jquery" } \ No newline at end of file diff --git a/libs/bower_components/jquery/AUTHORS.txt b/libs/bower_components/jquery/AUTHORS.txt new file mode 100644 index 0000000000..dde64cac7a --- /dev/null +++ b/libs/bower_components/jquery/AUTHORS.txt @@ -0,0 +1,278 @@ +Authors ordered by first contribution. + +John Resig +Gilles van den Hoven +Michael Geary +Stefan Petre +Yehuda Katz +Corey Jewett +Klaus Hartl +Franck Marcia +Jörn Zaefferer +Paul Bakaus +Brandon Aaron +Mike Alsup +Dave Methvin +Ed Engelhardt +Sean Catchpole +Paul Mclanahan +David Serduke +Richard D. Worth +Scott González +Ariel Flesler +Jon Evans +TJ Holowaychuk +Michael Bensoussan +Robert Katić +Louis-Rémi Babé +Earle Castledine +Damian Janowski +Rich Dougherty +Kim Dalsgaard +Andrea Giammarchi +Mark Gibson +Karl Swedberg +Justin Meyer +Ben Alman +James Padolsey +David Petersen +Batiste Bieler +Alexander Farkas +Rick Waldron +Filipe Fortes +Neeraj Singh +Paul Irish +Iraê Carvalho +Matt Curry +Michael Monteleone +Noah Sloan +Tom Viner +Douglas Neiner +Adam J. Sontag +Dave Reed +Ralph Whitbeck +Carl Fürstenberg +Jacob Wright +J. Ryan Stinnett +unknown +temp01 +Heungsub Lee +Colin Snover +Ryan W Tenney +Pinhook +Ron Otten +Jephte Clain +Anton Matzneller +Alex Sexton +Dan Heberden +Henri Wiechers +Russell Holbrook +Julian Aubourg +Gianni Alessandro Chiappetta +Scott Jehl +James Burke +Jonas Pfenniger +Xavi Ramirez +Jared Grippe +Sylvester Keil +Brandon Sterne +Mathias Bynens +Timmy Willison +Corey Frang +Digitalxero +Anton Kovalyov +David Murdoch +Josh Varner +Charles McNulty +Jordan Boesch +Jess Thrysoee +Michael Murray +Lee Carpenter +Alexis Abril +Rob Morgan +John Firebaugh +Sam Bisbee +Gilmore Davidson +Brian Brennan +Xavier Montillet +Daniel Pihlstrom +Sahab Yazdani +avaly +Scott Hughes +Mike Sherov +Greg Hazel +Schalk Neethling +Denis Knauf +Timo Tijhof +Steen Nielsen +Anton Ryzhov +Shi Chuan +Berker Peksag +Toby Brain +Matt Mueller +Justin +Daniel Herman +Oleg Gaidarenko +Richard Gibson +Rafaël Blais Masson +cmc3cn <59194618@qq.com> +Joe Presbrey +Sindre Sorhus +Arne de Bree +Vladislav Zarakovsky +Andrew E Monat +Oskari +Joao Henrique de Andrade Bruni +tsinha +Matt Farmer +Trey Hunner +Jason Moon +Jeffery To +Kris Borchers +Vladimir Zhuravlev +Jacob Thornton +Chad Killingsworth +Nowres Rafid +David Benjamin +Uri Gilad +Chris Faulkner +Elijah Manor +Daniel Chatfield +Nikita Govorov +Wesley Walser +Mike Pennisi +Markus Staab +Dave Riddle +Callum Macrae +Benjamin Truyman +James Huston +Erick Ruiz de Chávez +David Bonner +Akintayo Akinwunmi +MORGAN +Ismail Khair +Carl Danley +Mike Petrovich +Greg Lavallee +Daniel Gálvez +Sai Lung Wong +Tom H Fuertes +Roland Eckl +Jay Merrifield +Allen J Schmidt Jr +Jonathan Sampson +Marcel Greter +Matthias Jäggli +David Fox +Yiming He +Devin Cooper +Paul Ramos +Rod Vagg +Bennett Sorbo +Sebastian Burkhard +Zachary Adam Kaplan +nanto_vi +nanto +Danil Somsikov +Ryunosuke SATO +Jean Boussier +Adam Coulombe +Andrew Plummer +Mark Raddatz +Isaac Z. Schlueter +Karl Sieburg +Pascal Borreli +Nguyen Phuc Lam +Dmitry Gusev +Michał Gołębiowski +Li Xudong +Steven Benner +Tom H Fuertes +Renato Oliveira dos Santos +ros3cin +Jason Bedard +Kyle Robinson Young +Chris Talkington +Eddie Monge +Terry Jones +Jason Merino +Jeremy Dunck +Chris Price +Guy Bedford +Amey Sakhadeo +Mike Sidorov +Anthony Ryan +Dominik D. Geyer +George Kats +Lihan Li +Ronny Springer +Chris Antaki +Marian Sollmann +njhamann +Ilya Kantor +David Hong +John Paul +Jakob Stoeck +Christopher Jones +Forbes Lindesay +S. Andrew Sheppard +Leonardo Balter +Roman Reiß +Benjy Cui +Rodrigo Rosenfeld Rosas +John Hoven +Philip Jägenstedt +Christian Kosmowski +Liang Peng +TJ VanToll +Senya Pugach +Aurelio De Rosa +Nazar Mokrynskyi +Amit Merchant +Jason Bedard +Arthur Verschaeve +Dan Hart +Bin Xin +David Corbacho +Veaceslav Grimalschi +Daniel Husar +Frederic Hemberger +Ben Toews +Aditya Raghavan +Victor Homyakov +Shivaji Varma +Nicolas HENRY +Anne-Gaelle Colom +George Mauer +Leonardo Braga +Stephen Edgar +Thomas Tortorini +Winston Howes +Jon Hester +Alexander O'Mara +Bastian Buchholz +Arthur Stolyar +Calvin Metcalf +Mu Haibao +Richard McDaniel +Chris Rebert +Gabriel Schulhof +Gilad Peleg +Martin Naumann +Marek Lewandowski +Bruno Pérel +Reed Loden +Daniel Nill +Yongwoo Jeon +Sean Henderson +Richard Kraaijenhagen +Connor Atherton +Gary Ye +Christian Grete +Liza Ramo +Julian Alexander Murillo +Joelle Fleurantin +Jun Sun +Devin Wilson +Todor Prikumov +Zack Hall diff --git a/libs/bower_components/jquery/LICENSE.txt b/libs/bower_components/jquery/LICENSE.txt new file mode 100644 index 0000000000..5312a4c864 --- /dev/null +++ b/libs/bower_components/jquery/LICENSE.txt @@ -0,0 +1,36 @@ +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. diff --git a/libs/bower_components/jquery/MIT-LICENSE.txt b/libs/bower_components/jquery/MIT-LICENSE.txt deleted file mode 100644 index cdd31b5c71..0000000000 --- a/libs/bower_components/jquery/MIT-LICENSE.txt +++ /dev/null @@ -1,21 +0,0 @@ -Copyright 2014 jQuery Foundation and other contributors -http://jquery.com/ - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/libs/bower_components/jquery/README.md b/libs/bower_components/jquery/README.md new file mode 100644 index 0000000000..ba3174a778 --- /dev/null +++ b/libs/bower_components/jquery/README.md @@ -0,0 +1,65 @@ +# jQuery + +> jQuery is a fast, small, and feature-rich JavaScript library. + +For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/). +For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery). + +## Including jQuery + +Below are some of the most common ways to include jQuery. + +### Browser + +#### Script tag + +```html + +``` + +#### Babel + +[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively. + +```js +import $ from "jquery"; +``` + +#### Browserify/Webpack + +There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this... + +```js +var $ = require("jquery"); +``` + +#### AMD (Asynchronous Module Definition) + +AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html). + +```js +define(["jquery"], function($) { + +}); +``` + +### Node + +To include jQuery in [Node](nodejs.org), first install with npm. + +```sh +npm install jquery +``` + +For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes. + +```js +require("jsdom").env("", function(err, window) { + if (err) { + console.error(err); + return; + } + + var $ = require("jquery")(window); +}); +``` diff --git a/libs/bower_components/jquery/bower.json b/libs/bower_components/jquery/bower.json index 03fad08869..95798d5ada 100644 --- a/libs/bower_components/jquery/bower.json +++ b/libs/bower_components/jquery/bower.json @@ -1,27 +1,14 @@ { "name": "jquery", - "version": "1.11.1", "main": "dist/jquery.js", "license": "MIT", "ignore": [ - "**/.*", - "build", - "speed", - "test", - "*.md", - "AUTHORS.txt", - "Gruntfile.js", "package.json" ], - "devDependencies": { - "sizzle": "1.10.19", - "requirejs": "2.1.10", - "qunit": "1.14.0", - "sinon": "1.8.1" - }, "keywords": [ "jquery", "javascript", + "browser", "library" ] -} +} \ No newline at end of file diff --git a/libs/bower_components/jquery/dist/jquery.js b/libs/bower_components/jquery/dist/jquery.js index d4b67f7e6c..385474756f 100644 --- a/libs/bower_components/jquery/dist/jquery.js +++ b/libs/bower_components/jquery/dist/jquery.js @@ -1,27 +1,27 @@ /*! - * jQuery JavaScript Library v1.11.1 + * jQuery JavaScript Library v2.2.3 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2014-05-01T17:42Z + * Date: 2016-04-05T19:26Z */ (function( global, factory ) { if ( typeof module === "object" && typeof module.exports === "object" ) { - // For CommonJS and CommonJS-like environments where a proper window is present, - // execute the factory and get jQuery - // For environments that do not inherently posses a window with a document - // (such as Node.js), expose a jQuery-making factory as module.exports - // This accentuates the need for the creation of a real window + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info + // See ticket #14549 for more info. module.exports = global.document ? factory( global, true ) : function( w ) { @@ -37,21 +37,22 @@ // Pass this if window is not defined yet }(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { -// Can't do this because several apps including ASP.NET trace +// Support: Firefox 18+ +// Can't be in strict mode, several libs including ASP.NET trace // the stack via arguments.caller.callee and Firefox dies if // you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -// +//"use strict"; +var arr = []; -var deletedIds = []; +var document = window.document; -var slice = deletedIds.slice; +var slice = arr.slice; -var concat = deletedIds.concat; +var concat = arr.concat; -var push = deletedIds.push; +var push = arr.push; -var indexOf = deletedIds.indexOf; +var indexOf = arr.indexOf; var class2type = {}; @@ -64,16 +65,17 @@ var support = {}; var - version = "1.11.1", + version = "2.2.3", // Define a local copy of jQuery jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' // Need init if jQuery is called (just allow error to be thrown if not included) return new jQuery.fn.init( selector, context ); }, - // Support: Android<4.1, IE<9 + // Support: Android<4.1 // Make sure we trim BOM and NBSP rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, @@ -87,6 +89,7 @@ var }; jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used jquery: version, @@ -130,16 +133,14 @@ jQuery.fn = jQuery.prototype = { }, // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); + each: function( callback ) { + return jQuery.each( this, callback ); }, map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { return callback.call( elem, i, elem ); - })); + } ) ); }, slice: function() { @@ -157,23 +158,23 @@ jQuery.fn = jQuery.prototype = { eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); }, end: function() { - return this.prevObject || this.constructor(null); + return this.prevObject || this.constructor(); }, // For internal use only. // Behaves like an Array's method, not like a jQuery method. push: push, - sort: deletedIds.sort, - splice: deletedIds.splice + sort: arr.sort, + splice: arr.splice }; jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, i = 1, length = arguments.length, deep = false; @@ -182,25 +183,27 @@ jQuery.extend = jQuery.fn.extend = function() { if ( typeof target === "boolean" ) { deep = target; - // skip the boolean and the target + // Skip the boolean and the target target = arguments[ i ] || {}; i++; } // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { target = {}; } - // extend jQuery itself if only one argument is passed + // Extend jQuery itself if only one argument is passed if ( i === length ) { target = this; i--; } for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { + if ( ( options = arguments[ i ] ) != null ) { + // Extend the base object for ( name in options ) { src = target[ name ]; @@ -212,13 +215,15 @@ jQuery.extend = jQuery.fn.extend = function() { } // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + if ( copyIsArray ) { copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; + clone = src && jQuery.isArray( src ) ? src : []; } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; + clone = src && jQuery.isPlainObject( src ) ? src : {}; } // Never move original objects, clone them @@ -236,7 +241,8 @@ jQuery.extend = jQuery.fn.extend = function() { return target; }; -jQuery.extend({ +jQuery.extend( { + // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), @@ -249,98 +255,98 @@ jQuery.extend({ noop: function() {}, - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). isFunction: function( obj ) { - return jQuery.type(obj) === "function"; + return jQuery.type( obj ) === "function"; }, - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, + isArray: Array.isArray, isWindow: function( obj ) { - /* jshint eqeqeq: false */ - return obj != null && obj == obj.window; + return obj != null && obj === obj.window; }, isNumeric: function( obj ) { + // parseFloat NaNs numeric-cast false positives (null|true|false|"") // ...but misinterprets leading-number strings, particularly hex literals ("0x...") // subtraction forces infinities to NaN - return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0; - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; + // adding 1 corrects loss of precision from parseFloat (#15100) + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; }, isPlainObject: function( obj ) { var key; - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + // Not plain objects: + // - Any object or value whose internal [[Class]] property is not "[object Object]" + // - DOM nodes + // - window + if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { return false; } - try { - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { return false; } - // Support: IE<9 - // Handle iteration over inherited properties before own properties. - if ( support.ownLast ) { - for ( key in obj ) { - return hasOwn.call( obj, key ); - } - } - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. + // if last one is own, then all properties are own for ( key in obj ) {} return key === undefined || hasOwn.call( obj, key ); }, + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + type: function( obj ) { if ( obj == null ) { return obj + ""; } + + // Support: Android<4.0, iOS<6 (functionish RegExp) return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : + class2type[ toString.call( obj ) ] || "object" : typeof obj; }, // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); + globalEval: function( code ) { + var script, + indirect = eval; + + code = jQuery.trim( code ); + + if ( code ) { + + // If the code includes a valid, prologue position + // strict mode pragma, execute code by injecting a + // script tag into the document. + if ( code.indexOf( "use strict" ) === 1 ) { + script = document.createElement( "script" ); + script.text = code; + document.head.appendChild( script ).parentNode.removeChild( script ); + } else { + + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + + indirect( code ); + } } }, // Convert dashed to camelCase; used by the css and data modules + // Support: IE9-11+ // Microsoft forgot to hump their vendor prefix (#9572) camelCase: function( string ) { return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); @@ -350,49 +356,20 @@ jQuery.extend({ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); }, - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); + each: function( obj, callback ) { + var length, i = 0; - if ( value === false ) { - break; - } + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; } } - - // A special, fast, case for the most common use of each } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; } } } @@ -400,7 +377,7 @@ jQuery.extend({ return obj; }, - // Support: Android<4.1, IE<9 + // Support: Android<4.1 trim: function( text ) { return text == null ? "" : @@ -412,7 +389,7 @@ jQuery.extend({ var ret = results || []; if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { + if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr @@ -426,25 +403,7 @@ jQuery.extend({ }, inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( indexOf ) { - return indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; + return arr == null ? -1 : indexOf.call( arr, elem, i ); }, merge: function( first, second ) { @@ -452,16 +411,8 @@ jQuery.extend({ j = 0, i = first.length; - while ( j < len ) { - first[ i++ ] = second[ j++ ]; - } - - // Support: IE<9 - // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) - if ( len !== len ) { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; } first.length = i; @@ -490,14 +441,13 @@ jQuery.extend({ // arg is for internal usage only map: function( elems, callback, arg ) { - var value, + var length, value, i = 0, - length = elems.length, - isArray = isArraylike( elems ), ret = []; // Go through the array, translating each of the items to their new values - if ( isArray ) { + if ( isArrayLike( elems ) ) { + length = elems.length; for ( ; i < length; i++ ) { value = callback( elems[ i ], i, arg ); @@ -527,7 +477,7 @@ jQuery.extend({ // Bind a function to a context, optionally partially applying any // arguments. proxy: function( fn, context ) { - var args, proxy, tmp; + var tmp, args, proxy; if ( typeof context === "string" ) { tmp = fn[ context ]; @@ -553,45 +503,55 @@ jQuery.extend({ return proxy; }, - now: function() { - return +( new Date() ); - }, + now: Date.now, // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support -}); +} ); + +// JSHint would error on this code due to the Symbol not being defined in ES5. +// Defining this global in .jshintrc would create a danger of using the global +// unguarded in another place, it seems safer to just disable JSHint for these +// three lines. +/* jshint ignore: start */ +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} +/* jshint ignore: end */ // Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); +} ); + +function isArrayLike( obj ) { -function isArraylike( obj ) { - var length = obj.length, + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, type = jQuery.type( obj ); if ( type === "function" || jQuery.isWindow( obj ) ) { return false; } - if ( obj.nodeType === 1 && length ) { - return true; - } - return type === "array" || length === 0 || typeof length === "number" && length > 0 && ( length - 1 ) in obj; } var Sizzle = /*! - * Sizzle CSS Selector Engine v1.10.19 + * Sizzle CSS Selector Engine v2.2.1 * http://sizzlejs.com/ * - * Copyright 2013 jQuery Foundation, Inc. and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2014-04-18 + * Date: 2015-10-17 */ (function( window ) { @@ -618,7 +578,7 @@ var i, contains, // Instance-specific data - expando = "sizzle" + -(new Date()), + expando = "sizzle" + 1 * new Date(), preferredDoc = window.document, dirruns = 0, done = 0, @@ -633,7 +593,6 @@ var i, }, // General-purpose constants - strundefined = typeof undefined, MAX_NEGATIVE = 1 << 31, // Instance methods @@ -643,12 +602,13 @@ var i, push_native = arr.push, push = arr.push, slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { var i = 0, - len = this.length; + len = list.length; for ( ; i < len; i++ ) { - if ( this[i] === elem ) { + if ( list[i] === elem ) { return i; } } @@ -659,25 +619,21 @@ var i, // Regular expressions - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + // http://www.w3.org/TR/css3-selectors/#whitespace whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", - pseudos = ":(" + characterEncoding + ")(?:\\((" + + pseudos = ":(" + identifier + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + @@ -688,6 +644,7 @@ var i, ")\\)|)", // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), @@ -699,9 +656,9 @@ var i, ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + @@ -739,6 +696,14 @@ var i, String.fromCharCode( high + 0x10000 ) : // Supplemental Plane codepoint (surrogate pair) String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); }; // Optimize for push.apply( _, NodeList ) @@ -771,104 +736,129 @@ try { } function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; - context = context || document; results = results || []; - if ( !selector || typeof selector !== "string" ) { + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + return results; } - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { - if ( documentIsHTML && !seed ) { + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document (jQuery #6963) - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { return results; } + + // Element context } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } } - } - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } } - } - // QSA path - if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - nid = old = expando; - newContext = context; - newSelector = nodeType === 9 && selector; + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; } - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context; - newSelector = groups.join(","); - } - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } } } } @@ -881,7 +871,7 @@ function Sizzle( selector, context, results, seed ) { /** * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * @returns {function(string, object)} Returns the Object data after storing it on itself with * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) * deleting the oldest entry */ @@ -936,7 +926,7 @@ function assert( fn ) { */ function addHandle( attrs, handler ) { var arr = attrs.split("|"), - i = attrs.length; + i = arr.length; while ( i-- ) { Expr.attrHandle[ arr[i] ] = handler; @@ -1022,7 +1012,7 @@ function createPositionalPseudo( fn ) { * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value */ function testContext( context ) { - return context && typeof context.getElementsByTagName !== strundefined && context; + return context && typeof context.getElementsByTagName !== "undefined" && context; } // Expose support vars for convenience @@ -1046,36 +1036,29 @@ isXML = Sizzle.isXML = function( elem ) { * @returns {Object} Returns the current document */ setDocument = Sizzle.setDocument = function( node ) { - var hasCompare, - doc = node ? node.ownerDocument || node : preferredDoc, - parent = doc.defaultView; + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; - // If no document and documentElement is available, return + // Return early if doc is invalid or already selected if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } - // Set our document + // Update global variables document = doc; - docElem = doc.documentElement; - - // Support tests - documentIsHTML = !isXML( doc ); + docElem = document.documentElement; + documentIsHTML = !isXML( document ); - // Support: IE>8 - // If iframe document is assigned to "document" variable and if iframe has been reloaded, - // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936 - // IE6-8 do not support the defaultView property so parent will be undefined - if ( parent && parent !== parent.top ) { - // IE11 does not have attachEvent, so all must suffer + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 if ( parent.addEventListener ) { - parent.addEventListener( "unload", function() { - setDocument(); - }, false ); + parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only } else if ( parent.attachEvent ) { - parent.attachEvent( "onunload", function() { - setDocument(); - }); + parent.attachEvent( "onunload", unloadHandler ); } } @@ -1083,7 +1066,8 @@ setDocument = Sizzle.setDocument = function( node ) { ---------------------------------------------------------------------- */ // Support: IE<8 - // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans) + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) support.attributes = assert(function( div ) { div.className = "i"; return !div.getAttribute("className"); @@ -1094,21 +1078,12 @@ setDocument = Sizzle.setDocument = function( node ) { // Check if getElementsByTagName("*") returns only elements support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); + div.appendChild( document.createComment("") ); return !div.getElementsByTagName("*").length; }); - // Check if getElementsByClassName can be trusted - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) { - div.innerHTML = "
        "; - - // Support: Safari<4 - // Catch class over-caching - div.firstChild.className = "i"; - // Support: Opera<10 - // Catch gEBCN failure to find non-leading classes - return div.getElementsByClassName("i").length === 2; - }); + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); // Support: IE<10 // Check if getElementById returns elements by name @@ -1116,17 +1091,15 @@ setDocument = Sizzle.setDocument = function( node ) { // so use a roundabout getElementsByName test support.getById = assert(function( div ) { docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + return !document.getElementsByName || !document.getElementsByName( expando ).length; }); // ID find and filter if ( support.getById ) { Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && documentIsHTML ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [ m ] : []; + return m ? [ m ] : []; } }; Expr.filter["ID"] = function( id ) { @@ -1143,7 +1116,8 @@ setDocument = Sizzle.setDocument = function( node ) { Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); return node && node.value === attrId; }; }; @@ -1152,14 +1126,20 @@ setDocument = Sizzle.setDocument = function( node ) { // Tag Expr.find["TAG"] = support.getElementsByTagName ? function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); } } : + function( tag, context ) { var elem, tmp = [], i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too results = context.getElementsByTagName( tag ); // Filter out possible comments @@ -1177,7 +1157,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Class Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } }; @@ -1197,7 +1177,7 @@ setDocument = Sizzle.setDocument = function( node ) { // See http://bugs.jquery.com/ticket/13378 rbuggyQSA = []; - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { // Build QSA regex // Regex strategy adopted from Diego Perini assert(function( div ) { @@ -1206,13 +1186,15 @@ setDocument = Sizzle.setDocument = function( node ) { // setting a boolean content attribute, // since its presence should be enough // http://bugs.jquery.com/ticket/12359 - div.innerHTML = ""; + docElem.appendChild( div ).innerHTML = "
        " + + ""; // Support: IE8, Opera 11-12.16 // Nothing should be selected when empty strings follow ^= or $= or *= // The test attribute must be unknown in Opera but "safe" for WinRT // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( div.querySelectorAll("[msallowclip^='']").length ) { + if ( div.querySelectorAll("[msallowcapture^='']").length ) { rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); } @@ -1222,18 +1204,30 @@ setDocument = Sizzle.setDocument = function( node ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + // Webkit/Opera - :checked should return selected option elements // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked // IE8 throws error here and will not see later tests if ( !div.querySelectorAll(":checked").length ) { rbuggyQSA.push(":checked"); } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } }); assert(function( div ) { // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); + var input = document.createElement("input"); input.setAttribute( "type", "hidden" ); div.appendChild( input ).setAttribute( "name", "D" ); @@ -1281,7 +1275,7 @@ setDocument = Sizzle.setDocument = function( node ) { hasCompare = rnative.test( docElem.compareDocumentPosition ); // Element contains another - // Purposefully does not implement inclusive descendent + // Purposefully self-exclusive // As in, an element does not contain itself contains = hasCompare || rnative.test( docElem.contains ) ? function( a, b ) { @@ -1335,16 +1329,16 @@ setDocument = Sizzle.setDocument = function( node ) { (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { // Choose the first element that is related to our preferred document - if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { return -1; } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { return 1; } // Maintain original order return sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 0; } @@ -1366,12 +1360,12 @@ setDocument = Sizzle.setDocument = function( node ) { // Parentless nodes are either documents or disconnected if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : + return a === document ? -1 : + b === document ? 1 : aup ? -1 : bup ? 1 : sortInput ? - ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : 0; // If the nodes are siblings, we can do a quick check @@ -1404,7 +1398,7 @@ setDocument = Sizzle.setDocument = function( node ) { 0; }; - return doc; + return document; }; Sizzle.matches = function( expr, elements ) { @@ -1421,6 +1415,7 @@ Sizzle.matchesSelector = function( elem, expr ) { expr = expr.replace( rattributeQuotes, "='$1']" ); if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { @@ -1434,7 +1429,7 @@ Sizzle.matchesSelector = function( elem, expr ) { elem.document && elem.document.nodeType !== 11 ) { return ret; } - } catch(e) {} + } catch (e) {} } return Sizzle( expr, document, null, [ elem ] ).length > 0; @@ -1653,7 +1648,7 @@ Expr = Sizzle.selectors = { return pattern || (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" ); + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); }); }, @@ -1675,7 +1670,7 @@ Expr = Sizzle.selectors = { operator === "^=" ? check && result.indexOf( check ) === 0 : operator === "*=" ? check && result.indexOf( check ) > -1 : operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : false; }; @@ -1694,11 +1689,12 @@ Expr = Sizzle.selectors = { } : function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, + var cache, uniqueCache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; + useCache = !xml && !ofType, + diff = false; if ( parent ) { @@ -1707,7 +1703,10 @@ Expr = Sizzle.selectors = { while ( dir ) { node = elem; while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + return false; } } @@ -1721,11 +1720,21 @@ Expr = Sizzle.selectors = { // non-xml :nth-child(...) stores cache data on `parent` if ( forward && useCache ) { + // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; while ( (node = ++nodeIndex && node && node[ dir ] || @@ -1735,29 +1744,55 @@ Expr = Sizzle.selectors = { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; break; } } - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } - if ( node === elem ) { - break; + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } } } } @@ -1795,7 +1830,7 @@ Expr = Sizzle.selectors = { matched = fn( seed, argument ), i = matched.length; while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); + idx = indexOf( seed, matched[i] ); seed[ idx ] = !( matches[ idx ] = matched[i] ); } }) : @@ -1834,6 +1869,8 @@ Expr = Sizzle.selectors = { function( elem, context, xml ) { input[0] = elem; matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; return !results.pop(); }; }), @@ -1845,6 +1882,7 @@ Expr = Sizzle.selectors = { }), "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); return function( elem ) { return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; }; @@ -2116,10 +2154,10 @@ function addCombinator( matcher, combinator, base ) { // Check against all ancestor/preceding elements function( elem, context, xml ) { - var oldCache, outerCache, + var oldCache, uniqueCache, outerCache, newCache = [ dirruns, doneName ]; - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { @@ -2132,14 +2170,19 @@ function addCombinator( matcher, combinator, base ) { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ dir ]) && oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { // Assign to newCache so results back-propagate to previous elements return (newCache[ 2 ] = oldCache[ 2 ]); } else { // Reuse newcache so results back-propagate to previous elements - outerCache[ dir ] = newCache; + uniqueCache[ dir ] = newCache; // A match means we're done; a fail means we have to keep checking if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { @@ -2266,7 +2309,7 @@ function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postS i = matcherOut.length; while ( i-- ) { if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { seed[temp] = !(results[temp] = elem); } @@ -2301,13 +2344,16 @@ function matcherFromTokens( tokens ) { return elem === checkContext; }, implicitRelative, true ), matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; + return indexOf( checkContext, elem ) > -1; }, implicitRelative, true ), matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( (checkContext = context).nodeType ? matchContext( elem, context, xml ) : matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; } ]; for ( ; i < len; i++ ) { @@ -2361,18 +2407,21 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { len = elems.length; if ( outermost ) { - outermostContext = context !== document && context; + outermostContext = context === document || context || outermost; } // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below // Support: IE<9, Safari // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id for ( ; i !== len && (elem = elems[i]) != null; i++ ) { if ( byElement && elem ) { j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { + if ( matcher( elem, context || document, xml) ) { results.push( elem ); break; } @@ -2396,8 +2445,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { } } - // Apply set filters to unmatched elements + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; while ( (matcher = setMatchers[j++]) ) { @@ -2489,10 +2547,11 @@ select = Sizzle.select = function( selector, context, results, seed ) { results = results || []; - // Try to minimize operations if there is no seed and only one group + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) if ( match.length === 1 ) { - // Take a shortcut and set the context if the root selector is an ID + // Reduce context if the leading compound selector is an ID tokens = match[0] = match[0].slice( 0 ); if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && support.getById && context.nodeType === 9 && documentIsHTML && @@ -2547,7 +2606,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { context, !documentIsHTML, results, - rsibling.test( selector ) && testContext( context.parentNode ) || context + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context ); return results; }; @@ -2557,7 +2616,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { // Sort stability support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; -// Support: Chrome<14 +// Support: Chrome 14-35+ // Always assume duplicates if they aren't passed to the comparison function support.detectDuplicates = !!hasDuplicate; @@ -2623,17 +2682,46 @@ return Sizzle; jQuery.find = Sizzle; jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; jQuery.text = Sizzle.getText; jQuery.isXMLDoc = Sizzle.isXML; jQuery.contains = Sizzle.contains; +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + var rneedsContext = jQuery.expr.match.needsContext; -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); +var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); @@ -2645,14 +2733,14 @@ function winnow( elements, qualifier, not ) { return jQuery.grep( elements, function( elem, i ) { /* jshint -W018 */ return !!qualifier.call( elem, i, elem ) !== not; - }); + } ); } if ( qualifier.nodeType ) { return jQuery.grep( elements, function( elem ) { return ( elem === qualifier ) !== not; - }); + } ); } @@ -2665,8 +2753,8 @@ function winnow( elements, qualifier, not ) { } return jQuery.grep( elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) !== not; - }); + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); } jQuery.filter = function( expr, elems, not ) { @@ -2680,24 +2768,24 @@ jQuery.filter = function( expr, elems, not ) { jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; - })); + } ) ); }; -jQuery.fn.extend({ +jQuery.fn.extend( { find: function( selector ) { var i, + len = this.length, ret = [], - self = this, - len = self.length; + self = this; if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { + return this.pushStack( jQuery( selector ).filter( function() { for ( i = 0; i < len; i++ ) { if ( jQuery.contains( self[ i ], this ) ) { return true; } } - }) ); + } ) ); } for ( i = 0; i < len; i++ ) { @@ -2710,10 +2798,10 @@ jQuery.fn.extend({ return ret; }, filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); + return this.pushStack( winnow( this, selector || [], false ) ); }, not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); + return this.pushStack( winnow( this, selector || [], true ) ); }, is: function( selector ) { return !!winnow( @@ -2727,7 +2815,7 @@ jQuery.fn.extend({ false ).length; } -}); +} ); // Initialize a jQuery object @@ -2736,15 +2824,12 @@ jQuery.fn.extend({ // A central reference to the root jQuery(document) var rootjQuery, - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - // A simple way to check for HTML strings // Prioritize #id over to avoid XSS via location.hash (#9521) // Strict HTML recognition (#11290: must start with <) rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - init = jQuery.fn.init = function( selector, context ) { + init = jQuery.fn.init = function( selector, context, root ) { var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) @@ -2752,9 +2837,16 @@ var rootjQuery, return this; } + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + // Handle HTML strings if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check match = [ null, selector, null ]; @@ -2763,23 +2855,24 @@ var rootjQuery, } // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { + if ( match && ( match[ 1 ] || !context ) ) { // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; - // scripts is true for back-compat + // Option to run scripts is true for back-compat // Intentionally let the error be thrown if parseHTML is not present jQuery.merge( this, jQuery.parseHTML( - match[1], + match[ 1 ], context && context.nodeType ? context.ownerDocument || context : document, true ) ); // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { for ( match in context ) { + // Properties of context are called as methods if possible if ( jQuery.isFunction( this[ match ] ) ) { this[ match ]( context[ match ] ); @@ -2795,20 +2888,15 @@ var rootjQuery, // HANDLE: $(#id) } else { - elem = document.getElementById( match[2] ); + elem = document.getElementById( match[ 2 ] ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 + // Support: Blackberry 4.6 + // gEBID returns nodes no longer in the document (#6963) if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - // Otherwise, we inject the element directly into the jQuery object + // Inject the element directly into the jQuery object this.length = 1; - this[0] = elem; + this[ 0 ] = elem; } this.context = document; @@ -2818,7 +2906,7 @@ var rootjQuery, // HANDLE: $(expr, $(...)) } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); + return ( context || root ).find( selector ); // HANDLE: $(expr, context) // (which is just equivalent to: $(context).find(expr) @@ -2828,15 +2916,16 @@ var rootjQuery, // HANDLE: $(DOMElement) } else if ( selector.nodeType ) { - this.context = this[0] = selector; + this.context = this[ 0 ] = selector; this.length = 1; return this; // HANDLE: $(function) // Shortcut for document ready } else if ( jQuery.isFunction( selector ) ) { - return typeof rootjQuery.ready !== "undefined" ? - rootjQuery.ready( selector ) : + return root.ready !== undefined ? + root.ready( selector ) : + // Execute immediately if ready is not present selector( jQuery ); } @@ -2857,7 +2946,8 @@ rootjQuery = jQuery( document ); var rparentsprev = /^(?:parents|prev(?:Until|All))/, - // methods guaranteed to produce a unique set when starting from a unique set + + // Methods guaranteed to produce a unique set when starting from a unique set guaranteedUnique = { children: true, contents: true, @@ -2865,46 +2955,19 @@ var rparentsprev = /^(?:parents|prev(?:Until|All))/, prev: true }; -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -jQuery.fn.extend({ +jQuery.fn.extend( { has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; + var targets = jQuery( target, this ), + l = targets.length; - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { return true; } } - }); + } ); }, closest: function( selectors, context ) { @@ -2917,14 +2980,15 @@ jQuery.fn.extend({ 0; for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : // Don't pass non-elements to Sizzle cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { + jQuery.find.matchesSelector( cur, selectors ) ) ) { matched.push( cur ); break; @@ -2932,32 +2996,33 @@ jQuery.fn.extend({ } } - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); }, - // Determine the position of an element within - // the matched set of elements + // Determine the position of an element within the set index: function( elem ) { // No argument, return index in parent if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; } - // index in selector + // Index in selector if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); + return indexOf.call( jQuery( elem ), this[ 0 ] ); } // Locate the position of the desired element - return jQuery.inArray( + return indexOf.call( this, + // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); + elem.jquery ? elem[ 0 ] : elem + ); }, add: function( selector, context ) { return this.pushStack( - jQuery.unique( + jQuery.uniqueSort( jQuery.merge( this.get(), jQuery( selector, context ) ) ) ); @@ -2965,29 +3030,26 @@ jQuery.fn.extend({ addBack: function( selector ) { return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) + this.prevObject : this.prevObject.filter( selector ) ); } -}); +} ); function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} return cur; } -jQuery.each({ +jQuery.each( { parent: function( elem ) { var parent = elem.parentNode; return parent && parent.nodeType !== 11 ? parent : null; }, parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); + return dir( elem, "parentNode" ); }, parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); + return dir( elem, "parentNode", until ); }, next: function( elem ) { return sibling( elem, "nextSibling" ); @@ -2996,68 +3058,64 @@ jQuery.each({ return sibling( elem, "previousSibling" ); }, nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); + return dir( elem, "nextSibling" ); }, prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); + return dir( elem, "previousSibling" ); }, nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); + return dir( elem, "nextSibling", until ); }, prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); + return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + return siblings( ( elem.parentNode || {} ).firstChild, elem ); }, children: function( elem ) { - return jQuery.sibling( elem.firstChild ); + return siblings( elem.firstChild ); }, contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); + return elem.contentDocument || jQuery.merge( [], elem.childNodes ); } }, function( name, fn ) { jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); + var matched = jQuery.map( this, fn, until ); if ( name.slice( -5 ) !== "Until" ) { selector = until; } if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); + matched = jQuery.filter( selector, matched ); } if ( this.length > 1 ) { + // Remove duplicates if ( !guaranteedUnique[ name ] ) { - ret = jQuery.unique( ret ); + jQuery.uniqueSort( matched ); } // Reverse order for parents* and prev-derivatives if ( rparentsprev.test( name ) ) { - ret = ret.reverse(); + matched.reverse(); } } - return this.pushStack( ret ); + return this.pushStack( matched ); }; -}); -var rnotwhite = (/\S+/g); - +} ); +var rnotwhite = ( /\S+/g ); -// String to Object options format cache -var optionsCache = {}; -// Convert String-formatted options into Object-formatted ones and store in cache +// Convert String-formatted options into Object-formatted ones function createOptions( options ) { - var object = optionsCache[ options ] = {}; + var object = {}; jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { object[ flag ] = true; - }); + } ); return object; } @@ -3088,156 +3146,186 @@ jQuery.Callbacks = function( options ) { // Convert options from String-formatted to Object-formatted if needed // (we check in cache first) options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : + createOptions( options ) : jQuery.extend( {}, options ); var // Flag to know if list is currently firing firing, - // Last fire value (for non-forgettable lists) + + // Last fire value for non-forgettable lists memory, + // Flag to know if list was already fired fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, + + // Flag to prevent firing + locked, + // Actual callback list list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } } } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { list = []; + + // Otherwise, this object is spent } else { - self.disable(); + list = ""; } } }, + // Actual Callbacks object self = { + // Add a callback or a collection of callbacks to the list add: function() { if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { + if ( jQuery.isFunction( arg ) ) { if ( !options.unique || !self.has( arg ) ) { list.push( arg ); } - } else if ( arg && arg.length && type !== "string" ) { + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + // Inspect recursively add( arg ); } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); } } return this; }, + // Remove a callback from the list remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; } - }); - } + } + } ); return this; }, + // Check if a given callback is in the list. // If no argument is given, return whether or not list has callbacks attached. has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; }, + // Remove all callbacks from the list empty: function() { - list = []; - firingLength = 0; + if ( list ) { + list = []; + } return this; }, - // Have the list do nothing anymore + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values disable: function() { - list = stack = memory = undefined; + locked = queue = []; + list = memory = ""; return this; }, - // Is it disabled? disabled: function() { return !list; }, - // Lock the list in its current state + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions lock: function() { - stack = undefined; + locked = queue = []; if ( !memory ) { - self.disable(); + list = memory = ""; } return this; }, - // Is it locked? locked: function() { - return !stack; + return !!locked; }, + // Call all callbacks with the given context and arguments fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { + if ( !locked ) { args = args || []; args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); + queue.push( args ); + if ( !firing ) { + fire(); } } return this; }, + // Call all the callbacks with the given arguments fire: function() { self.fireWith( this, arguments ); return this; }, + // To know if the callbacks have already been called at least once fired: function() { return !!fired; @@ -3248,14 +3336,15 @@ jQuery.Callbacks = function( options ) { }; -jQuery.extend({ +jQuery.extend( { Deferred: function( func ) { var tuples = [ + // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] ], state = "pending", promise = { @@ -3268,25 +3357,30 @@ jQuery.extend({ }, then: function( /* fnDone, fnFail, fnProgress */ ) { var fns = arguments; - return jQuery.Deferred(function( newDefer ) { + return jQuery.Deferred( function( newDefer ) { jQuery.each( tuples, function( i, tuple ) { var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { + deferred[ tuple[ 1 ] ]( function() { var returned = fn && fn.apply( this, arguments ); if ( returned && jQuery.isFunction( returned.promise ) ) { returned.promise() + .progress( newDefer.notify ) .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); + .fail( newDefer.reject ); } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); } - }); - }); + } ); + } ); fns = null; - }).promise(); + } ).promise(); }, + // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object promise: function( obj ) { @@ -3304,11 +3398,12 @@ jQuery.extend({ stateString = tuple[ 3 ]; // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; + promise[ tuple[ 1 ] ] = list.add; // Handle state if ( stateString ) { - list.add(function() { + list.add( function() { + // state = [ resolved | rejected ] state = stateString; @@ -3317,12 +3412,12 @@ jQuery.extend({ } // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); return this; }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); // Make the deferred a promise promise.promise( deferred ); @@ -3343,9 +3438,11 @@ jQuery.extend({ length = resolveValues.length, // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + // the master Deferred. + // If resolveValues consist of only a single Deferred, just use that. deferred = remaining === 1 ? subordinate : jQuery.Deferred(), // Update function for both resolve and progress values @@ -3355,8 +3452,7 @@ jQuery.extend({ values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; if ( values === progressValues ) { deferred.notifyWith( contexts, values ); - - } else if ( !(--remaining) ) { + } else if ( !( --remaining ) ) { deferred.resolveWith( contexts, values ); } }; @@ -3364,7 +3460,7 @@ jQuery.extend({ progressValues, progressContexts, resolveContexts; - // add listeners to Deferred subordinates; treat others as resolved + // Add listeners to Deferred subordinates; treat others as resolved if ( length > 1 ) { progressValues = new Array( length ); progressContexts = new Array( length ); @@ -3372,36 +3468,38 @@ jQuery.extend({ for ( ; i < length; i++ ) { if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); + .fail( deferred.reject ); } else { --remaining; } } } - // if we're not waiting on anything, resolve the master + // If we're not waiting on anything, resolve the master if ( !remaining ) { deferred.resolveWith( resolveContexts, resolveValues ); } return deferred.promise(); } -}); +} ); // The deferred used on DOM ready var readyList; jQuery.fn.ready = function( fn ) { + // Add the callback jQuery.ready.promise().done( fn ); return this; }; -jQuery.extend({ +jQuery.extend( { + // Is the DOM ready to be used? Set to true once it occurs. isReady: false, @@ -3426,11 +3524,6 @@ jQuery.extend({ return; } - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - // Remember that the DOM is ready jQuery.isReady = true; @@ -3448,31 +3541,15 @@ jQuery.extend({ jQuery( document ).off( "ready" ); } } -}); - -/** - * Clean-up method for dom ready events - */ -function detach() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } -} +} ); /** * The ready event handler and self cleanup method */ function completed() { - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); } jQuery.ready.promise = function( obj ) { @@ -3480,433 +3557,382 @@ jQuery.ready.promise = function( obj ) { readyList = jQuery.Deferred(); - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE9-10 only + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); - // If IE event model is used } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); - // and execute any waiting functions - jQuery.ready(); - } - })(); - } + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); } } return readyList.promise( obj ); }; +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); -var strundefined = typeof undefined; -// Support: IE<9 -// Iteration over object's inherited properties before its own -var i; -for ( i in jQuery( support ) ) { - break; -} -support.ownLast = i !== "0"; - -// Note: most support tests are defined in their respective modules. -// false until the test is run -support.inlineBlockNeedsLayout = false; - -// Execute ASAP in case we need to set body.style.zoom -jQuery(function() { - // Minified: var a,b,c,d - var val, div, body, container; - - body = document.getElementsByTagName( "body" )[ 0 ]; - if ( !body || !body.style ) { - // Return for frameset docs that don't have a body - return; - } - - // Setup - div = document.createElement( "div" ); - container = document.createElement( "div" ); - container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; - body.appendChild( container ).appendChild( div ); - - if ( typeof div.style.zoom !== strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; - support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; - if ( val ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); } - } - body.removeChild( container ); -}); + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; -(function() { - var div = document.createElement( "div" ); + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } } } - // Null elements to avoid leaks in IE. - div = null; -})(); - - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( elem ) { - var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ], - nodeType = +elem.nodeType || 1; - - // Do not set data on non-element DOM nodes because it will not be cleared (#8335). - return nodeType !== 1 && nodeType !== 9 ? - false : + return chainable ? + elems : - // Nodes accept data unless otherwise specified; rejection can be conditional - !noData || noData !== true && elem.getAttribute("classid") === noData; + // Gets + bulk ? + fn.call( elems ) : + len ? fn( elems[ 0 ], key ) : emptyGet; +}; +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + /* jshint -W018 */ + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); }; -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); +function Data() { + this.expando = jQuery.expando + Data.uid++; +} - data = elem.getAttribute( name ); +Data.uid = 1; - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} +Data.prototype = { - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); + register: function( owner, initial ) { + var value = initial || {}; + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable, non-writable property + // configurability must be true to allow the property to be + // deleted with the delete operator } else { - data = undefined; + Object.defineProperty( owner, this.expando, { + value: value, + writable: true, + configurable: true + } ); } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { + return owner[ this.expando ]; + }, + cache: function( owner ) { - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( !acceptData( owner ) ) { + return {}; } - } - - return true; -} -function internalData( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var ret, thisCache, - internalKey = jQuery.expando, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, + // Check if the owner object already has a cache + var value = owner[ this.expando ]; - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, + // If not, create one + if ( !value ) { + value = {}; - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) { - return; - } + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } } - } - if ( !cache[ id ] ) { - // Avoid exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; - } + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } + // Handle: [ owner, key, value ] args + if ( typeof data === "string" ) { + cache[ data ] = value; - thisCache = cache[ id ]; + // Handle: [ owner, { properties } ] args + } else { - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ prop ] = data[ prop ]; + } } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + owner[ this.expando ] && owner[ this.expando ][ key ]; + }, + access: function( owner, key, value ) { + var stored; - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( typeof name === "string" ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { - // Test for null|undefined property data - if ( ret == null ) { + stored = this.get( owner, key ); - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; + return stored !== undefined ? + stored : this.get( owner, jQuery.camelCase( key ) ); } - } else { - ret = thisCache; - } - - return ret; -} -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, i, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, name, camel, + cache = owner[ this.expando ]; - thisCache = pvt ? cache[ id ] : cache[ id ].data; + if ( cache === undefined ) { + return; + } - if ( thisCache ) { + if ( key === undefined ) { + this.register( owner ); - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { + } else { - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { + // Support array or space separated string of keys + if ( jQuery.isArray( key ) ) { - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { // If "name" is an array of keys... // When data is initially created, via ("key", "val") signature, // keys will be converted to camelCase. // Since there is no way to tell _how_ a key was added, remove // both plain key and camelCase key. #12786 // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + name = key.concat( key.map( jQuery.camelCase ) ); + } else { + camel = jQuery.camelCase( key ); + + // Try the string as a key before any manipulation + if ( key in cache ) { + name = [ key, camel ]; + } else { + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + name = camel; + name = name in cache ? + [ name ] : ( name.match( rnotwhite ) || [] ); + } } i = name.length; + while ( i-- ) { - delete thisCache[ name[i] ]; + delete cache[ name[ i ] ]; } + } - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) { - return; + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <= 35-45+ + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; } } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); } +}; +var dataPriv = new Data(); - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; +var dataUser = new Data(); - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - /* jshint eqeqeq: false */ - } else if ( support.deleteExpando || cache != cache.window ) { - /* jshint eqeqeq: true */ - delete cache[ id ]; +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - // When all else fails, null - } else { - cache[ id ] = null; - } -} +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; -jQuery.extend({ - cache: {}, +function dataAttr( elem, key, data ) { + var name; - // The following elements (space-suffixed to avoid Object.prototype collisions) - // throw uncatchable exceptions if you attempt to set expando properties - noData: { - "applet ": true, - "embed ": true, - // ...but Flash objects (which have this classid) *can* handle expandos - "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - }, + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} +jQuery.extend( { hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); }, data: function( elem, name, data ) { - return internalData( elem, name, data ); + return dataUser.access( elem, name, data ); }, removeData: function( elem, name ) { - return internalRemoveData( elem, name ); + dataUser.remove( elem, name ); }, - // For internal use only. + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); + return dataPriv.access( elem, name, data ); }, _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); + dataPriv.remove( elem, name ); } -}); +} ); -jQuery.fn.extend({ +jQuery.fn.extend( { data: function( key, value ) { var i, name, data, - elem = this[0], + elem = this[ 0 ], attrs = elem && elem.attributes; - // Special expections of .data basically thwart jQuery.access, - // so implement the relevant behavior ourselves - // Gets all values if ( key === undefined ) { if ( this.length ) { - data = jQuery.data( elem ); + data = dataUser.get( elem ); - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { i = attrs.length; while ( i-- ) { @@ -3915,12 +3941,12 @@ jQuery.fn.extend({ if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); + name = jQuery.camelCase( name.slice( 5 ) ); dataAttr( elem, name, data[ name ] ); } } } - jQuery._data( elem, "parsedAttrs", true ); + dataPriv.set( elem, "hasDataAttrs", true ); } } @@ -3929,43 +3955,96 @@ jQuery.fn.extend({ // Sets multiple values if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); + return this.each( function() { + dataUser.set( this, key ); + } ); } - return arguments.length > 1 ? + return access( this, function( value ) { + var data, camelKey; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // with the key as-is + data = dataUser.get( elem, key ) || + + // Try to find dashed key if it exists (gh-2779) + // This is for 2.2.x only + dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); - // Sets one value - this.each(function() { - jQuery.data( this, key, value ); - }) : + if ( data !== undefined ) { + return data; + } + + camelKey = jQuery.camelCase( key ); + + // Attempt to get data from the cache + // with the key camelized + data = dataUser.get( elem, camelKey ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, camelKey, undefined ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + camelKey = jQuery.camelCase( key ); + this.each( function() { + + // First, attempt to store a copy or reference of any + // data that might've been store with a camelCased key. + var data = dataUser.get( this, camelKey ); + + // For HTML5 data-* attribute interop, we have to + // store property names with dashes in a camelCase form. + // This might not apply to all properties...* + dataUser.set( this, camelKey, value ); - // Gets one value - // Try to fetch any internally stored data first - elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; + // *... In the case of properties that might _actually_ + // have dashes, we need to also store a copy of that + // unchanged property. + if ( key.indexOf( "-" ) > -1 && data !== undefined ) { + dataUser.set( this, key, value ); + } + } ); + }, null, value, arguments.length > 1, null, true ); }, removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); + return this.each( function() { + dataUser.remove( this, key ); + } ); } -}); +} ); -jQuery.extend({ +jQuery.extend( { queue: function( elem, type, data ) { var queue; if ( elem ) { type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); + queue = dataPriv.get( elem, type ); // Speed up dequeue by getting out quickly if this is just a lookup if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + if ( !queue || jQuery.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); } else { queue.push( data ); } @@ -3999,7 +4078,7 @@ jQuery.extend({ queue.unshift( "inprogress" ); } - // clear up the last queue stop function + // Clear up the last queue stop function delete hooks.stop; fn.call( elem, next, hooks ); } @@ -4009,19 +4088,18 @@ jQuery.extend({ } }, - // not intended for public consumption - generates a queueHooks object, or returns the current one + // Not public - generate a queueHooks object, or return the current one _queueHooks: function( elem, type ) { var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); } -}); +} ); -jQuery.fn.extend({ +jQuery.fn.extend( { queue: function( type, data ) { var setter = 2; @@ -4032,30 +4110,31 @@ jQuery.fn.extend({ } if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); + return jQuery.queue( this[ 0 ], type ); } return data === undefined ? this : - this.each(function() { + this.each( function() { var queue = jQuery.queue( this, type, data ); - // ensure a hooks for this queue + // Ensure a hooks for this queue jQuery._queueHooks( this, type ); - if ( type === "fx" && queue[0] !== "inprogress" ) { + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { jQuery.dequeue( this, type ); } - }); + } ); }, dequeue: function( type ) { - return this.each(function() { + return this.each( function() { jQuery.dequeue( this, type ); - }); + } ); }, clearQueue: function( type ) { return this.queue( type || "fx", [] ); }, + // Get a promise resolved when queues of a certain type // are emptied (fx is the type by default) promise: function( type, obj ) { @@ -4077,7 +4156,7 @@ jQuery.fn.extend({ type = type || "fx"; while ( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); if ( tmp && tmp.empty ) { count++; tmp.empty.add( resolve ); @@ -4086,171 +4165,267 @@ jQuery.fn.extend({ resolve(); return defer.promise( obj ); } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; var isHidden = function( elem, el ) { + // isHidden might be called from jQuery#filter function; // in that case, element will be second argument elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); }; -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); - // Sets one value - } else if ( value !== undefined ) { - chainable = true; + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - if ( !jQuery.isFunction( value ) ) { - raw = true; - } + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; + // Make sure we update the tween properties later on + valueParts = valueParts || []; - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; } } + return adjusted; +} +var rcheckableType = ( /^(?:checkbox|radio)$/i ); - return chainable ? - elems : +var rtagName = ( /<([\w:-]+)/ ); - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; -}; -var rcheckableType = (/^(?:checkbox|radio)$/i); +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); -(function() { - // Minified: var a,b,c - var input = document.createElement( "input" ), - div = document.createElement( "div" ), - fragment = document.createDocumentFragment(); +// We have to close these tags to support XHTML (#13200) +var wrapMap = { - // Setup - div.innerHTML = "
        a"; + // Support: IE9 + option: [ 1, "" ], - // IE strips leading whitespace when .innerHTML is used - support.leadingWhitespace = div.firstChild.nodeType === 3; + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
        " ], + col: [ 2, "", "
        " ], + tr: [ 2, "", "
        " ], + td: [ 3, "", "
        " ], - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - support.tbody = !div.getElementsByTagName( "tbody" ).length; + _default: [ 0, "", "" ] +}; - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; +// Support: IE9 +wrapMap.optgroup = wrapMap.option; - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - support.html5Clone = - document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>"; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - input.type = "checkbox"; - input.checked = true; - fragment.appendChild( input ); - support.appendChecked = input.checked; - // Make sure textarea (and checkbox) defaultValue is properly cloned - // Support: IE6-IE11+ - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +function getAll( context, tag ) { - // #11217 - WebKit loses check when the name is after the checked attribute - fragment.appendChild( div ); - div.innerHTML = ""; + // Support: IE9-11+ + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; - // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 - // old WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - support.noCloneEvent = true; - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - div.cloneNode( true ).click(); +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); } +} - // Execute the test only if not already executed in another module. - if (support.deleteExpando == null) { - // Support: IE<9 - support.deleteExpando = true; - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } } } -})(); + // Remove wrapper from fragment + fragment.textContent = ""; -(function() { - var i, eventName, - div = document.createElement( "div" ); + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { - // Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event) - for ( i in { submit: true, change: true, focusin: true }) { - eventName = "on" + i; + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } - if ( !(support[ i + "Bubbles" ] = eventName in window) ) { - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) - div.setAttribute( eventName, "t" ); - support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false; + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } } } - // Null elements to avoid leaks in IE. - div = null; -})(); + return fragment; +} + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0-4.3, Safari<=5.1 + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari<=5.1, Android<4.2 + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<=11+ + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; +} )(); -var rformElems = /^(?:input|select|textarea)$/i, +var rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; function returnTrue() { return true; @@ -4260,12 +4435,75 @@ function returnFalse() { return false; } +// Support: IE9 +// See #13393 for more info function safeActiveElement() { try { return document.activeElement; } catch ( err ) { } } +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + /* * Helper functions for managing events -- not part of the public interface. * Props to Dean Edwards' addEvent library for many of the ideas. @@ -4275,10 +4513,11 @@ jQuery.event = { global: {}, add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); // Don't attach events to noData or text/comment nodes (but allow plain objects) if ( !elemData ) { @@ -4298,28 +4537,26 @@ jQuery.event = { } // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { + if ( !( events = elemData.events ) ) { events = elemData.events = {}; } - if ( !(eventHandle = elemData.handle) ) { + if ( !( eventHandle = elemData.handle ) ) { eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and // when an event is called after a page has unloaded - return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; } // Handle multiple events separated by a space types = ( types || "" ).match( rnotwhite ) || [ "" ]; t = types.length; while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); // There *must* be a type, no attaching namespace-only handlers if ( !type ) { @@ -4336,7 +4573,7 @@ jQuery.event = { special = jQuery.event.special[ type ] || {}; // handleObj is passed to all event handlers - handleObj = jQuery.extend({ + handleObj = jQuery.extend( { type: type, origType: origType, data: data, @@ -4344,22 +4581,20 @@ jQuery.event = { guid: handler.guid, selector: selector, needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") + namespace: namespaces.join( "." ) }, handleObjIn ); // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { + if ( !( handlers = events[ type ] ) ) { handlers = events[ type ] = []; handlers.delegateCount = 0; - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); } } } @@ -4383,19 +4618,17 @@ jQuery.event = { jQuery.event.global[ type ] = true; } - // Nullify elem to prevent memory leaks in IE - elem = null; }, // Detach an event or set of events from an element remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - if ( !elemData || !(events = elemData.events) ) { + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { return; } @@ -4403,9 +4636,9 @@ jQuery.event = { types = ( types || "" ).match( rnotwhite ) || [ "" ]; t = types.length; while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); // Unbind all events (on this namespace, if provided) for the element if ( !type ) { @@ -4418,7 +4651,8 @@ jQuery.event = { special = jQuery.event.special[ type ] || {}; type = ( selector ? special.delegateType : special.bindType ) || type; handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); // Remove matching events origCount = j = handlers.length; @@ -4428,7 +4662,8 @@ jQuery.event = { if ( ( mappedTypes || origType === handleObj.origType ) && ( !handler || handler.guid === handleObj.guid ) && ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { handlers.splice( j, 1 ); if ( handleObj.selector ) { @@ -4443,7 +4678,9 @@ jQuery.event = { // Remove generic event handler if we removed something and no more handlers exist // (avoids potential for endless recursion during removal of special event handlers) if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); } @@ -4451,231 +4688,92 @@ jQuery.event = { } } - // Remove the expando if it's no longer used + // Remove data and the expando if it's no longer used if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); + dataPriv.remove( elem, "handle events" ); } }, - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); + dispatch: function( event ) { - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { return; } - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { - event.type = i > 1 ? - bubbleType : - special.bindType || type; + event.handleObj = handleObj; + event.data = handleObj.data; - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && jQuery.acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } } } } - event.type = type; - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } - if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) && - jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) - .apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, + return event.result; + }, handlers: function( event, handlers ) { - var sel, handleObj, matches, i, + var i, matches, sel, handleObj, handlerQueue = [], delegateCount = handlers.delegateCount, cur = event.target; + // Support (at least): Chrome, IE9 // Find delegate handlers // Black-hole SVG instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { - /* jshint eqeqeq: false */ - for ( ; cur != this; cur = cur.parentNode || this ) { - /* jshint eqeqeq: true */ + for ( ; cur !== this; cur = cur.parentNode || this ) { // Don't check non-elements (#13208) // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { matches = []; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; @@ -4685,7 +4783,7 @@ jQuery.event = { if ( matches[ sel ] === undefined ) { matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : + jQuery( sel, this ).index( cur ) > -1 : jQuery.find( sel, this, null, [ cur ] ).length; } if ( matches[ sel ] ) { @@ -4693,7 +4791,7 @@ jQuery.event = { } } if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); + handlerQueue.push( { elem: cur, handlers: matches } ); } } } @@ -4701,12 +4799,62 @@ jQuery.event = { // Add the remaining (directly-bound) handlers if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); } return handlerQueue; }, + // Includes some event props shared by KeyEvent and MouseEvent + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split( " " ), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + + "screenX screenY toElement" ).split( " " ), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + fix: function( event ) { if ( event[ jQuery.expando ] ) { return event; @@ -4734,92 +4882,34 @@ jQuery.event = { event[ prop ] = originalEvent[ prop ]; } - // Support: IE<9 - // Fix target property (#1925) + // Support: Cordova 2.5 (WebKit) (#13255) + // All events should have a target; Cordova deviceready doesn't if ( !event.target ) { - event.target = originalEvent.srcElement || document; + event.target = document; } - // Support: Chrome 23+, Safari? + // Support: Safari 6.0+, Chrome<28 // Target should not be a text node (#504, #13143) if ( event.target.nodeType === 3 ) { event.target = event.target.parentNode; } - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; }, - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - special: { load: { + // Prevent triggered image.load events from bubbling to window.load noBubble: true }, focus: { + // Fire native event if possible so blur/focus sequence is correct trigger: function() { if ( this !== safeActiveElement() && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } + this.focus(); + return false; } }, delegateType: "focusin" @@ -4834,9 +4924,10 @@ jQuery.event = { delegateType: "focusout" }, click: { + // For checkbox, fire native event so checked state will be right trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { this.click(); return false; } @@ -4858,56 +4949,21 @@ jQuery.event = { } } } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } } }; -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === strundefined ) { - elem[ name ] = null; - } +jQuery.removeEvent = function( elem, type, handle ) { - elem.detachEvent( name, handle ); - } - }; + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { + if ( !( this instanceof jQuery.Event ) ) { return new jQuery.Event( src, props ); } @@ -4920,7 +4976,8 @@ jQuery.Event = function( src, props ) { // by a handler lower down the tree; reflect the correct value. this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && - // Support: IE < 9, Android < 4.0 + + // Support: Android<4.0 src.returnValue === false ? returnTrue : returnFalse; @@ -4945,6 +5002,7 @@ jQuery.Event = function( src, props ) { // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html jQuery.Event.prototype = { + constructor: jQuery.Event, isDefaultPrevented: returnFalse, isPropagationStopped: returnFalse, isImmediatePropagationStopped: returnFalse, @@ -4953,42 +5011,26 @@ jQuery.Event.prototype = { var e = this.originalEvent; this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { + if ( e ) { e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; } }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { + + if ( e ) { e.stopPropagation(); } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = returnTrue; - if ( e && e.stopImmediatePropagation ) { + if ( e ) { e.stopImmediatePropagation(); } @@ -4997,7 +5039,14 @@ jQuery.Event.prototype = { }; // Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://code.google.com/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", @@ -5013,9 +5062,9 @@ jQuery.each({ related = event.relatedTarget, handleObj = event.handleObj; - // For mousenter/leave call the handler if related is outside the target. + // For mouseenter/leave call the handler if related is outside the target. // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { event.type = handleObj.origType; ret = handleObj.handler.apply( this, arguments ); event.type = fix; @@ -5023,490 +5072,273 @@ jQuery.each({ return ret; } }; -}); +} ); -// IE submit delegation -if ( !support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, +jQuery.fn.extend( { + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); } + return this; + } + if ( selector === false || typeof selector === "function" ) { - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); + // ( types [, fn] ) + fn = selector; + selector = undefined; } - }; -} + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); -// IE change delegation and checkbox/radio fix -if ( !support.changeBubbles ) { - jQuery.event.special.change = { +var + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, - setup: function() { + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g; - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - handle: function( event ) { - var elem = event.target; + elem.getElementsByTagName( "tbody" )[ 0 ] || + elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : + elem; +} - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); - teardown: function() { - jQuery.event.remove( this, "._change" ); + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } - return !rformElems.test( this.nodeName ); - } - }; + return elem; } -// Create "bubbling" focus and blur events -if ( !support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; + if ( dest.nodeType !== 1 ) { + return; + } - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ); + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); + events = pdataOld.events; - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = jQuery._data( doc, fix ) - 1; + if ( events ) { + delete pdataCur.handle; + pdataCur.events = {}; - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - jQuery._removeData( doc, fix ); - } else { - jQuery._data( doc, fix, attaches ); + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); } } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; } + } - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } + dataUser.set( dest, udataCur ); } -}); +} +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; } - return safeFrag; } -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "" ], - legend: [ 1, "
        ", "
        " ], - area: [ 1, "", "" ], - param: [ 1, "", "" ], - thead: [ 1, "", "
        " ], - tr: [ 2, "", "
        " ], - col: [ 2, "", "
        " ], - td: [ 3, "", "
        " ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
        ", "
        " ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); +function domManip( collection, args, callback, ignored ) { -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; + // Flatten any nested arrays + args = concat.apply( [], args ); -function getAll( context, tag ) { - var elems, elem, + var fragment, first, scripts, hasScripts, node, doc, i = 0, - found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; + domManip( self, args, callback, ignored ); + } ); } -} - -// Support: IE<8 -// Manipulating tables requires a tbody -function manipulationTarget( elem, content ) { - return jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? - elem.getElementsByTagName("tbody")[0] || - elem.appendChild( elem.ownerDocument.createElement("tbody") ) : - elem; -} + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; -function cloneCopyEvent( src, dest ) { + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { - if ( events ) { - delete curData.handle; - curData.events = {}; + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); + callback.call( collection[ i ], node, i ); } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } + // Reenable scripts + jQuery.map( scripts, restoreScript ); - nodeName = dest.nodeName.toLowerCase(); + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); + if ( node.src ) { - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } + } + } } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); } - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); + return collection; +} - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); } - } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; } + + return elem; } -jQuery.extend({ +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, + clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), inPage = jQuery.contains( elem.ownerDocument, elem ); - if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!support.noCloneEvent || !support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 destElements = getAll( clone ); srcElements = getAll( elem ); - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); } } @@ -5516,8 +5348,8 @@ jQuery.extend({ srcElements = srcElements || getAll( elem ); destElements = destElements || getAll( clone ); - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); } } else { cloneCopyEvent( elem, clone ); @@ -5530,276 +5362,116 @@ jQuery.extend({ setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); } - destElements = srcElements = node = null; - // Return the cloned set return clone; }, - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, i = 0; - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted from table fragments - if ( !support.tbody ) { - - // String was a , *may* have spurious - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare or - wrap[1] === "
        " && !rtbody.test( elem ) ? - tmp : - 0; + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); } } } - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; } } } + } +} ); - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } +jQuery.fn.extend( { - i = 0; - while ( (elem = nodes[ i++ ]) ) { + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } + detach: function( selector ) { + return remove( this, selector, true ); + }, - contains = jQuery.contains( elem.ownerDocument, elem ); + remove: function( selector ) { + return remove( this, selector ); + }, - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); } + } ); + }, - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); } - } + } ); + }, - tmp = null; + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - deletedIds.push( id ); - } - } - } - } - } -}); - -jQuery.fn.extend({ - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - append: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip( arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - remove: function( selector, keepData /* Internal Use Only */ ) { - var elem, - elems = selector ? jQuery.filter( selector, this ) : this, - i = 0; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - - return this; + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); }, empty: function() { var elem, i = 0; - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks + for ( ; ( elem = this[ i ] ) != null; i++ ) { if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; + // Remove any remaining nodes + elem.textContent = ""; } } @@ -5810,9 +5482,9 @@ jQuery.fn.extend({ dataAndEvents = dataAndEvents == null ? false : dataAndEvents; deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - return this.map(function() { + return this.map( function() { return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); + } ); }, html: function( value ) { @@ -5821,24 +5493,21 @@ jQuery.fn.extend({ i = 0, l = this.length; - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; } // See if we can take a shortcut and just use innerHTML if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) { + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - value = value.replace( rxhtmlTag, "<$1>" ); + value = jQuery.htmlPrefilter( value ); try { - for (; i < l; i++ ) { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + // Remove element nodes and prevent memory leaks - elem = this[i] || {}; if ( elem.nodeType === 1 ) { jQuery.cleanData( getAll( elem, false ) ); elem.innerHTML = value; @@ -5848,7 +5517,7 @@ jQuery.fn.extend({ elem = 0; // If using innerHTML throws an exception, use the fallback method - } catch(e) {} + } catch ( e ) {} } if ( elem ) { @@ -5858,117 +5527,25 @@ jQuery.fn.extend({ }, replaceWith: function() { - var arg = arguments[ 0 ]; - - // Make the changes, replacing each context element with the new content - this.domManip( arguments, function( elem ) { - arg = this.parentNode; - - jQuery.cleanData( getAll( this ) ); - - if ( arg ) { - arg.replaceChild( elem, this ); - } - }); - - // Force removal if there was no new content (e.g., from empty arguments) - return arg && (arg.length || arg.nodeType) ? this : this.remove(); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, callback ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, self.html() ); - } - self.domManip( args, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); + var ignored = []; - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( this[i], node, i ); - } + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); } - - // Fix #11809: Avoid leaking memory - fragment = first = null; } - } - return this; + // Force callback invocation + }, ignored ); } -}); +} ); -jQuery.each({ +jQuery.each( { appendTo: "append", prependTo: "prepend", insertBefore: "before", @@ -5977,43 +5554,45 @@ jQuery.each({ }, function( name, original ) { jQuery.fn[ name ] = function( selector ) { var elems, - i = 0, ret = [], insert = jQuery( selector ), - last = insert.length - 1; + last = insert.length - 1, + i = 0; for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + // Support: QtWebKit + // .get() because push.apply(_, arraylike) throws push.apply( ret, elems.get() ); } return this.pushStack( ret ); }; -}); +} ); var iframe, - elemdisplay = {}; + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; /** * Retrieve the actual display of a element * @param {String} name nodeName of the element * @param {Object} doc Document object */ + // Called only from within defaultDisplay function actualDisplay( name, doc ) { - var style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optmization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); + display = jQuery.css( elem[ 0 ], "display" ); // We don't have any data stored on the element, // so use "detach" method as fast way to get rid of the element @@ -6037,10 +5616,11 @@ function defaultDisplay( nodeName ) { if ( display === "none" || !display ) { // Use the already-created iframe if possible - iframe = (iframe || jQuery( "