trestle 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/.bowerrc +6 -0
 - data/.gitignore +14 -0
 - data/.rspec +2 -0
 - data/.travis.yml +4 -0
 - data/Gemfile +11 -0
 - data/LICENSE +165 -0
 - data/README.md +88 -0
 - data/Rakefile +6 -0
 - data/app/assets/images/trestle/textures/billie-holiday.png +0 -0
 - data/app/assets/images/trestle/textures/bright-squares.png +0 -0
 - data/app/assets/javascripts/trestle/_confirmation.js.coffee +18 -0
 - data/app/assets/javascripts/trestle/_datepicker.js.coffee +18 -0
 - data/app/assets/javascripts/trestle/_errors.js.coffee +8 -0
 - data/app/assets/javascripts/trestle/_form.js.coffee +4 -0
 - data/app/assets/javascripts/trestle/_gallery.js.coffee +21 -0
 - data/app/assets/javascripts/trestle/_select.js.coffee +7 -0
 - data/app/assets/javascripts/trestle/_sidebar.js.coffee +45 -0
 - data/app/assets/javascripts/trestle/_table.js.coffee +16 -0
 - data/app/assets/javascripts/trestle/_tabs.js.coffee +9 -0
 - data/app/assets/javascripts/trestle/_tooltips.js.coffee +2 -0
 - data/app/assets/javascripts/trestle/admin.js.coffee +22 -0
 - data/app/assets/javascripts/trestle/custom.js.coffee +4 -0
 - data/app/assets/stylesheets/trestle/_custom.scss +4 -0
 - data/app/assets/stylesheets/trestle/_support.scss +9 -0
 - data/app/assets/stylesheets/trestle/_variables.scss +4 -0
 - data/app/assets/stylesheets/trestle/admin.scss +20 -0
 - data/app/assets/stylesheets/trestle/components/_alerts.scss +59 -0
 - data/app/assets/stylesheets/trestle/components/_avatar.scss +18 -0
 - data/app/assets/stylesheets/trestle/components/_breadcrumbs.scss +14 -0
 - data/app/assets/stylesheets/trestle/components/_buttons.scss +13 -0
 - data/app/assets/stylesheets/trestle/components/_confirmation.scss +20 -0
 - data/app/assets/stylesheets/trestle/components/_content.scss +108 -0
 - data/app/assets/stylesheets/trestle/components/_datepicker.scss +91 -0
 - data/app/assets/stylesheets/trestle/components/_dropdown.scss +43 -0
 - data/app/assets/stylesheets/trestle/components/_fields.scss +28 -0
 - data/app/assets/stylesheets/trestle/components/_flex-grid.scss +16 -0
 - data/app/assets/stylesheets/trestle/components/_gallery.scss +19 -0
 - data/app/assets/stylesheets/trestle/components/_header.scss +16 -0
 - data/app/assets/stylesheets/trestle/components/_input-group.scss +11 -0
 - data/app/assets/stylesheets/trestle/components/_media-grid.scss +83 -0
 - data/app/assets/stylesheets/trestle/components/_navigation.scss +111 -0
 - data/app/assets/stylesheets/trestle/components/_pagination.scss +47 -0
 - data/app/assets/stylesheets/trestle/components/_popover.scss +8 -0
 - data/app/assets/stylesheets/trestle/components/_scopes.scss +41 -0
 - data/app/assets/stylesheets/trestle/components/_sidebar.scss +235 -0
 - data/app/assets/stylesheets/trestle/components/_sort.scss +31 -0
 - data/app/assets/stylesheets/trestle/components/_table.scss +80 -0
 - data/app/assets/stylesheets/trestle/components/_tabs.scss +85 -0
 - data/app/assets/stylesheets/trestle/components/_tags.scss +55 -0
 - data/app/assets/stylesheets/trestle/components/_timestamp.scss +13 -0
 - data/app/assets/stylesheets/trestle/components/_turbolinks.scss +3 -0
 - data/app/assets/stylesheets/trestle/components/_wells.scss +39 -0
 - data/app/assets/stylesheets/trestle/core/_defaults.scss +82 -0
 - data/app/assets/stylesheets/trestle/core/_layout.scss +74 -0
 - data/app/assets/stylesheets/trestle/core/_mixins.scss +43 -0
 - data/app/assets/stylesheets/trestle/core/_typography.scss +34 -0
 - data/app/controllers/trestle/application_controller.rb +16 -0
 - data/app/controllers/trestle/dashboard_controller.rb +15 -0
 - data/app/helpers/trestle/avatar_helper.rb +14 -0
 - data/app/helpers/trestle/display_helper.rb +7 -0
 - data/app/helpers/trestle/form_helper.rb +31 -0
 - data/app/helpers/trestle/grid_helper.rb +15 -0
 - data/app/helpers/trestle/hook_helper.rb +13 -0
 - data/app/helpers/trestle/icon_helper.rb +8 -0
 - data/app/helpers/trestle/navigation_helper.rb +10 -0
 - data/app/helpers/trestle/pagination_helper.rb +20 -0
 - data/app/helpers/trestle/params_helper.rb +7 -0
 - data/app/helpers/trestle/sort_helper.rb +56 -0
 - data/app/helpers/trestle/status_helper.rb +8 -0
 - data/app/helpers/trestle/tab_helper.rb +21 -0
 - data/app/helpers/trestle/table_helper.rb +10 -0
 - data/app/helpers/trestle/timestamp_helper.rb +18 -0
 - data/app/helpers/trestle/title_helper.rb +26 -0
 - data/app/helpers/trestle/url_helper.rb +30 -0
 - data/app/views/kaminari/trestle/_first_page.html.erb +11 -0
 - data/app/views/kaminari/trestle/_gap.html.erb +10 -0
 - data/app/views/kaminari/trestle/_last_page.html.erb +11 -0
 - data/app/views/kaminari/trestle/_page.html.erb +12 -0
 - data/app/views/kaminari/trestle/_paginator.html.erb +21 -0
 - data/app/views/layouts/trestle/admin.html.erb +56 -0
 - data/app/views/trestle/admin/index.html.erb +5 -0
 - data/app/views/trestle/application/_alert.html.erb +10 -0
 - data/app/views/trestle/application/_flash.html.erb +11 -0
 - data/app/views/trestle/application/_header.html.erb +25 -0
 - data/app/views/trestle/application/_layout.html.erb +19 -0
 - data/app/views/trestle/application/_tabs.html.erb +9 -0
 - data/app/views/trestle/application/_utilities.html.erb +5 -0
 - data/app/views/trestle/dashboard/index.html.erb +5 -0
 - data/app/views/trestle/resource/_form.html.erb +5 -0
 - data/app/views/trestle/resource/_scopes.html.erb +9 -0
 - data/app/views/trestle/resource/_table.html.erb +2 -0
 - data/app/views/trestle/resource/edit.html.erb +18 -0
 - data/app/views/trestle/resource/index.html.erb +13 -0
 - data/app/views/trestle/resource/new.html.erb +12 -0
 - data/app/views/trestle/resource/show.html.erb +18 -0
 - data/app/views/trestle/shared/_footer.html.erb +4 -0
 - data/app/views/trestle/shared/_header.html.erb +5 -0
 - data/app/views/trestle/shared/_sidebar.html.erb +37 -0
 - data/app/views/trestle/table/_pagination.html.erb +5 -0
 - data/app/views/trestle/table/_table.html.erb +23 -0
 - data/bin/console +14 -0
 - data/bin/setup +8 -0
 - data/bower.json +15 -0
 - data/config/locales/en.rb +18 -0
 - data/config/locales/en.yml +53 -0
 - data/config/routes.rb +7 -0
 - data/lib/generators/trestle/install/install_generator.rb +24 -0
 - data/lib/generators/trestle/install/templates/_custom.scss +8 -0
 - data/lib/generators/trestle/install/templates/_variables.scss +10 -0
 - data/lib/generators/trestle/install/templates/custom.js.coffee +7 -0
 - data/lib/generators/trestle/install/templates/trestle.rb.erb +87 -0
 - data/lib/generators/trestle/resource/resource_generator.rb +22 -0
 - data/lib/generators/trestle/resource/templates/admin.rb.erb +35 -0
 - data/lib/trestle.rb +60 -0
 - data/lib/trestle/adapters.rb +75 -0
 - data/lib/trestle/adapters/active_record_adapter.rb +68 -0
 - data/lib/trestle/adapters/draper_adapter.rb +13 -0
 - data/lib/trestle/admin.rb +67 -0
 - data/lib/trestle/admin/builder.rb +67 -0
 - data/lib/trestle/admin/controller.rb +24 -0
 - data/lib/trestle/attribute.rb +54 -0
 - data/lib/trestle/breadcrumb.rb +33 -0
 - data/lib/trestle/builder.rb +17 -0
 - data/lib/trestle/configurable.rb +66 -0
 - data/lib/trestle/configuration.rb +44 -0
 - data/lib/trestle/display.rb +20 -0
 - data/lib/trestle/engine.rb +49 -0
 - data/lib/trestle/form.rb +21 -0
 - data/lib/trestle/form/automatic.rb +33 -0
 - data/lib/trestle/form/builder.rb +45 -0
 - data/lib/trestle/form/field.rb +53 -0
 - data/lib/trestle/form/fields.rb +44 -0
 - data/lib/trestle/form/fields/check_box.rb +37 -0
 - data/lib/trestle/form/fields/collection_check_boxes.rb +30 -0
 - data/lib/trestle/form/fields/collection_radio_buttons.rb +30 -0
 - data/lib/trestle/form/fields/collection_select.rb +26 -0
 - data/lib/trestle/form/fields/color_field.rb +7 -0
 - data/lib/trestle/form/fields/date_field.rb +9 -0
 - data/lib/trestle/form/fields/date_picker.rb +12 -0
 - data/lib/trestle/form/fields/date_select.rb +27 -0
 - data/lib/trestle/form/fields/datetime_field.rb +10 -0
 - data/lib/trestle/form/fields/datetime_select.rb +27 -0
 - data/lib/trestle/form/fields/email_field.rb +7 -0
 - data/lib/trestle/form/fields/file_field.rb +13 -0
 - data/lib/trestle/form/fields/form_control.rb +38 -0
 - data/lib/trestle/form/fields/form_group.rb +42 -0
 - data/lib/trestle/form/fields/grouped_collection_select.rb +26 -0
 - data/lib/trestle/form/fields/month_field.rb +7 -0
 - data/lib/trestle/form/fields/number_field.rb +7 -0
 - data/lib/trestle/form/fields/password_field.rb +7 -0
 - data/lib/trestle/form/fields/radio_button.rb +32 -0
 - data/lib/trestle/form/fields/range_field.rb +13 -0
 - data/lib/trestle/form/fields/search_field.rb +7 -0
 - data/lib/trestle/form/fields/select.rb +55 -0
 - data/lib/trestle/form/fields/static_field.rb +29 -0
 - data/lib/trestle/form/fields/tag_select.rb +18 -0
 - data/lib/trestle/form/fields/telephone_field.rb +8 -0
 - data/lib/trestle/form/fields/text_area.rb +11 -0
 - data/lib/trestle/form/fields/text_field.rb +7 -0
 - data/lib/trestle/form/fields/time_field.rb +13 -0
 - data/lib/trestle/form/fields/time_select.rb +27 -0
 - data/lib/trestle/form/fields/time_zone_select.rb +26 -0
 - data/lib/trestle/form/fields/url_field.rb +7 -0
 - data/lib/trestle/form/fields/week_field.rb +7 -0
 - data/lib/trestle/form/renderer.rb +63 -0
 - data/lib/trestle/navigation.rb +36 -0
 - data/lib/trestle/navigation/block.rb +58 -0
 - data/lib/trestle/navigation/group.rb +67 -0
 - data/lib/trestle/navigation/item.rb +77 -0
 - data/lib/trestle/options.rb +21 -0
 - data/lib/trestle/reloader.rb +45 -0
 - data/lib/trestle/resource.rb +141 -0
 - data/lib/trestle/resource/builder.rb +83 -0
 - data/lib/trestle/resource/controller.rb +69 -0
 - data/lib/trestle/scope.rb +37 -0
 - data/lib/trestle/tab.rb +19 -0
 - data/lib/trestle/table.rb +56 -0
 - data/lib/trestle/table/actions_column.rb +66 -0
 - data/lib/trestle/table/automatic.rb +35 -0
 - data/lib/trestle/table/builder.rb +32 -0
 - data/lib/trestle/table/column.rb +120 -0
 - data/lib/trestle/table/row.rb +29 -0
 - data/lib/trestle/table/select_column.rb +33 -0
 - data/lib/trestle/version.rb +3 -0
 - data/sandbox/Rakefile +6 -0
 - data/sandbox/app/admin/form_admin.rb +76 -0
 - data/sandbox/app/admin/test_admin.rb +48 -0
 - data/sandbox/app/assets/config/manifest.js +5 -0
 - data/sandbox/app/assets/images/.keep +0 -0
 - data/sandbox/app/assets/javascripts/application.js +13 -0
 - data/sandbox/app/assets/javascripts/cable.js +13 -0
 - data/sandbox/app/assets/javascripts/channels/.keep +0 -0
 - data/sandbox/app/assets/javascripts/trestle/custom.js.coffee +7 -0
 - data/sandbox/app/assets/stylesheets/application.css +15 -0
 - data/sandbox/app/assets/stylesheets/trestle/_custom.scss +8 -0
 - data/sandbox/app/assets/stylesheets/trestle/_variables.scss +10 -0
 - data/sandbox/app/channels/application_cable/channel.rb +4 -0
 - data/sandbox/app/channels/application_cable/connection.rb +4 -0
 - data/sandbox/app/controllers/application_controller.rb +3 -0
 - data/sandbox/app/controllers/concerns/.keep +0 -0
 - data/sandbox/app/controllers/test_controller.rb +4 -0
 - data/sandbox/app/helpers/application_helper.rb +2 -0
 - data/sandbox/app/jobs/application_job.rb +2 -0
 - data/sandbox/app/mailers/application_mailer.rb +4 -0
 - data/sandbox/app/models/application_record.rb +3 -0
 - data/sandbox/app/models/color.rb +31 -0
 - data/sandbox/app/models/concerns/.keep +0 -0
 - data/sandbox/app/models/form_stub.rb +9 -0
 - data/sandbox/app/views/admin/form/_panels.html.haml +20 -0
 - data/sandbox/app/views/admin/form/_wells.html.haml +6 -0
 - data/sandbox/app/views/layouts/application.html.erb +14 -0
 - data/sandbox/app/views/layouts/mailer.html.erb +13 -0
 - data/sandbox/app/views/layouts/mailer.text.erb +1 -0
 - data/sandbox/app/views/test/index.html.haml +136 -0
 - data/sandbox/bin/bundle +3 -0
 - data/sandbox/bin/rails +4 -0
 - data/sandbox/bin/rake +4 -0
 - data/sandbox/bin/setup +34 -0
 - data/sandbox/bin/update +29 -0
 - data/sandbox/config.ru +5 -0
 - data/sandbox/config/application.rb +15 -0
 - data/sandbox/config/boot.rb +5 -0
 - data/sandbox/config/cable.yml +9 -0
 - data/sandbox/config/database.yml +25 -0
 - data/sandbox/config/environment.rb +5 -0
 - data/sandbox/config/environments/development.rb +54 -0
 - data/sandbox/config/environments/production.rb +86 -0
 - data/sandbox/config/environments/test.rb +42 -0
 - data/sandbox/config/initializers/application_controller_renderer.rb +6 -0
 - data/sandbox/config/initializers/assets.rb +11 -0
 - data/sandbox/config/initializers/backtrace_silencers.rb +7 -0
 - data/sandbox/config/initializers/cookies_serializer.rb +5 -0
 - data/sandbox/config/initializers/filter_parameter_logging.rb +4 -0
 - data/sandbox/config/initializers/inflections.rb +16 -0
 - data/sandbox/config/initializers/mime_types.rb +4 -0
 - data/sandbox/config/initializers/new_framework_defaults.rb +24 -0
 - data/sandbox/config/initializers/session_store.rb +3 -0
 - data/sandbox/config/initializers/trestle.rb +10 -0
 - data/sandbox/config/initializers/wrap_parameters.rb +14 -0
 - data/sandbox/config/locales/en.yml +23 -0
 - data/sandbox/config/puma.rb +47 -0
 - data/sandbox/config/routes.rb +3 -0
 - data/sandbox/config/secrets.yml +22 -0
 - data/sandbox/config/spring.rb +6 -0
 - data/sandbox/lib/assets/.keep +0 -0
 - data/sandbox/log/.keep +0 -0
 - data/sandbox/public/404.html +67 -0
 - data/sandbox/public/422.html +67 -0
 - data/sandbox/public/500.html +66 -0
 - data/sandbox/public/apple-touch-icon-precomposed.png +0 -0
 - data/sandbox/public/apple-touch-icon.png +0 -0
 - data/sandbox/public/favicon.ico +0 -0
 - data/trestle.gemspec +36 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/.bower.json +47 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/Gruntfile.js +106 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/README.md +19 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/bootstrap-confirmation.js +455 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/bootstrap-confirmation.min.js +7 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/bower.json +38 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/example/index.html +193 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-confirmation2/package.json +46 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/.bower.json +45 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/CHANGELOG.md +210 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/CONTRIBUTING.md +86 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/LICENSE +22 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/README.md +390 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +288 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap-sprockets.js +12 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap.js +2377 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap.min.js +7 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/affix.js +162 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/alert.js +94 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/button.js +125 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/carousel.js +237 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/collapse.js +212 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/dropdown.js +165 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/modal.js +339 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/popover.js +108 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/scrollspy.js +172 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/tab.js +155 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/tooltip.js +520 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/javascripts/bootstrap/transition.js +59 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/_bootstrap-compass.scss +9 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/_bootstrap-mincer.scss +19 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/_bootstrap-sprockets.scss +9 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/_bootstrap.scss +56 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_alerts.scss +73 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_badges.scss +68 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_breadcrumbs.scss +28 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_button-groups.scss +244 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_buttons.scss +168 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_carousel.scss +270 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_close.scss +36 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_code.scss +69 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_component-animations.scss +37 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_dropdowns.scss +216 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_forms.scss +617 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_glyphicons.scss +307 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_grid.scss +84 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_input-groups.scss +171 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_jumbotron.scss +54 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_labels.scss +66 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_list-group.scss +130 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_media.scss +66 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_mixins.scss +40 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_modals.scss +150 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_navbar.scss +662 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_navs.scss +242 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_normalize.scss +424 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_pager.scss +54 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_pagination.scss +89 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_panels.scss +271 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_popovers.scss +131 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_print.scss +101 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_progress-bars.scss +87 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-embed.scss +35 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_responsive-utilities.scss +179 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_scaffolding.scss +161 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_tables.scss +234 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_theme.scss +291 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_thumbnails.scss +38 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_tooltip.scss +101 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_type.scss +298 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_utilities.scss +55 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_variables.scss +874 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/_wells.scss +29 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_alerts.scss +14 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_background-variant.scss +12 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_border-radius.scss +18 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_buttons.scss +65 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_center-block.scss +7 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_clearfix.scss +22 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_forms.scss +88 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_gradients.scss +58 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +81 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_grid.scss +122 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_hide-text.scss +21 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_image.scss +33 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_labels.scss +12 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_list-group.scss +32 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +10 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_nav-vertical-align.scss +9 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_opacity.scss +8 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_pagination.scss +24 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_panels.scss +24 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_progress-bar.scss +10 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-filter.scss +8 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_reset-text.scss +18 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_resize.scss +6 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +21 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_size.scss +10 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +9 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_table-row.scss +28 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +12 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_text-overflow.scss +8 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +222 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/bower.json +36 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/composer.json +35 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/eyeglass-exports.js +7 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/package.json +44 -0
 - data/vendor/assets/bower_components/trestle/bootstrap-sass/sache.json +5 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/.bower.json +37 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/CONTRIBUTING.md +40 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/ISSUE_TEMPLATE.md +13 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/LICENSE.md +21 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/README.md +114 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/bower.json +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/build.js +226 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/flatpickr.css +823 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/flatpickr.js +2301 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/flatpickr.min.css +13 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/flatpickr.min.js +2 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/ie.css +11 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ar.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/bg.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/bn.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/cat.js +34 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/cs.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/cy.js +36 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/da.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/de.js +21 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/eo.js +26 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/es.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/et.js +26 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/fa.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/fi.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/fr.js +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/gr.js +29 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/he.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/hi.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/hr.js +17 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/hu.js +25 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/id.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/it.js +25 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ja.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ko.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/lt.js +25 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/lv.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/mk.js +19 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ms.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/my.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/nl.js +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/no.js +24 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/pa.js +14 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/pl.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/pt.js +19 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ro.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/ru.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/si.js +17 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sk.js +21 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sl.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sq.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sr.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/sv.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/th.js +25 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/tr.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/uk.js +17 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/vn.js +19 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/l10n/zh.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/plugins/confirmDate/confirmDate.css +24 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/plugins/confirmDate/confirmDate.js +47 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/plugins/labelPlugin/labelPlugin.js +15 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/plugins/weekSelect/weekSelect.js +56 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/flatpickr.min.css +13 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/airbnb.rtl.css +946 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/base16_flat.rtl.css +869 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/confetti.rtl.css +883 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/dark.rtl.css +869 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/material_blue.rtl.css +883 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/material_green.rtl.css +883 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/material_orange.rtl.css +883 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/rtl/themes/material_red.rtl.css +883 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/airbnb.css +900 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/confetti.css +835 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/dark.css +823 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/light.css +838 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/material_blue.css +835 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/material_green.css +835 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/material_orange.css +835 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/dist/themes/material_red.css +835 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/package.json +68 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/release +13 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/flatpickr.js +2748 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/ar.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/bg.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/bn.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/cat.js +31 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/cs.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/cy.js +46 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/da.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/de.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/eo.js +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/es.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/et.js +28 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/fa.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/fi.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/fr.js +31 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/gr.js +31 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/he.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/hi.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/hr.js +19 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/hu.js +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/id.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/it.js +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/ja.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/ko.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/lt.js +27 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/lv.js +17 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/mk.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/ms.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/my.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/nl.js +29 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/no.js +25 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/pa.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/pl.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/pt.js +19 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/ro.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/ru.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/si.js +17 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/sk.js +21 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/sl.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/sq.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/sr.js +20 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/sv.js +23 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/th.js +25 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/tr.js +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/uk.js +17 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/vn.js +19 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/l10n/zh.js +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/plugins/confirmDate/confirmDate.css +24 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/plugins/confirmDate/confirmDate.js +60 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/plugins/labelPlugin/labelPlugin.js +16 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/plugins/weekSelect/weekSelect.js +63 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/_vars.styl +34 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/flatpickr.styl +693 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/ie.styl +13 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/airbnb.styl +78 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/confetti.styl +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/dark.styl +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/light.styl +22 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/material_blue.styl +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/material_green.styl +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/material_orange.styl +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/src/style/themes/material_red.styl +18 -0
 - data/vendor/assets/bower_components/trestle/flatpickr/yarn.lock +3967 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/.bower.json +36 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/.gitignore +33 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/.npmignore +42 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/HELP-US-OUT.txt +7 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/bower.json +22 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/css/font-awesome.css +2337 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/css/font-awesome.css.map +7 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/css/font-awesome.min.css +4 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/fonts/FontAwesome.otf +0 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/fonts/fontawesome-webfont.eot +0 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/fonts/fontawesome-webfont.svg +2671 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/fonts/fontawesome-webfont.woff +0 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/animated.less +34 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/bordered-pulled.less +25 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/core.less +12 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/fixed-width.less +6 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/font-awesome.less +18 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/icons.less +789 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/larger.less +13 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/list.less +19 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/mixins.less +60 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/path.less +15 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/rotated-flipped.less +20 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/screen-reader.less +5 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/stacked.less +20 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/less/variables.less +800 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_animated.scss +34 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_bordered-pulled.scss +25 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_core.scss +12 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_fixed-width.scss +6 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_icons.scss +789 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_larger.scss +13 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_list.scss +19 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_mixins.scss +60 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_path.scss +15 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_rotated-flipped.scss +20 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_screen-reader.scss +5 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_stacked.scss +20 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/_variables.scss +800 -0
 - data/vendor/assets/bower_components/trestle/font-awesome/scss/font-awesome.scss +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/.bower.json +40 -0
 - data/vendor/assets/bower_components/trestle/ionicons/LICENSE +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/bower.json +31 -0
 - data/vendor/assets/bower_components/trestle/ionicons/cheatsheet.html +28009 -0
 - data/vendor/assets/bower_components/trestle/ionicons/component.json +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/composer.json +36 -0
 - data/vendor/assets/bower_components/trestle/ionicons/css/ionicons.css +1480 -0
 - data/vendor/assets/bower_components/trestle/ionicons/css/ionicons.min.css +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/fonts/ionicons.eot +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/fonts/ionicons.svg +2230 -0
 - data/vendor/assets/bower_components/trestle/ionicons/fonts/ionicons.ttf +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/fonts/ionicons.woff +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/less/_ionicons-font.less +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/less/_ionicons-icons.less +1473 -0
 - data/vendor/assets/bower_components/trestle/ionicons/less/_ionicons-variables.less +747 -0
 - data/vendor/assets/bower_components/trestle/ionicons/less/ionicons.less +3 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/alert-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/alert.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-add-contact.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-add.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-alarm.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-archive.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-arrow-back.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-arrow-down-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-arrow-down-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-arrow-forward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-arrow-up-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-arrow-up-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-battery.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-book.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-calendar.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-call.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-camera.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-chat.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-checkmark.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-clock.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-close.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-contact.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-contacts.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-data.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-developer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-display.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-download.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-drawer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-dropdown.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-earth.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-folder.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-forums.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-friends.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-hand.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-image.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-inbox.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-information.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-keypad.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-lightbulb.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-locate.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-location.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-mail.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-microphone.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-mixer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-more.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-note.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-playstore.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-printer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-promotion.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-reminder.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-remove.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-search.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-send.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-settings.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-share.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-social-user.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-social.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-sort.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-stair-drawer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-star.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-stopwatch.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-storage.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-system-back.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-system-home.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-system-windows.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-timer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-trash.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-user-menu.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-volume.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/android-wifi.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/aperture.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/archive.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-down-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-down-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-down-c.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-expand.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-graph-down-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-graph-down-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-graph-up-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-graph-up-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-left-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-left-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-left-c.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-move.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-resize.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-return-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-return-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-right-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-right-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-right-c.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-shrink.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-swap.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-up-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-up-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/arrow-up-c.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/asterisk.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/at.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/bag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/battery-charging.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/battery-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/battery-full.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/battery-half.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/battery-low.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/beaker.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/beer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/bluetooth.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/bonfire.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/bookmark.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/briefcase.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/bug.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/calculator.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/calendar.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/camera.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/card.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/cash.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chatbox-working.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chatbox.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chatboxes.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chatbubble-working.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chatbubble.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chatbubbles.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/checkmark-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/checkmark-round.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/checkmark.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chevron-down.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chevron-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chevron-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/chevron-up.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/clipboard.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/clock.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/close-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/close-round.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/close.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/closed-captioning.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/cloud.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/code-download.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/code-working.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/code.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/coffee.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/compass.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/compose.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/connection-bars.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/contrast.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/cube.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/disc.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/document-text.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/document.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/drag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/earth.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/edit.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/egg.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/eject.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/email.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/eye-disabled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/eye.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/female.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/filing.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/film-marker.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/fireball.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/flag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/flame.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/flash-off.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/flash.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/flask.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/folder.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/fork-repo.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/fork.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/forward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/funnel.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/game-controller-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/game-controller-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/gear-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/gear-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/grid.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/hammer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/happy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/headphone.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/heart-broken.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/heart.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/help-buoy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/help-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/help.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/home.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/icecream.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/icon-social-google-plus-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/icon-social-google-plus.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/image.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/images.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/information-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/information.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ionic.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-alarm-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-alarm.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-albums-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-albums.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-americanfootball-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-americanfootball.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-analytics-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-analytics.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-back.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-down.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-forward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-thin-down.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-thin-left.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-thin-right.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-thin-up.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-arrow-up.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-at-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-at.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-barcode-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-barcode.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-baseball-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-baseball.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-basketball-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-basketball.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-bell-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-bell.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-bolt-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-bolt.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-bookmarks-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-bookmarks.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-box-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-box.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-briefcase-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-briefcase.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-browsers-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-browsers.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-calculator-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-calculator.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-calendar-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-calendar.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-camera-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-camera.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cart-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cart.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-chatboxes-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-chatboxes.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-chatbubble-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-chatbubble.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-checkmark-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-checkmark-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-checkmark.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-circle-filled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-circle-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-clock-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-clock.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-close-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-close-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-close.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloud-download-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloud-download.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloud-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloud-upload-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloud-upload.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloud.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloudy-night-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloudy-night.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloudy-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cloudy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cog-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-cog.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-compose-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-compose.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-contact-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-contact.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-copy-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-copy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-download-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-download.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-drag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-email-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-email.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-expand.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-eye-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-eye.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-fastforward-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-fastforward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-filing-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-filing.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-film-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-film.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-flag-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-flag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-folder-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-folder.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-football-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-football.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-gear-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-gear.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-glasses-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-glasses.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-heart-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-heart.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-help-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-help-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-help.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-home-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-home.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-infinite-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-infinite.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-information-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-information-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-information.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-ionic-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-keypad-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-keypad.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-lightbulb-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-lightbulb.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-location-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-location.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-locked-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-locked.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-loop-strong.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-loop.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-medkit-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-medkit.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-mic-off.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-mic-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-mic.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-minus-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-minus-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-minus.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-monitor-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-monitor.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-moon-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-moon.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-more-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-more.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-musical-note.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-musical-notes.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-navigate-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-navigate.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-paper-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-paper.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-paperplane-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-paperplane.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-partlysunny-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-partlysunny.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pause-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pause.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-paw-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-paw.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-people-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-people.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-person-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-person.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-personadd-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-personadd.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-photos-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-photos.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pie-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pie.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-play-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-play.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-plus-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-plus-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-plus.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pricetag-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pricetag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pricetags-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pricetags.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-printer-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-printer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pulse-strong.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-pulse.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-rainy-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-rainy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-recording-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-recording.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-redo-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-redo.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-refresh-empty.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-refresh-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-refresh.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-reload.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-reverse-camera-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-reverse-camera.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-rewind-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-rewind.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-search-strong.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-search.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-settings-strong.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-settings.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-shrink.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-skipbackward-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-skipbackward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-skipforward-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-skipforward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-snowy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-speedometer-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-speedometer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-star-half.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-star-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-star.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-stopwatch-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-stopwatch.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-sunny-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-sunny.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-telephone-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-telephone.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-tennisball-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-tennisball.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-thunderstorm-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-thunderstorm.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-time-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-time.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-timer-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-timer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-toggle-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-toggle.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-trash-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-trash.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-undo-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-undo.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-unlocked-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-unlocked.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-upload-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-upload.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-videocam-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-videocam.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-volume-high.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-volume-low.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-wineglass-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-wineglass.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-world-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ios7-world.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ipad.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/iphone.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ipod.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/jet.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/key.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/knife.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/laptop.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/leaf.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/levels.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/lightbulb.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/link.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/load-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/load-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/load-c.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/load-d.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/location.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/locked.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/log-in.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/log-out.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/loop.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/magnet.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/male.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/man.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/map.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/medkit.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/merge.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/mic-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/mic-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/mic-c.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/minus-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/minus-round.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/minus.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/model-s.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/monitor.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/more.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/mouse.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/music-note.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/navicon-round.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/navicon.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/navigate.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/network.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/no-smoking.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/nuclear.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/outlet.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/paper-airplane.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/paperclip.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pause.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/person-add.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/person-stalker.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/person.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pie-graph.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pin.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pinpoint.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pizza.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/plane.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/planet.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/play.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/playstation.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/plus-circled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/plus-round.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/plus.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/podium.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pound.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/power.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pricetag.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pricetags.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/printer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/pull-request.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/qr-scanner.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/quote.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/radio-waves.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/record.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/refresh.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/reply-all.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/reply.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ribbon-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/ribbon-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/sad.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/scissors.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/search.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/settings.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/share.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/shuffle.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/skip-backward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/skip-forward.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-android-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-android.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-apple-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-apple.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-bitcoin-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-bitcoin.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-buffer-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-buffer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-designernews-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-designernews.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-dribbble-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-dribbble.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-dropbox-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-dropbox.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-facebook-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-facebook.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-foursquare-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-foursquare.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-freebsd-devil.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-github-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-github.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-google-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-google.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-googleplus-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-googleplus.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-hackernews-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-hackernews.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-instagram-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-instagram.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-linkedin-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-linkedin.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-pinterest-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-pinterest.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-reddit-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-reddit.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-rss-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-rss.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-skype-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-skype.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-tumblr-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-tumblr.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-tux.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-twitter-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-twitter.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-usd-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-usd.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-vimeo-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-vimeo.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-windows-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-windows.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-wordpress-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-wordpress.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-yahoo-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-yahoo.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-youtube-outline.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/social-youtube.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/speakerphone.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/speedometer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/spoon.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/star.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/stats-bars.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/steam.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/stop.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/thermometer.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/thumbsdown.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/thumbsup.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/toggle-filled.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/toggle.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/trash-a.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/trash-b.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/trophy.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/umbrella.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/university.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/unlocked.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/upload.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/usb.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/videocamera.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/volume-high.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/volume-low.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/volume-medium.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/volume-mute.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/wand.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/waterdrop.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/wifi.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/wineglass.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/woman.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/wrench.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/png/512/xbox.png +0 -0
 - data/vendor/assets/bower_components/trestle/ionicons/readme.md +60 -0
 - data/vendor/assets/bower_components/trestle/ionicons/scss/_ionicons-font.scss +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/scss/_ionicons-icons.scss +1473 -0
 - data/vendor/assets/bower_components/trestle/ionicons/scss/_ionicons-variables.scss +741 -0
 - data/vendor/assets/bower_components/trestle/ionicons/scss/ionicons.scss +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/alert-circled.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/alert.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-add-circle.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-add.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-alarm-clock.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-alert.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-apps.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-archive.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-back.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-down.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropdown-circle.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropdown.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropleft-circle.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropleft.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropright-circle.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropright.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropup-circle.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-dropup.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-forward.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-arrow-up.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-attach.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-bar.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-bicycle.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-boat.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-bookmark.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-bulb.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-bus.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-calendar.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-call.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-camera.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-cancel.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-car.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-cart.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-chat.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-checkbox-blank.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-checkbox-outline-blank.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-checkbox-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-checkbox.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-checkmark-circle.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-clipboard.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-close.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-cloud-circle.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-cloud-done.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-cloud-outline.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-cloud.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-color-palette.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-compass.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-contact.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-contacts.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-contract.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-create.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-delete.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-desktop.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-document.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-done-all.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-done.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-download.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-drafts.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-exit.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-expand.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-favorite-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-favorite.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-film.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-folder-open.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-folder.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-funnel.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-globe.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-hand.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-hangout.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-happy.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-home.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-image.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-laptop.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-list.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-locate.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-lock.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-mail.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-map.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-menu.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-microphone-off.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-microphone.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-more-horizontal.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-more-vertical.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-navigate.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-notifications-none.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-notifications-off.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-notifications.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-open.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-options.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-people.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-person-add.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-person.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-phone-landscape.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-phone-portrait.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-pin.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-plane.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-playstore.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-print.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-radio-button-off.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-radio-button-on.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-refresh.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-remove-circle.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-remove.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-restaurant.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-sad.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-search.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-send.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-settings.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-share-alt.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-share.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-star-half.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-star-outline.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-star.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-stopwatch.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-subway.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-sunny.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-sync.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-textsms.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-time.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-train.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-unlock.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-upload.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-volume-down.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-volume-mute.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-volume-off.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-volume-up.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-walk.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-warning.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-watch.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/android-wifi.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/aperture.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/archive.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-down-a.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-down-b.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-down-c.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-expand.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-graph-down-left.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-graph-down-right.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-graph-up-left.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-graph-up-right.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-left-a.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-left-b.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-left-c.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-move.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-resize.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-return-left.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-return-right.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-right-a.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-right-b.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-right-c.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-shrink.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-swap.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-up-a.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-up-b.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/arrow-up-c.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/asterisk.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/at.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/backspace-outline.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/backspace.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/bag.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/battery-charging.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/battery-empty.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/battery-full.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/battery-half.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/battery-low.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/beaker.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/beer.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/bluetooth.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/bonfire.svg +32 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/bookmark.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/bowtie.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/briefcase.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/bug.svg +30 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/calculator.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/calendar.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/camera.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/card.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/cash.svg +31 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chatbox-working.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chatbox.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chatboxes.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chatbubble-working.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chatbubble.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chatbubbles.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/checkmark-circled.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/checkmark-round.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/checkmark.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chevron-down.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chevron-left.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chevron-right.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/chevron-up.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/clipboard.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/clock.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/close-circled.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/close-round.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/close.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/closed-captioning.svg +31 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/cloud.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/code-download.svg +31 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/code-working.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/code.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/coffee.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/compass.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/compose.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/connection-bars.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/contrast.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/crop.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/cube.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/disc.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/document-text.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/document.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/drag.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/earth.svg +44 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/easel.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/edit.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/egg.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/eject.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/email-unread.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/email.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/erlenmeyer-flask-bubbles.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/erlenmeyer-flask.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/eye-disabled.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/eye.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/female.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/filing.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/film-marker.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/fireball.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/flag.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/flame.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/flash-off.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/flash.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/folder.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/fork-repo.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/fork.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/forward.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/funnel.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/gear-a.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/gear-b.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/grid.svg +32 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/hammer.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/happy-outline.svg +23 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/happy.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/headphone.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/heart-broken.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/heart.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/help-buoy.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/help-circled.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/help.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/home.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/icecream.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/image.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/images.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/information-circled.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/information.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ionic.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-alarm-outline.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-alarm.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-albums-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-albums.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-americanfootball-outline.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-americanfootball.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-analytics-outline.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-analytics.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-back.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-down.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-forward.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-left.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-right.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-thin-down.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-thin-left.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-thin-right.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-thin-up.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-arrow-up.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-at-outline.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-at.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-barcode-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-barcode.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-baseball-outline.svg +35 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-baseball.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-basketball-outline.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-basketball.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-bell-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-bell.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-body-outline.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-body.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-bolt-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-bolt.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-book-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-book.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-bookmarks-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-bookmarks.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-box-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-box.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-briefcase-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-briefcase.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-browsers-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-browsers.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-calculator-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-calculator.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-calendar-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-calendar.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-camera-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-camera.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cart-outline.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cart.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-chatboxes-outline.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-chatboxes.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-chatbubble-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-chatbubble.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-checkmark-empty.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-checkmark-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-checkmark.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-circle-filled.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-circle-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-clock-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-clock.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-close-empty.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-close-outline.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-close.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloud-download-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloud-download.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloud-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloud-upload-outline.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloud-upload.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloud.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloudy-night-outline.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloudy-night.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloudy-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cloudy.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cog-outline.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-cog.svg +23 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-color-filter-outline.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-color-filter.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-color-wand-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-color-wand.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-compose-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-compose.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-contact-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-contact.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-copy-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-copy.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-crop-strong.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-crop.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-download-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-download.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-drag.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-email-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-email.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-eye-outline.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-eye.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-fastforward-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-fastforward.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-filing-outline.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-filing.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-film-outline.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-film.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flag-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flag.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flame-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flame.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flask-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flask.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flower-outline.svg +75 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-flower.svg +38 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-folder-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-folder.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-football-outline.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-football.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-game-controller-a-outline.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-game-controller-a.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-game-controller-b-outline.svg +35 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-game-controller-b.svg +23 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-gear-outline.svg +40 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-gear.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-glasses-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-glasses.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-grid-view-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-grid-view.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-heart-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-heart.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-help-empty.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-help-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-help.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-home-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-home.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-infinite-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-infinite.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-information-empty.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-information-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-information.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-ionic-outline.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-keypad-outline.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-keypad.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-lightbulb-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-lightbulb.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-list-outline.svg +23 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-list.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-location-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-location.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-locked-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-locked.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-loop-strong.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-loop.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-medical-outline.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-medical.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-medkit-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-medkit.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-mic-off.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-mic-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-mic.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-minus-empty.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-minus-outline.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-minus.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-monitor-outline.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-monitor.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-moon-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-moon.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-more-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-more.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-musical-note.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-musical-notes.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-navigate-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-navigate.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-nutrition-outline.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-nutrition.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-paper-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-paper.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-paperplane-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-paperplane.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-partlysunny-outline.svg +33 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-partlysunny.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pause-outline.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pause.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-paw-outline.svg +43 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-paw.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-people-outline.svg +44 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-people.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-person-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-person.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-personadd-outline.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-personadd.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-photos-outline.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-photos.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pie-outline.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pie.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pint-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pint.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-play-outline.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-play.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-plus-empty.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-plus-outline.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-plus.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pricetag-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pricetag.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pricetags-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pricetags.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-printer-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-printer.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pulse-strong.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-pulse.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-rainy-outline.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-rainy.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-recording-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-recording.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-redo-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-redo.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-refresh-empty.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-refresh-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-refresh.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-reload.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-reverse-camera-outline.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-reverse-camera.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-rewind-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-rewind.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-rose-outline.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-rose.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-search-strong.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-search.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-settings-strong.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-settings.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-shuffle-strong.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-shuffle.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-skipbackward-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-skipbackward.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-skipforward-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-skipforward.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-snowy.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-speedometer-outline.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-speedometer.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-star-half.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-star-outline.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-star.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-stopwatch-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-stopwatch.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-sunny-outline.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-sunny.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-telephone-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-telephone.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-tennisball-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-tennisball.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-thunderstorm-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-thunderstorm.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-time-outline.svg +36 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-time.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-timer-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-timer.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-toggle-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-toggle.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-trash-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-trash.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-undo-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-undo.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-unlocked-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-unlocked.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-upload-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-upload.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-videocam-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-videocam.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-volume-high.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-volume-low.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-wineglass-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-wineglass.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-world-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ios-world.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ipad.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/iphone.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ipod.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/jet.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/key.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/knife.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/laptop.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/leaf.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/levels.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/lightbulb.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/link.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/load-a.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/load-b.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/load-c.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/load-d.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/location.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/lock-combination.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/locked.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/log-in.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/log-out.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/loop.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/magnet.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/male.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/man.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/map.svg +30 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/medkit.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/merge.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/mic-a.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/mic-b.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/mic-c.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/minus-circled.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/minus-round.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/minus.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/model-s.svg +33 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/monitor.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/more.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/mouse.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/music-note.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/navicon-round.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/navicon.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/navigate.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/network.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/no-smoking.svg +33 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/nuclear.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/outlet.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/paintbrush.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/paintbucket.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/paper-airplane.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/paperclip.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pause.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/person-add.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/person-stalker.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/person.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pie-graph.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pin.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pinpoint.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pizza.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/plane.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/planet.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/play.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/playstation.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/plus-circled.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/plus-round.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/plus.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/podium.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pound.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/power.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pricetag.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pricetags.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/printer.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/pull-request.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/qr-scanner.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/quote.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/radio-waves.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/record.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/refresh.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/reply-all.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/reply.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ribbon-a.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/ribbon-b.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/sad-outline.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/sad.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/scissors.svg +23 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/search.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/settings.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/share.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/shuffle.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/skip-backward.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/skip-forward.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-android-outline.svg +29 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-android.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-angular-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-angular.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-apple-outline.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-apple.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-bitcoin-outline.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-bitcoin.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-buffer-outline.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-buffer.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-chrome-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-chrome.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-codepen-outline.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-codepen.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-css3-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-css3.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-designernews-outline.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-designernews.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-dribbble-outline.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-dribbble.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-dropbox-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-dropbox.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-euro-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-euro.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-facebook-outline.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-facebook.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-foursquare-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-foursquare.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-freebsd-devil.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-github-outline.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-github.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-google-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-google.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-googleplus-outline.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-googleplus.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-hackernews-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-hackernews.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-html5-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-html5.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-instagram-outline.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-instagram.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-javascript-outline.svg +27 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-javascript.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-linkedin-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-linkedin.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-markdown.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-nodejs.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-octocat.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-pinterest-outline.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-pinterest.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-python.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-reddit-outline.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-reddit.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-rss-outline.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-rss.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-sass.svg +35 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-skype-outline.svg +26 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-skype.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-snapchat-outline.svg +42 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-snapchat.svg +31 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-tumblr-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-tumblr.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-tux.svg +53 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-twitch-outline.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-twitch.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-twitter-outline.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-twitter.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-usd-outline.svg +44 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-usd.svg +24 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-vimeo-outline.svg +23 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-vimeo.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-whatsapp-outline.svg +25 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-whatsapp.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-windows-outline.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-windows.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-wordpress-outline.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-wordpress.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-yahoo-outline.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-yahoo.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-yen-outline.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-yen.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-youtube-outline.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/social-youtube.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/soup-can-outline.svg +28 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/soup-can.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/speakerphone.svg +19 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/speedometer.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/spoon.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/star.svg +7 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/stats-bars.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/steam.svg +20 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/stop.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/thermometer.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/thumbsdown.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/thumbsup.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/toggle-filled.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/toggle.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/transgender.svg +12 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/trash-a.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/trash-b.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/trophy.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/tshirt-outline.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/tshirt.svg +8 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/umbrella.svg +18 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/university.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/unlocked.svg +10 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/upload.svg +9 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/usb.svg +22 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/videocamera.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/volume-high.svg +15 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/volume-low.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/volume-medium.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/volume-mute.svg +14 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/wand.svg +17 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/waterdrop.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/wifi.svg +16 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/wineglass.svg +21 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/woman.svg +13 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/wrench.svg +11 -0
 - data/vendor/assets/bower_components/trestle/ionicons/src/xbox.svg +21 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/.bower.json +32 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/CONTRIBUTING.md +109 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/MIT-LICENSE +20 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/README.md +86 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/RELEASE.md +23 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/bower.json +19 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/package.json +26 -0
 - data/vendor/assets/bower_components/trestle/jquery-ujs/src/rails.js +555 -0
 - data/vendor/assets/bower_components/trestle/jquery/.bower.json +25 -0
 - data/vendor/assets/bower_components/trestle/jquery/AUTHORS.txt +301 -0
 - data/vendor/assets/bower_components/trestle/jquery/LICENSE.txt +36 -0
 - data/vendor/assets/bower_components/trestle/jquery/README.md +67 -0
 - data/vendor/assets/bower_components/trestle/jquery/bower.json +14 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/core.js +476 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/jquery.js +10253 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/jquery.min.js +4 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/jquery.min.map +1 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/jquery.slim.js +8160 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/jquery.slim.min.js +4 -0
 - data/vendor/assets/bower_components/trestle/jquery/dist/jquery.slim.min.map +1 -0
 - data/vendor/assets/bower_components/trestle/jquery/external/sizzle/LICENSE.txt +36 -0
 - data/vendor/assets/bower_components/trestle/jquery/external/sizzle/dist/sizzle.js +2272 -0
 - data/vendor/assets/bower_components/trestle/jquery/external/sizzle/dist/sizzle.min.js +3 -0
 - data/vendor/assets/bower_components/trestle/jquery/external/sizzle/dist/sizzle.min.map +1 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/.eslintrc.json +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax.js +855 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/jsonp.js +102 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/load.js +76 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/parseXML.js +30 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/script.js +77 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/var/location.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/var/nonce.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/var/rquery.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/ajax/xhr.js +169 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/attributes.js +13 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/attributes/attr.js +141 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/attributes/classes.js +174 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/attributes/prop.js +143 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/attributes/support.js +33 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/attributes/val.js +190 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/callbacks.js +234 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core.js +476 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/DOMEval.js +16 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/access.js +70 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/init.js +128 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/nodeName.js +13 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/parseHTML.js +65 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/ready-no-deferred.js +96 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/ready.js +86 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/readyException.js +13 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/stripAndCollapse.js +14 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/support.js +20 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/core/var/rsingleTag.js +6 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css.js +438 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/addGetHookIf.js +26 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/adjustCSS.js +71 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/curCSS.js +65 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/hiddenVisibleSelectors.js +15 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/showHide.js +105 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/support.js +89 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/var/cssExpand.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/var/getStyles.js +17 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/var/isHiddenWithinTree.js +34 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/var/rmargin.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/var/rnumnonpx.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/css/var/swap.js +26 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/data.js +179 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/data/Data.js +161 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/data/var/acceptData.js +19 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/data/var/dataPriv.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/data/var/dataUser.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/deferred.js +391 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/deferred/exceptionHook.js +21 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/deprecated.js +40 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/dimensions.js +56 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/effects.js +699 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/effects/Tween.js +123 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/effects/animatedSelector.js +15 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/event.js +746 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/event/ajax.js +22 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/event/alias.js +29 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/event/focusin.js +55 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/event/support.js +11 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/event/trigger.js +185 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/exports/amd.js +26 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/exports/global.js +34 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/jquery.js +41 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation.js +488 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/_evalUrl.js +23 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/buildFragment.js +104 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/getAll.js +32 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/setGlobalEval.js +22 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/support.js +35 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/var/rcheckableType.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/var/rscriptType.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/var/rtagName.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/manipulation/wrapMap.js +29 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/offset.js +229 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/queue.js +145 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/queue/delay.js +24 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/selector-native.js +237 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/selector-sizzle.js +19 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/selector.js +3 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/serialize.js +130 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/traversing.js +191 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/traversing/findFilter.js +106 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/traversing/var/dir.js +22 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/traversing/var/rneedsContext.js +8 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/traversing/var/siblings.js +17 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/ObjectFunctionString.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/arr.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/class2type.js +6 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/concat.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/document.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/documentElement.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/fnToString.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/getProto.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/hasOwn.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/indexOf.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/pnum.js +5 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/push.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/rcssNum.js +9 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/rnothtmlwhite.js +8 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/slice.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/support.js +6 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/var/toString.js +7 -0
 - data/vendor/assets/bower_components/trestle/jquery/src/wrap.js +77 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/.bower.json +27 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/.gitignore +24 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/.jshintrc +21 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/.travis.yml +7 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/Gruntfile.js +213 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/LICENSE +20 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/README.md +76 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/bower.json +16 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/composer.json +5 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/dist/jquery.magnific-popup.js +1860 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/dist/jquery.magnific-popup.min.js +4 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/dist/magnific-popup.css +351 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/magnific-popup.jquery.json +29 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/package.json +55 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/css/_settings.scss +44 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/css/main.scss +543 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/ajax.js +77 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/core.js +939 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/gallery.js +164 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/iframe.js +102 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/image.js +244 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/inline.js +66 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/retina.js +35 -0
 - data/vendor/assets/bower_components/trestle/magnific-popup/src/js/zoom.js +183 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/.bower.json +40 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/Gruntfile.js +224 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/LICENSE +21 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/README.md +154 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/bower.json +30 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/dist/select2-bootstrap.css +721 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/dist/select2-bootstrap.min.css +7 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/4.0.0.html +4 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/4.0.1.html +4 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/4.0.2.html +4 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/4.0.3.html +4 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_config.yml +8 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_includes/footer-links.html +7 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_includes/footer.html +10 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_includes/head.html +14 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_includes/navbar.html +31 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_includes/scripts.html +2 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_includes/select2-select.html +58 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_layouts/default.html +641 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_layouts/minimal.html +7 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_alert.sass +17 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_anchorjs.sass +6 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_buttons.sass +8 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_common.sass +25 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_extends.sass +4 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_footer.sass +27 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_home.sass +8 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_jumbotron.sass +36 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_mixins.sass +9 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_navbar.sass +4 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_select2-result-repository.sass +40 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/_sass/_variables.sass +1 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/css/bootstrap.min.css +6 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/css/gh-pages.sass +16 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/css/select2-bootstrap.css +721 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/favicon.ico +0 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.eot +0 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.svg +288 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.ttf +0 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.woff +0 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/fonts/glyphicons-halflings-regular.woff2 +0 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/images/logo.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/index.html +55 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/js/anchor.min.js +6 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/js/bootstrap.min.js +7 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/docs/js/respond.min.js +5 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/package.json +55 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/src/build.less +3 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/src/build.scss +3 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/src/select2-bootstrap.less +826 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/src/select2-bootstrap.scss +826 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/tests/less_test.js +25 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/tests/scss_test.js +25 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/tests/support/less.patch +669 -0
 - data/vendor/assets/bower_components/trestle/select2-bootstrap-theme/tests/support/scss.patch +4 -0
 - data/vendor/assets/bower_components/trestle/select2/.bower.json +23 -0
 - data/vendor/assets/bower_components/trestle/select2/.editorconfig +6 -0
 - data/vendor/assets/bower_components/trestle/select2/.gitignore +3 -0
 - data/vendor/assets/bower_components/trestle/select2/.jshintignore +4 -0
 - data/vendor/assets/bower_components/trestle/select2/.jshintrc +25 -0
 - data/vendor/assets/bower_components/trestle/select2/.travis.yml +22 -0
 - data/vendor/assets/bower_components/trestle/select2/CONTRIBUTING.md +204 -0
 - data/vendor/assets/bower_components/trestle/select2/Gruntfile.js +370 -0
 - data/vendor/assets/bower_components/trestle/select2/ISSUE_TEMPLATE.md +46 -0
 - data/vendor/assets/bower_components/trestle/select2/LICENSE.md +21 -0
 - data/vendor/assets/bower_components/trestle/select2/PULL_REQUEST_TEMPLATE.md +13 -0
 - data/vendor/assets/bower_components/trestle/select2/README.md +121 -0
 - data/vendor/assets/bower_components/trestle/select2/bower.json +12 -0
 - data/vendor/assets/bower_components/trestle/select2/component.json +19 -0
 - data/vendor/assets/bower_components/trestle/select2/composer.json +25 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/css/select2.css +484 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/css/select2.min.css +1 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ar.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/az.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/bg.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ca.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/cs.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/da.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/de.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/el.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/en.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/es.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/et.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/eu.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/fa.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/fi.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/fr.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/gl.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/he.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/hi.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/hr.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/hu.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/id.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/is.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/it.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ja.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/km.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ko.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/lt.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/lv.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/mk.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ms.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/nb.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/nl.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/pl.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/pt-BR.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/pt.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ro.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/ru.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/sk.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/sr-Cyrl.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/sr.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/sv.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/th.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/tr.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/uk.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/vi.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/zh-CN.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/i18n/zh-TW.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/select2.full.js +6436 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/select2.full.min.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/select2.js +5725 -0
 - data/vendor/assets/bower_components/trestle/select2/dist/js/select2.min.js +3 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/.gitignore +2 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/README.md +38 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/basics.html +97 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/data.html +123 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/disabled-mode.html +43 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/disabled-results.html +29 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/hide-search.html +22 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/localization-rtl-diacritics.html +82 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/matcher.html +39 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/multiple-max.html +24 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/placeholders.html +36 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/programmatic-control.html +155 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/tags.html +29 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/themes-templating-responsive-design.html +104 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/examples/tokenizer.html +32 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/footer.html +20 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/ga.html +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/head.html +31 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/js-source-states.html +62 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/nav/announcements-4.0.html +26 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/nav/examples.html +96 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/nav/options-old.html +55 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/nav/options.html +77 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/navigation.html +53 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/notice-previous.html +7 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options-old/adapters.html +209 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options-old/backwards-compatibility.html +200 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options-old/core-options.html +790 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options-old/dropdown.html +308 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options-old/events.html +50 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options-old/setting-default-options.html +37 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/compatibility.html +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/compatibility/initial-selection.html +50 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/compatibility/introduction.html +18 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/compatibility/matcher.html +50 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/compatibility/query-function.html +50 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/compatibility/text-input.html +32 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/core.html +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/core/amd-support.html +46 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/core/data-attributes.html +76 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/core/options.html +80 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/data.html +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/data/ajax.html +147 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/data/array.html +150 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/data/select.html +69 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/dropdown.html +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/dropdown/filtering.html +55 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/dropdown/placement.html +39 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/dropdown/selections.html +29 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/dropdown/tagging.html +89 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/events.html +8 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/events/internal.html +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/events/jquery.html +101 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/introduction.html +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/not-written.html +3 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/selections.html +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/selections/clearing-selections.html +34 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/selections/multiple.html +17 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/selections/placeholder.html +84 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/options/selections/templating.html +37 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_includes/social-buttons.html +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_layouts/default.html +57 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_layouts/home.html +23 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_alert.scss +47 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_anchorjs.scss +27 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_buttons.scss +20 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_code.scss +16 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_dl-panels.scss +24 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_examples.scss +91 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_featurette.scss +16 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_footer.scss +42 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_hamburger.scss +49 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_home.scss +31 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_jumbotron.scss +24 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_layout.scss +14 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_nav.scss +59 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_prettify.scss +50 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_result-repository.scss +62 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_sidenav.scss +152 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_social.scss +35 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_syntax-highlighting.scss +117 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/_typography.scss +6 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_alerts.scss +73 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_badges.scss +68 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_breadcrumbs.scss +28 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_button-groups.scss +244 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_buttons.scss +168 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_carousel.scss +270 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_close.scss +36 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_code.scss +69 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_component-animations.scss +37 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_dropdowns.scss +216 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_forms.scss +617 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_glyphicons.scss +307 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_grid.scss +84 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_input-groups.scss +171 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_jumbotron.scss +54 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_labels.scss +66 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_list-group.scss +130 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_media.scss +66 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_mixins.scss +40 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_modals.scss +150 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_navbar.scss +662 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_navs.scss +242 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_normalize.scss +424 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_pager.scss +54 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_pagination.scss +89 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_panels.scss +271 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_popovers.scss +131 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_print.scss +101 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_progress-bars.scss +87 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_responsive-embed.scss +35 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_responsive-utilities.scss +179 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_scaffolding.scss +161 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_tables.scss +234 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_theme.scss +291 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_thumbnails.scss +38 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_tooltip.scss +101 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_type.scss +298 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_utilities.scss +55 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_variables.scss +874 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/_wells.scss +29 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_alerts.scss +14 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_background-variant.scss +12 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_border-radius.scss +18 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_buttons.scss +65 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_center-block.scss +7 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_clearfix.scss +22 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_forms.scss +88 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_gradients.scss +58 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_grid-framework.scss +81 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_grid.scss +122 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_hide-text.scss +21 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_image.scss +33 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_labels.scss +12 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_list-group.scss +32 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_nav-divider.scss +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_nav-vertical-align.scss +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_opacity.scss +8 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_pagination.scss +24 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_panels.scss +24 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_progress-bar.scss +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_reset-filter.scss +8 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_reset-text.scss +18 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_resize.scss +6 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_responsive-visibility.scss +21 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_size.scss +10 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_tab-focus.scss +9 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_table-row.scss +28 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_text-emphasis.scss +12 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_text-overflow.scss +8 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/bootstrap/mixins/_vendor-prefixes.scss +222 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_animated.scss +34 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_bordered-pulled.scss +25 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_core.scss +12 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_fixed-width.scss +6 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_icons.scss +697 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_larger.scss +13 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_list.scss +19 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_mixins.scss +26 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_path.scss +15 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_rotated-flipped.scss +20 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_stacked.scss +20 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/_sass/vendor/font-awesome/_variables.scss +708 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/announcements-4.0.html +752 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/browserconfig.xml +11 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/community.html +154 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/css/bootstrap.scss +51 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/css/font-awesome.scss +16 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/css/s2-docs.scss +24 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/examples.html +256 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/android-chrome-36x36.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/android-chrome-48x48.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/android-chrome-72x72.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/apple-touch-icon-57x57.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/apple-touch-icon-60x60.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/apple-touch-icon-72x72.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/apple-touch-icon-precomposed.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/apple-touch-icon.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/favicon-16x16.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/favicon-32x32.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/favicon.ico +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/logo.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/manifest.json +23 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/mstile-150x150.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/mstile-310x150.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/mstile-70x70.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/images/safari-pinned-tab.svg +17 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/index.html +237 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/options-old.html +37 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/options.html +37 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/fonts/FontAwesome.otf +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/fonts/fontawesome-webfont.eot +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/fonts/fontawesome-webfont.svg +655 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/fonts/fontawesome-webfont.ttf +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/fonts/fontawesome-webfont.woff +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/fonts/fontawesome-webfont.woff2 +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ak.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/al.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ar.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/az.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ca.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/co.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ct.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/de.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/fl.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ga.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/hi.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ia.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/id.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/il.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/in.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ks.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ky.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/la.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ma.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/md.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/me.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/mi.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/mn.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/mo.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ms.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/mt.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/nc.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/nd.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ne.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/nh.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/nj.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/nm.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/nv.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ny.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/oh.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ok.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/or.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/pa.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ri.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/sc.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/sd.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/tn.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/tx.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/ut.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/va.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/vt.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/wa.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/wi.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/wv.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/images/flags/wy.png +0 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/js/anchor.min.js +6 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/js/bootstrap.min.js +6 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/js/jquery.min.js +4 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/js/placeholders.jquery.min.js +2 -0
 - data/vendor/assets/bower_components/trestle/select2/docs/vendor/js/prettify.min.js +28 -0
 - data/vendor/assets/bower_components/trestle/select2/package.json +66 -0
 - data/vendor/assets/bower_components/trestle/select2/select2.jquery.json +32 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/banner.end.js +6 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/banner.start.js +6 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/jquery.mousewheel.shim.js +6 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/jquery.select2.js +57 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/jquery.shim.js +14 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/containerCss.js +56 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/dropdownCss.js +56 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/initSelection.js +42 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/inputData.js +127 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/matcher.js +42 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/query.js +26 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/compat/utils.js +43 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/core.js +612 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/ajax.js +109 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/array.js +79 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/base.js +40 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/maximumInputLength.js +31 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/maximumSelectionLength.js +31 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/minimumInputLength.js +30 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/select.js +285 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/tags.js +125 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/data/tokenizer.js +116 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/defaults.js +396 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/diacritics.js +847 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown.js +42 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/attachBody.js +222 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/attachContainer.js +18 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/closeOnSelect.js +35 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/hidePlaceholder.js +42 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/infiniteScroll.js +89 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/minimumResultsForSearch.js +39 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/search.js +101 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/selectOnClose.js +50 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/dropdown/stopPropagation.js +38 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ar.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/az.js +27 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/bg.js +47 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ca.js +52 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/cs.js +61 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/da.js +40 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/de.js +37 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/el.js +52 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/en.js +44 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/es.js +52 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/et.js +53 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/eu.js +51 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/fa.js +38 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/fi.js +27 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/fr.js +49 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/gl.js +51 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/he.js +56 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/hi.js +39 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/hr.js +44 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/hu.js +27 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/id.js +30 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/is.js +41 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/it.js +48 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ja.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/km.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ko.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/lt.js +52 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/lv.js +51 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/mk.js +47 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ms.js +30 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/nb.js +38 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/nl.js +43 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/pl.js +45 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/pt-BR.js +46 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/pt.js +40 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ro.js +46 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/ru.js +58 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/sk.js +56 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/sr-Cyrl.js +55 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/sr.js +55 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/sv.js +37 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/th.js +33 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/tr.js +33 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/uk.js +43 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/vi.js +37 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/zh-CN.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/i18n/zh-TW.js +33 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/keys.js +25 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/options.js +122 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/results.js +523 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/allowClear.js +97 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/base.js +158 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/clickMask.js +29 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/eventRelay.js +45 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/multiple.js +109 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/placeholder.js +49 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/search.js +222 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/single.js +99 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/selection/stopPropagation.js +38 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/translation.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/select2/utils.js +276 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/wrapper.end.js +12 -0
 - data/vendor/assets/bower_components/trestle/select2/src/js/wrapper.start.js +23 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/_dropdown.scss +73 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/_multiple.scss +35 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/_single.scss +34 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/core.scss +48 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/mixins/_gradients.scss +13 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/classic/_defaults.scss +34 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/classic/_multiple.scss +93 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/classic/_single.scss +124 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/classic/layout.scss +64 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/default/_multiple.scss +98 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/default/_single.scss +83 -0
 - data/vendor/assets/bower_components/trestle/select2/src/scss/theme/default/layout.scss +97 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/a11y/search-tests.js +51 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/a11y/selection-tests.js +154 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/array-tests.js +318 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/base-tests.js +29 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/inputData-tests.js +158 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/maximumInputLength-tests.js +138 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/maximumSelectionLength-tests.js +202 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/minimumInputLength-tests.js +138 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/select-tests.js +457 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/tags-tests.js +261 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/data/tokenizer-tests.js +219 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/dropdown/dropdownCss-tests.js +104 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/dropdown/positioning-tests.js +177 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/dropdown/selectOnClose-tests.js +137 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/dropdown/stopPropagation-tests.js +33 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/helpers.js +46 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/integration.html +21 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/integration/dom-changes.js +257 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/integration/jquery-calls.js +30 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/integration/select2-methods.js +139 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/options/ajax-tests.js +32 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/options/data-tests.js +44 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/options/deprecated-tests.js +250 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/options/translation-tests.js +28 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/options/width-tests.js +66 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/results/focusing-tests.js +138 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/allowClear-tests.js +218 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/containerCss-tests.js +104 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/multiple-tests.js +149 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/placeholder-tests.js +74 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/search-tests.js +191 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/single-tests.js +117 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/selection/stopPropagation-tests.js +33 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/unit.html +95 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/utils/decorator-tests.js +189 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/utils/escapeMarkup-tests.js +36 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/vendor/jquery-1.7.2.js +9404 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/vendor/qunit-1.23.1.css +305 -0
 - data/vendor/assets/bower_components/trestle/select2/tests/vendor/qunit-1.23.1.js +4334 -0
 - data/vendor/assets/bower_components/trestle/select2/vendor/jquery-2.1.0.js +9111 -0
 - data/vendor/assets/javascripts/trestle/bootstrap-confirmation.js +1 -0
 - data/vendor/assets/javascripts/trestle/bootstrap.js +1 -0
 - data/vendor/assets/javascripts/trestle/flatpickr.js.erb +5 -0
 - data/vendor/assets/javascripts/trestle/jquery.js +1 -0
 - data/vendor/assets/javascripts/trestle/jquery_ujs.js +1 -0
 - data/vendor/assets/javascripts/trestle/magnific-popup.js +1 -0
 - data/vendor/assets/javascripts/trestle/select2.js +1 -0
 - data/vendor/assets/stylesheets/trestle/bootstrap.scss +4 -0
 - data/vendor/assets/stylesheets/trestle/flatpickr.scss +1 -0
 - data/vendor/assets/stylesheets/trestle/font-awesome.scss +26 -0
 - data/vendor/assets/stylesheets/trestle/ionicons.scss +32 -0
 - data/vendor/assets/stylesheets/trestle/magnific-popup.scss +1 -0
 - data/vendor/assets/stylesheets/trestle/select2.scss +2 -0
 - metadata +2794 -0
 
| 
         @@ -0,0 +1,4 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
         
     | 
| 
      
 2 
     | 
    
         
            +
            !function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=Array.isArray(d)))?(e?(e=!1,f=c&&Array.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,N,e),g(f,c,O,e)):(f++,j.call(a,g(f,c,N,e),g(f,c,O,e),g(f,c,N,c.notifyWith))):(d!==N&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a);
         
     | 
| 
      
 3 
     | 
    
         
            +
            }),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S),a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},U=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function V(){this.expando=r.expando+V.uid++}V.uid=1,V.prototype={cache:function(a){var b=a[this.expando];return b||(b={},U(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){Array.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(L)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var W=new V,X=new V,Y=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function $(a){return"true"===a||"false"!==a&&("null"===a?null:a===+a+""?+a:Y.test(a)?JSON.parse(a):a)}function _(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Z,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c=$(c)}catch(e){}X.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return X.hasData(a)||W.hasData(a)},data:function(a,b,c){return X.access(a,b,c)},removeData:function(a,b){X.remove(a,b)},_data:function(a,b,c){return W.access(a,b,c)},_removeData:function(a,b){W.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=X.get(f),1===f.nodeType&&!W.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),_(f,d,e[d])));W.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){X.set(this,a)}):T(this,function(b){var c;if(f&&void 0===b){if(c=X.get(f,a),void 0!==c)return c;if(c=_(f,a),void 0!==c)return c}else this.each(function(){X.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=W.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var aa=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ba=new RegExp("^(?:([+-])=|)("+aa+")([a-z%]*)$","i"),ca=["Top","Right","Bottom","Left"],da=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ea=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function fa(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&ba.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ga={};function ha(a){var b,c=a.ownerDocument,d=a.nodeName,e=ga[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ga[d]=e,e)}function ia(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=W.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&da(d)&&(e[f]=ha(d))):"none"!==c&&(e[f]="none",W.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ia(this,!0)},hide:function(){return ia(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){da(this)?r(this).show():r(this).hide()})}});var ja=/^(?:checkbox|radio)$/i,ka=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c<d;c++)W.set(a[c],"globalEval",!b||W.get(b[c],"globalEval"))}var pa=/<|&#?\w+;/;function qa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(pa.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ka.exec(f)||["",""])[1].toLowerCase(),i=ma[h]||ma._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g,h=[],i=b.delegateCount,j=a.target;if(i&&j.nodeType&&!("click"===a.type&&a.button>=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c<i;c++)d=b[c],e=d.selector+" ",void 0===g[e]&&(g[e]=d.needsContext?r(e,this).index(j)>-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i<b.length&&h.push({elem:j,handlers:b.slice(i)}),h},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==xa()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===xa()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&B(this,"input"))return this.click(),!1},_default:function(a){return B(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?va:wa,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:wa,isPropagationStopped:wa,isImmediatePropagationStopped:wa,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=va,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=va,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=va,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&sa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ta.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return ya(this,a,b,c,d)},one:function(a,b,c,d){return ya(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=wa),this.each(function(){r.event.remove(this,a,c,b)})}});var za=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/<script|<style|<link/i,Ba=/checked\s*(?:[^=]|=\s*.checked.)/i,Ca=/^true\/(.*)/,Da=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}X.hasData(a)&&(h=X.access(a),i=r.extend({},h),X.set(b,i))}}function Ia(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ja.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ja(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,na(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ga),l=0;l<i;l++)j=h[l],la.test(j.type||"")&&!W.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Da,""),k))}return a}function Ka(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(na(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&oa(na(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(za,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d<e;d++)Ia(f[d],g[d]);if(b)if(c)for(f=f||na(a),g=g||na(h),d=0,e=f.length;d<e;d++)Ha(f[d],g[d]);else Ha(a,h);return g=na(h,"script"),g.length>0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(na(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ja(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(na(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var La=/^margin/,Ma=new RegExp("^("+aa+")(?!px)[a-z%]+$","i"),Na=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",ra.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,ra.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Oa(a,b,c){var d,e,f,g,h=a.style;return c=c||Na(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ma.test(g)&&La.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Pa(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Qa=/^(none|table(?!-c[ea]).+)/,Ra=/^--/,Sa={position:"absolute",visibility:"hidden",display:"block"},Ta={letterSpacing:"0",fontWeight:"400"},Ua=["Webkit","Moz","ms"],Va=d.createElement("div").style;function Wa(a){if(a in Va)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ua.length;while(c--)if(a=Ua[c]+b,a in Va)return a}function Xa(a){var b=r.cssProps[a];return b||(b=r.cssProps[a]=Wa(a)||a),b}function Ya(a,b,c){var d=ba.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Za(a,b,c,d,e){var f,g=0;for(f=c===(d?"border":"content")?4:"width"===b?1:0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+ca[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+ca[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+ca[f]+"Width",!0,e))):(g+=r.css(a,"padding"+ca[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+ca[f]+"Width",!0,e)));return g}function $a(a,b,c){var d,e=Na(a),f=Oa(a,b,e),g="border-box"===r.css(a,"boxSizing",!1,e);return Ma.test(f)?f:(d=g&&(o.boxSizingReliable()||f===a.style[b]),"auto"===f&&(f=a["offset"+b[0].toUpperCase()+b.slice(1)]),f=parseFloat(f)||0,f+Za(a,b,c||(g?"border":"content"),d,e)+"px")}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Oa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=Ra.test(b),j=a.style;return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:j[b]:(f=typeof c,"string"===f&&(e=ba.exec(c))&&e[1]&&(c=fa(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(j[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i?j.setProperty(b,c):j[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b),i=Ra.test(b);return i||(b=Xa(h)),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Oa(a,b,d)),"normal"===e&&b in Ta&&(e=Ta[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Qa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?$a(a,b,d):ea(a,Sa,function(){return $a(a,b,d)})},set:function(a,c,d){var e,f=d&&Na(a),g=d&&Za(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=ba.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ya(a,c,g)}}}),r.cssHooks.marginLeft=Pa(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Oa(a,"marginLeft"))||a.getBoundingClientRect().left-ea(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+ca[d]+b]=f[d]||f[d-2]||f[0];return e}},La.test(a)||(r.cssHooks[a+b].set=Ya)}),r.fn.extend({css:function(a,b){return T(this,function(a,b,c){var d,e,f={},g=0;if(Array.isArray(b)){for(d=Na(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}}),r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var _a,ab=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return T(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?_a:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),_a={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ab[b]||r.find.attr;ab[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ab[g],ab[g]=e,e=null!=c(a,b,d)?g:null,ab[g]=f),e}});var bb=/^(?:input|select|textarea|button)$/i,cb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function db(a){var b=a.match(L)||[];return b.join(" ")}function eb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,eb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,eb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=eb(c),d=1===c.nodeType&&" "+db(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=db(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,eb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=eb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+db(eb(c))+" ").indexOf(b)>-1)return!0;return!1}});var fb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(fb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:db(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d<i;d++)if(c=e[d],(c.selected||d===f)&&!c.disabled&&(!c.parentNode.disabled||!B(c.parentNode,"optgroup"))){if(b=r(c).val(),g)return b;h.push(b)}return h},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var gb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!gb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,gb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var hb=/\[\]$/,ib=/\r?\n/g,jb=/^(?:submit|button|image|reset|file)$/i,kb=/^(?:input|select|textarea|keygen)/i;function lb(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||hb.test(a)?d(a,e):lb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d);
         
     | 
| 
      
 4 
     | 
    
         
            +
            });else if(c||"object"!==r.type(b))d(a,b);else for(e in b)lb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)lb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&kb.test(this.nodeName)&&!jb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ib,"\r\n")}}):{name:b.name,value:c.replace(ib,"\r\n")}}).get()}}),r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=C.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=qa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),b=f.ownerDocument,c=b.documentElement,e=b.defaultView,{top:d.top+e.pageYOffset-c.clientTop,left:d.left+e.pageXOffset-c.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),B(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||ra})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return T(this,function(a,d,e){var f;return r.isWindow(a)?f=a:9===a.nodeType&&(f=a.defaultView),void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Pa(o.pixelPosition,function(a,c){if(c)return c=Oa(a,b),Ma.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return T(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.holdReady=function(a){a?r.readyWait++:r.ready(!0)},r.isArray=Array.isArray,r.parseJSON=JSON.parse,r.nodeName=B,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var mb=a.jQuery,nb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=nb),b&&a.jQuery===r&&(a.jQuery=mb),r},b||(a.jQuery=a.$=r),r});
         
     | 
| 
         @@ -0,0 +1 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","risSimple","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","float","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","opt","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","propHooks","tabindex","parseInt","for","class","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","unwrap","hidden","visible","offsetWidth","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"}
         
     | 
| 
         @@ -0,0 +1,36 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Copyright jQuery Foundation and other contributors, https://jquery.org/
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            This software consists of voluntary contributions made by many
         
     | 
| 
      
 4 
     | 
    
         
            +
            individuals. For exact contribution history, see the revision history
         
     | 
| 
      
 5 
     | 
    
         
            +
            available at https://github.com/jquery/sizzle
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            The following license applies to all parts of this software except as
         
     | 
| 
      
 8 
     | 
    
         
            +
            documented below:
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            ====
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            Permission is hereby granted, free of charge, to any person obtaining
         
     | 
| 
      
 13 
     | 
    
         
            +
            a copy of this software and associated documentation files (the
         
     | 
| 
      
 14 
     | 
    
         
            +
            "Software"), to deal in the Software without restriction, including
         
     | 
| 
      
 15 
     | 
    
         
            +
            without limitation the rights to use, copy, modify, merge, publish,
         
     | 
| 
      
 16 
     | 
    
         
            +
            distribute, sublicense, and/or sell copies of the Software, and to
         
     | 
| 
      
 17 
     | 
    
         
            +
            permit persons to whom the Software is furnished to do so, subject to
         
     | 
| 
      
 18 
     | 
    
         
            +
            the following conditions:
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            The above copyright notice and this permission notice shall be
         
     | 
| 
      
 21 
     | 
    
         
            +
            included in all copies or substantial portions of the Software.
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
         
     | 
| 
      
 24 
     | 
    
         
            +
            EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
         
     | 
| 
      
 25 
     | 
    
         
            +
            MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
         
     | 
| 
      
 26 
     | 
    
         
            +
            NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
         
     | 
| 
      
 27 
     | 
    
         
            +
            LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
         
     | 
| 
      
 28 
     | 
    
         
            +
            OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
         
     | 
| 
      
 29 
     | 
    
         
            +
            WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            ====
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            All files located in the node_modules and external directories are
         
     | 
| 
      
 34 
     | 
    
         
            +
            externally maintained libraries used by this software which have their
         
     | 
| 
      
 35 
     | 
    
         
            +
            own licenses; we recommend you read them, as their terms may differ from
         
     | 
| 
      
 36 
     | 
    
         
            +
            the terms above.
         
     | 
| 
         @@ -0,0 +1,2272 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /*!
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Sizzle CSS Selector Engine v2.3.3
         
     | 
| 
      
 3 
     | 
    
         
            +
             * https://sizzlejs.com/
         
     | 
| 
      
 4 
     | 
    
         
            +
             *
         
     | 
| 
      
 5 
     | 
    
         
            +
             * Copyright jQuery Foundation and other contributors
         
     | 
| 
      
 6 
     | 
    
         
            +
             * Released under the MIT license
         
     | 
| 
      
 7 
     | 
    
         
            +
             * http://jquery.org/license
         
     | 
| 
      
 8 
     | 
    
         
            +
             *
         
     | 
| 
      
 9 
     | 
    
         
            +
             * Date: 2016-08-08
         
     | 
| 
      
 10 
     | 
    
         
            +
             */
         
     | 
| 
      
 11 
     | 
    
         
            +
            (function( window ) {
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            var i,
         
     | 
| 
      
 14 
     | 
    
         
            +
            	support,
         
     | 
| 
      
 15 
     | 
    
         
            +
            	Expr,
         
     | 
| 
      
 16 
     | 
    
         
            +
            	getText,
         
     | 
| 
      
 17 
     | 
    
         
            +
            	isXML,
         
     | 
| 
      
 18 
     | 
    
         
            +
            	tokenize,
         
     | 
| 
      
 19 
     | 
    
         
            +
            	compile,
         
     | 
| 
      
 20 
     | 
    
         
            +
            	select,
         
     | 
| 
      
 21 
     | 
    
         
            +
            	outermostContext,
         
     | 
| 
      
 22 
     | 
    
         
            +
            	sortInput,
         
     | 
| 
      
 23 
     | 
    
         
            +
            	hasDuplicate,
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            	// Local document vars
         
     | 
| 
      
 26 
     | 
    
         
            +
            	setDocument,
         
     | 
| 
      
 27 
     | 
    
         
            +
            	document,
         
     | 
| 
      
 28 
     | 
    
         
            +
            	docElem,
         
     | 
| 
      
 29 
     | 
    
         
            +
            	documentIsHTML,
         
     | 
| 
      
 30 
     | 
    
         
            +
            	rbuggyQSA,
         
     | 
| 
      
 31 
     | 
    
         
            +
            	rbuggyMatches,
         
     | 
| 
      
 32 
     | 
    
         
            +
            	matches,
         
     | 
| 
      
 33 
     | 
    
         
            +
            	contains,
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            	// Instance-specific data
         
     | 
| 
      
 36 
     | 
    
         
            +
            	expando = "sizzle" + 1 * new Date(),
         
     | 
| 
      
 37 
     | 
    
         
            +
            	preferredDoc = window.document,
         
     | 
| 
      
 38 
     | 
    
         
            +
            	dirruns = 0,
         
     | 
| 
      
 39 
     | 
    
         
            +
            	done = 0,
         
     | 
| 
      
 40 
     | 
    
         
            +
            	classCache = createCache(),
         
     | 
| 
      
 41 
     | 
    
         
            +
            	tokenCache = createCache(),
         
     | 
| 
      
 42 
     | 
    
         
            +
            	compilerCache = createCache(),
         
     | 
| 
      
 43 
     | 
    
         
            +
            	sortOrder = function( a, b ) {
         
     | 
| 
      
 44 
     | 
    
         
            +
            		if ( a === b ) {
         
     | 
| 
      
 45 
     | 
    
         
            +
            			hasDuplicate = true;
         
     | 
| 
      
 46 
     | 
    
         
            +
            		}
         
     | 
| 
      
 47 
     | 
    
         
            +
            		return 0;
         
     | 
| 
      
 48 
     | 
    
         
            +
            	},
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            	// Instance methods
         
     | 
| 
      
 51 
     | 
    
         
            +
            	hasOwn = ({}).hasOwnProperty,
         
     | 
| 
      
 52 
     | 
    
         
            +
            	arr = [],
         
     | 
| 
      
 53 
     | 
    
         
            +
            	pop = arr.pop,
         
     | 
| 
      
 54 
     | 
    
         
            +
            	push_native = arr.push,
         
     | 
| 
      
 55 
     | 
    
         
            +
            	push = arr.push,
         
     | 
| 
      
 56 
     | 
    
         
            +
            	slice = arr.slice,
         
     | 
| 
      
 57 
     | 
    
         
            +
            	// Use a stripped-down indexOf as it's faster than native
         
     | 
| 
      
 58 
     | 
    
         
            +
            	// https://jsperf.com/thor-indexof-vs-for/5
         
     | 
| 
      
 59 
     | 
    
         
            +
            	indexOf = function( list, elem ) {
         
     | 
| 
      
 60 
     | 
    
         
            +
            		var i = 0,
         
     | 
| 
      
 61 
     | 
    
         
            +
            			len = list.length;
         
     | 
| 
      
 62 
     | 
    
         
            +
            		for ( ; i < len; i++ ) {
         
     | 
| 
      
 63 
     | 
    
         
            +
            			if ( list[i] === elem ) {
         
     | 
| 
      
 64 
     | 
    
         
            +
            				return i;
         
     | 
| 
      
 65 
     | 
    
         
            +
            			}
         
     | 
| 
      
 66 
     | 
    
         
            +
            		}
         
     | 
| 
      
 67 
     | 
    
         
            +
            		return -1;
         
     | 
| 
      
 68 
     | 
    
         
            +
            	},
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            	// Regular expressions
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            	// http://www.w3.org/TR/css3-selectors/#whitespace
         
     | 
| 
      
 75 
     | 
    
         
            +
            	whitespace = "[\\x20\\t\\r\\n\\f]",
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
         
     | 
| 
      
 78 
     | 
    
         
            +
            	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
            	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
         
     | 
| 
      
 81 
     | 
    
         
            +
            	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
         
     | 
| 
      
 82 
     | 
    
         
            +
            		// Operator (capture 2)
         
     | 
| 
      
 83 
     | 
    
         
            +
            		"*([*^$|!~]?=)" + whitespace +
         
     | 
| 
      
 84 
     | 
    
         
            +
            		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
         
     | 
| 
      
 85 
     | 
    
         
            +
            		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
         
     | 
| 
      
 86 
     | 
    
         
            +
            		"*\\]",
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
            	pseudos = ":(" + identifier + ")(?:\\((" +
         
     | 
| 
      
 89 
     | 
    
         
            +
            		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
         
     | 
| 
      
 90 
     | 
    
         
            +
            		// 1. quoted (capture 3; capture 4 or capture 5)
         
     | 
| 
      
 91 
     | 
    
         
            +
            		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
         
     | 
| 
      
 92 
     | 
    
         
            +
            		// 2. simple (capture 6)
         
     | 
| 
      
 93 
     | 
    
         
            +
            		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
         
     | 
| 
      
 94 
     | 
    
         
            +
            		// 3. anything else (capture 2)
         
     | 
| 
      
 95 
     | 
    
         
            +
            		".*" +
         
     | 
| 
      
 96 
     | 
    
         
            +
            		")\\)|)",
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
      
 98 
     | 
    
         
            +
            	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
         
     | 
| 
      
 99 
     | 
    
         
            +
            	rwhitespace = new RegExp( whitespace + "+", "g" ),
         
     | 
| 
      
 100 
     | 
    
         
            +
            	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
            	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
         
     | 
| 
      
 103 
     | 
    
         
            +
            	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
            	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            	rpseudo = new RegExp( pseudos ),
         
     | 
| 
      
 108 
     | 
    
         
            +
            	ridentifier = new RegExp( "^" + identifier + "$" ),
         
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
            	matchExpr = {
         
     | 
| 
      
 111 
     | 
    
         
            +
            		"ID": new RegExp( "^#(" + identifier + ")" ),
         
     | 
| 
      
 112 
     | 
    
         
            +
            		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
         
     | 
| 
      
 113 
     | 
    
         
            +
            		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
         
     | 
| 
      
 114 
     | 
    
         
            +
            		"ATTR": new RegExp( "^" + attributes ),
         
     | 
| 
      
 115 
     | 
    
         
            +
            		"PSEUDO": new RegExp( "^" + pseudos ),
         
     | 
| 
      
 116 
     | 
    
         
            +
            		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
         
     | 
| 
      
 117 
     | 
    
         
            +
            			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
         
     | 
| 
      
 118 
     | 
    
         
            +
            			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
         
     | 
| 
      
 119 
     | 
    
         
            +
            		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
         
     | 
| 
      
 120 
     | 
    
         
            +
            		// For use in libraries implementing .is()
         
     | 
| 
      
 121 
     | 
    
         
            +
            		// We use this for POS matching in `select`
         
     | 
| 
      
 122 
     | 
    
         
            +
            		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
         
     | 
| 
      
 123 
     | 
    
         
            +
            			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
         
     | 
| 
      
 124 
     | 
    
         
            +
            	},
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
            	rinputs = /^(?:input|select|textarea|button)$/i,
         
     | 
| 
      
 127 
     | 
    
         
            +
            	rheader = /^h\d$/i,
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
      
 129 
     | 
    
         
            +
            	rnative = /^[^{]+\{\s*\[native \w/,
         
     | 
| 
      
 130 
     | 
    
         
            +
             
     | 
| 
      
 131 
     | 
    
         
            +
            	// Easily-parseable/retrievable ID or TAG or CLASS selectors
         
     | 
| 
      
 132 
     | 
    
         
            +
            	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
         
     | 
| 
      
 133 
     | 
    
         
            +
             
     | 
| 
      
 134 
     | 
    
         
            +
            	rsibling = /[+~]/,
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            	// CSS escapes
         
     | 
| 
      
 137 
     | 
    
         
            +
            	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
         
     | 
| 
      
 138 
     | 
    
         
            +
            	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
         
     | 
| 
      
 139 
     | 
    
         
            +
            	funescape = function( _, escaped, escapedWhitespace ) {
         
     | 
| 
      
 140 
     | 
    
         
            +
            		var high = "0x" + escaped - 0x10000;
         
     | 
| 
      
 141 
     | 
    
         
            +
            		// NaN means non-codepoint
         
     | 
| 
      
 142 
     | 
    
         
            +
            		// Support: Firefox<24
         
     | 
| 
      
 143 
     | 
    
         
            +
            		// Workaround erroneous numeric interpretation of +"0x"
         
     | 
| 
      
 144 
     | 
    
         
            +
            		return high !== high || escapedWhitespace ?
         
     | 
| 
      
 145 
     | 
    
         
            +
            			escaped :
         
     | 
| 
      
 146 
     | 
    
         
            +
            			high < 0 ?
         
     | 
| 
      
 147 
     | 
    
         
            +
            				// BMP codepoint
         
     | 
| 
      
 148 
     | 
    
         
            +
            				String.fromCharCode( high + 0x10000 ) :
         
     | 
| 
      
 149 
     | 
    
         
            +
            				// Supplemental Plane codepoint (surrogate pair)
         
     | 
| 
      
 150 
     | 
    
         
            +
            				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
         
     | 
| 
      
 151 
     | 
    
         
            +
            	},
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
            	// CSS string/identifier serialization
         
     | 
| 
      
 154 
     | 
    
         
            +
            	// https://drafts.csswg.org/cssom/#common-serializing-idioms
         
     | 
| 
      
 155 
     | 
    
         
            +
            	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
         
     | 
| 
      
 156 
     | 
    
         
            +
            	fcssescape = function( ch, asCodePoint ) {
         
     | 
| 
      
 157 
     | 
    
         
            +
            		if ( asCodePoint ) {
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
            			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
         
     | 
| 
      
 160 
     | 
    
         
            +
            			if ( ch === "\0" ) {
         
     | 
| 
      
 161 
     | 
    
         
            +
            				return "\uFFFD";
         
     | 
| 
      
 162 
     | 
    
         
            +
            			}
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
            			// Control characters and (dependent upon position) numbers get escaped as code points
         
     | 
| 
      
 165 
     | 
    
         
            +
            			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
         
     | 
| 
      
 166 
     | 
    
         
            +
            		}
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
      
 168 
     | 
    
         
            +
            		// Other potentially-special ASCII characters get backslash-escaped
         
     | 
| 
      
 169 
     | 
    
         
            +
            		return "\\" + ch;
         
     | 
| 
      
 170 
     | 
    
         
            +
            	},
         
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
      
 172 
     | 
    
         
            +
            	// Used for iframes
         
     | 
| 
      
 173 
     | 
    
         
            +
            	// See setDocument()
         
     | 
| 
      
 174 
     | 
    
         
            +
            	// Removing the function wrapper causes a "Permission Denied"
         
     | 
| 
      
 175 
     | 
    
         
            +
            	// error in IE
         
     | 
| 
      
 176 
     | 
    
         
            +
            	unloadHandler = function() {
         
     | 
| 
      
 177 
     | 
    
         
            +
            		setDocument();
         
     | 
| 
      
 178 
     | 
    
         
            +
            	},
         
     | 
| 
      
 179 
     | 
    
         
            +
             
     | 
| 
      
 180 
     | 
    
         
            +
            	disabledAncestor = addCombinator(
         
     | 
| 
      
 181 
     | 
    
         
            +
            		function( elem ) {
         
     | 
| 
      
 182 
     | 
    
         
            +
            			return elem.disabled === true && ("form" in elem || "label" in elem);
         
     | 
| 
      
 183 
     | 
    
         
            +
            		},
         
     | 
| 
      
 184 
     | 
    
         
            +
            		{ dir: "parentNode", next: "legend" }
         
     | 
| 
      
 185 
     | 
    
         
            +
            	);
         
     | 
| 
      
 186 
     | 
    
         
            +
             
     | 
| 
      
 187 
     | 
    
         
            +
            // Optimize for push.apply( _, NodeList )
         
     | 
| 
      
 188 
     | 
    
         
            +
            try {
         
     | 
| 
      
 189 
     | 
    
         
            +
            	push.apply(
         
     | 
| 
      
 190 
     | 
    
         
            +
            		(arr = slice.call( preferredDoc.childNodes )),
         
     | 
| 
      
 191 
     | 
    
         
            +
            		preferredDoc.childNodes
         
     | 
| 
      
 192 
     | 
    
         
            +
            	);
         
     | 
| 
      
 193 
     | 
    
         
            +
            	// Support: Android<4.0
         
     | 
| 
      
 194 
     | 
    
         
            +
            	// Detect silently failing push.apply
         
     | 
| 
      
 195 
     | 
    
         
            +
            	arr[ preferredDoc.childNodes.length ].nodeType;
         
     | 
| 
      
 196 
     | 
    
         
            +
            } catch ( e ) {
         
     | 
| 
      
 197 
     | 
    
         
            +
            	push = { apply: arr.length ?
         
     | 
| 
      
 198 
     | 
    
         
            +
             
     | 
| 
      
 199 
     | 
    
         
            +
            		// Leverage slice if possible
         
     | 
| 
      
 200 
     | 
    
         
            +
            		function( target, els ) {
         
     | 
| 
      
 201 
     | 
    
         
            +
            			push_native.apply( target, slice.call(els) );
         
     | 
| 
      
 202 
     | 
    
         
            +
            		} :
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
      
 204 
     | 
    
         
            +
            		// Support: IE<9
         
     | 
| 
      
 205 
     | 
    
         
            +
            		// Otherwise append directly
         
     | 
| 
      
 206 
     | 
    
         
            +
            		function( target, els ) {
         
     | 
| 
      
 207 
     | 
    
         
            +
            			var j = target.length,
         
     | 
| 
      
 208 
     | 
    
         
            +
            				i = 0;
         
     | 
| 
      
 209 
     | 
    
         
            +
            			// Can't trust NodeList.length
         
     | 
| 
      
 210 
     | 
    
         
            +
            			while ( (target[j++] = els[i++]) ) {}
         
     | 
| 
      
 211 
     | 
    
         
            +
            			target.length = j - 1;
         
     | 
| 
      
 212 
     | 
    
         
            +
            		}
         
     | 
| 
      
 213 
     | 
    
         
            +
            	};
         
     | 
| 
      
 214 
     | 
    
         
            +
            }
         
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
      
 216 
     | 
    
         
            +
            function Sizzle( selector, context, results, seed ) {
         
     | 
| 
      
 217 
     | 
    
         
            +
            	var m, i, elem, nid, match, groups, newSelector,
         
     | 
| 
      
 218 
     | 
    
         
            +
            		newContext = context && context.ownerDocument,
         
     | 
| 
      
 219 
     | 
    
         
            +
             
     | 
| 
      
 220 
     | 
    
         
            +
            		// nodeType defaults to 9, since context defaults to document
         
     | 
| 
      
 221 
     | 
    
         
            +
            		nodeType = context ? context.nodeType : 9;
         
     | 
| 
      
 222 
     | 
    
         
            +
             
     | 
| 
      
 223 
     | 
    
         
            +
            	results = results || [];
         
     | 
| 
      
 224 
     | 
    
         
            +
             
     | 
| 
      
 225 
     | 
    
         
            +
            	// Return early from calls with invalid selector or context
         
     | 
| 
      
 226 
     | 
    
         
            +
            	if ( typeof selector !== "string" || !selector ||
         
     | 
| 
      
 227 
     | 
    
         
            +
            		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
         
     | 
| 
      
 228 
     | 
    
         
            +
             
     | 
| 
      
 229 
     | 
    
         
            +
            		return results;
         
     | 
| 
      
 230 
     | 
    
         
            +
            	}
         
     | 
| 
      
 231 
     | 
    
         
            +
             
     | 
| 
      
 232 
     | 
    
         
            +
            	// Try to shortcut find operations (as opposed to filters) in HTML documents
         
     | 
| 
      
 233 
     | 
    
         
            +
            	if ( !seed ) {
         
     | 
| 
      
 234 
     | 
    
         
            +
             
     | 
| 
      
 235 
     | 
    
         
            +
            		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
         
     | 
| 
      
 236 
     | 
    
         
            +
            			setDocument( context );
         
     | 
| 
      
 237 
     | 
    
         
            +
            		}
         
     | 
| 
      
 238 
     | 
    
         
            +
            		context = context || document;
         
     | 
| 
      
 239 
     | 
    
         
            +
             
     | 
| 
      
 240 
     | 
    
         
            +
            		if ( documentIsHTML ) {
         
     | 
| 
      
 241 
     | 
    
         
            +
             
     | 
| 
      
 242 
     | 
    
         
            +
            			// If the selector is sufficiently simple, try using a "get*By*" DOM method
         
     | 
| 
      
 243 
     | 
    
         
            +
            			// (excepting DocumentFragment context, where the methods don't exist)
         
     | 
| 
      
 244 
     | 
    
         
            +
            			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
         
     | 
| 
      
 245 
     | 
    
         
            +
             
     | 
| 
      
 246 
     | 
    
         
            +
            				// ID selector
         
     | 
| 
      
 247 
     | 
    
         
            +
            				if ( (m = match[1]) ) {
         
     | 
| 
      
 248 
     | 
    
         
            +
             
     | 
| 
      
 249 
     | 
    
         
            +
            					// Document context
         
     | 
| 
      
 250 
     | 
    
         
            +
            					if ( nodeType === 9 ) {
         
     | 
| 
      
 251 
     | 
    
         
            +
            						if ( (elem = context.getElementById( m )) ) {
         
     | 
| 
      
 252 
     | 
    
         
            +
             
     | 
| 
      
 253 
     | 
    
         
            +
            							// Support: IE, Opera, Webkit
         
     | 
| 
      
 254 
     | 
    
         
            +
            							// TODO: identify versions
         
     | 
| 
      
 255 
     | 
    
         
            +
            							// getElementById can match elements by name instead of ID
         
     | 
| 
      
 256 
     | 
    
         
            +
            							if ( elem.id === m ) {
         
     | 
| 
      
 257 
     | 
    
         
            +
            								results.push( elem );
         
     | 
| 
      
 258 
     | 
    
         
            +
            								return results;
         
     | 
| 
      
 259 
     | 
    
         
            +
            							}
         
     | 
| 
      
 260 
     | 
    
         
            +
            						} else {
         
     | 
| 
      
 261 
     | 
    
         
            +
            							return results;
         
     | 
| 
      
 262 
     | 
    
         
            +
            						}
         
     | 
| 
      
 263 
     | 
    
         
            +
             
     | 
| 
      
 264 
     | 
    
         
            +
            					// Element context
         
     | 
| 
      
 265 
     | 
    
         
            +
            					} else {
         
     | 
| 
      
 266 
     | 
    
         
            +
             
     | 
| 
      
 267 
     | 
    
         
            +
            						// Support: IE, Opera, Webkit
         
     | 
| 
      
 268 
     | 
    
         
            +
            						// TODO: identify versions
         
     | 
| 
      
 269 
     | 
    
         
            +
            						// getElementById can match elements by name instead of ID
         
     | 
| 
      
 270 
     | 
    
         
            +
            						if ( newContext && (elem = newContext.getElementById( m )) &&
         
     | 
| 
      
 271 
     | 
    
         
            +
            							contains( context, elem ) &&
         
     | 
| 
      
 272 
     | 
    
         
            +
            							elem.id === m ) {
         
     | 
| 
      
 273 
     | 
    
         
            +
             
     | 
| 
      
 274 
     | 
    
         
            +
            							results.push( elem );
         
     | 
| 
      
 275 
     | 
    
         
            +
            							return results;
         
     | 
| 
      
 276 
     | 
    
         
            +
            						}
         
     | 
| 
      
 277 
     | 
    
         
            +
            					}
         
     | 
| 
      
 278 
     | 
    
         
            +
             
     | 
| 
      
 279 
     | 
    
         
            +
            				// Type selector
         
     | 
| 
      
 280 
     | 
    
         
            +
            				} else if ( match[2] ) {
         
     | 
| 
      
 281 
     | 
    
         
            +
            					push.apply( results, context.getElementsByTagName( selector ) );
         
     | 
| 
      
 282 
     | 
    
         
            +
            					return results;
         
     | 
| 
      
 283 
     | 
    
         
            +
             
     | 
| 
      
 284 
     | 
    
         
            +
            				// Class selector
         
     | 
| 
      
 285 
     | 
    
         
            +
            				} else if ( (m = match[3]) && support.getElementsByClassName &&
         
     | 
| 
      
 286 
     | 
    
         
            +
            					context.getElementsByClassName ) {
         
     | 
| 
      
 287 
     | 
    
         
            +
             
     | 
| 
      
 288 
     | 
    
         
            +
            					push.apply( results, context.getElementsByClassName( m ) );
         
     | 
| 
      
 289 
     | 
    
         
            +
            					return results;
         
     | 
| 
      
 290 
     | 
    
         
            +
            				}
         
     | 
| 
      
 291 
     | 
    
         
            +
            			}
         
     | 
| 
      
 292 
     | 
    
         
            +
             
     | 
| 
      
 293 
     | 
    
         
            +
            			// Take advantage of querySelectorAll
         
     | 
| 
      
 294 
     | 
    
         
            +
            			if ( support.qsa &&
         
     | 
| 
      
 295 
     | 
    
         
            +
            				!compilerCache[ selector + " " ] &&
         
     | 
| 
      
 296 
     | 
    
         
            +
            				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
         
     | 
| 
      
 297 
     | 
    
         
            +
             
     | 
| 
      
 298 
     | 
    
         
            +
            				if ( nodeType !== 1 ) {
         
     | 
| 
      
 299 
     | 
    
         
            +
            					newContext = context;
         
     | 
| 
      
 300 
     | 
    
         
            +
            					newSelector = selector;
         
     | 
| 
      
 301 
     | 
    
         
            +
             
     | 
| 
      
 302 
     | 
    
         
            +
            				// qSA looks outside Element context, which is not what we want
         
     | 
| 
      
 303 
     | 
    
         
            +
            				// Thanks to Andrew Dupont for this workaround technique
         
     | 
| 
      
 304 
     | 
    
         
            +
            				// Support: IE <=8
         
     | 
| 
      
 305 
     | 
    
         
            +
            				// Exclude object elements
         
     | 
| 
      
 306 
     | 
    
         
            +
            				} else if ( context.nodeName.toLowerCase() !== "object" ) {
         
     | 
| 
      
 307 
     | 
    
         
            +
             
     | 
| 
      
 308 
     | 
    
         
            +
            					// Capture the context ID, setting it first if necessary
         
     | 
| 
      
 309 
     | 
    
         
            +
            					if ( (nid = context.getAttribute( "id" )) ) {
         
     | 
| 
      
 310 
     | 
    
         
            +
            						nid = nid.replace( rcssescape, fcssescape );
         
     | 
| 
      
 311 
     | 
    
         
            +
            					} else {
         
     | 
| 
      
 312 
     | 
    
         
            +
            						context.setAttribute( "id", (nid = expando) );
         
     | 
| 
      
 313 
     | 
    
         
            +
            					}
         
     | 
| 
      
 314 
     | 
    
         
            +
             
     | 
| 
      
 315 
     | 
    
         
            +
            					// Prefix every selector in the list
         
     | 
| 
      
 316 
     | 
    
         
            +
            					groups = tokenize( selector );
         
     | 
| 
      
 317 
     | 
    
         
            +
            					i = groups.length;
         
     | 
| 
      
 318 
     | 
    
         
            +
            					while ( i-- ) {
         
     | 
| 
      
 319 
     | 
    
         
            +
            						groups[i] = "#" + nid + " " + toSelector( groups[i] );
         
     | 
| 
      
 320 
     | 
    
         
            +
            					}
         
     | 
| 
      
 321 
     | 
    
         
            +
            					newSelector = groups.join( "," );
         
     | 
| 
      
 322 
     | 
    
         
            +
             
     | 
| 
      
 323 
     | 
    
         
            +
            					// Expand context for sibling selectors
         
     | 
| 
      
 324 
     | 
    
         
            +
            					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
         
     | 
| 
      
 325 
     | 
    
         
            +
            						context;
         
     | 
| 
      
 326 
     | 
    
         
            +
            				}
         
     | 
| 
      
 327 
     | 
    
         
            +
             
     | 
| 
      
 328 
     | 
    
         
            +
            				if ( newSelector ) {
         
     | 
| 
      
 329 
     | 
    
         
            +
            					try {
         
     | 
| 
      
 330 
     | 
    
         
            +
            						push.apply( results,
         
     | 
| 
      
 331 
     | 
    
         
            +
            							newContext.querySelectorAll( newSelector )
         
     | 
| 
      
 332 
     | 
    
         
            +
            						);
         
     | 
| 
      
 333 
     | 
    
         
            +
            						return results;
         
     | 
| 
      
 334 
     | 
    
         
            +
            					} catch ( qsaError ) {
         
     | 
| 
      
 335 
     | 
    
         
            +
            					} finally {
         
     | 
| 
      
 336 
     | 
    
         
            +
            						if ( nid === expando ) {
         
     | 
| 
      
 337 
     | 
    
         
            +
            							context.removeAttribute( "id" );
         
     | 
| 
      
 338 
     | 
    
         
            +
            						}
         
     | 
| 
      
 339 
     | 
    
         
            +
            					}
         
     | 
| 
      
 340 
     | 
    
         
            +
            				}
         
     | 
| 
      
 341 
     | 
    
         
            +
            			}
         
     | 
| 
      
 342 
     | 
    
         
            +
            		}
         
     | 
| 
      
 343 
     | 
    
         
            +
            	}
         
     | 
| 
      
 344 
     | 
    
         
            +
             
     | 
| 
      
 345 
     | 
    
         
            +
            	// All others
         
     | 
| 
      
 346 
     | 
    
         
            +
            	return select( selector.replace( rtrim, "$1" ), context, results, seed );
         
     | 
| 
      
 347 
     | 
    
         
            +
            }
         
     | 
| 
      
 348 
     | 
    
         
            +
             
     | 
| 
      
 349 
     | 
    
         
            +
            /**
         
     | 
| 
      
 350 
     | 
    
         
            +
             * Create key-value caches of limited size
         
     | 
| 
      
 351 
     | 
    
         
            +
             * @returns {function(string, object)} Returns the Object data after storing it on itself with
         
     | 
| 
      
 352 
     | 
    
         
            +
             *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
         
     | 
| 
      
 353 
     | 
    
         
            +
             *	deleting the oldest entry
         
     | 
| 
      
 354 
     | 
    
         
            +
             */
         
     | 
| 
      
 355 
     | 
    
         
            +
            function createCache() {
         
     | 
| 
      
 356 
     | 
    
         
            +
            	var keys = [];
         
     | 
| 
      
 357 
     | 
    
         
            +
             
     | 
| 
      
 358 
     | 
    
         
            +
            	function cache( key, value ) {
         
     | 
| 
      
 359 
     | 
    
         
            +
            		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
         
     | 
| 
      
 360 
     | 
    
         
            +
            		if ( keys.push( key + " " ) > Expr.cacheLength ) {
         
     | 
| 
      
 361 
     | 
    
         
            +
            			// Only keep the most recent entries
         
     | 
| 
      
 362 
     | 
    
         
            +
            			delete cache[ keys.shift() ];
         
     | 
| 
      
 363 
     | 
    
         
            +
            		}
         
     | 
| 
      
 364 
     | 
    
         
            +
            		return (cache[ key + " " ] = value);
         
     | 
| 
      
 365 
     | 
    
         
            +
            	}
         
     | 
| 
      
 366 
     | 
    
         
            +
            	return cache;
         
     | 
| 
      
 367 
     | 
    
         
            +
            }
         
     | 
| 
      
 368 
     | 
    
         
            +
             
     | 
| 
      
 369 
     | 
    
         
            +
            /**
         
     | 
| 
      
 370 
     | 
    
         
            +
             * Mark a function for special use by Sizzle
         
     | 
| 
      
 371 
     | 
    
         
            +
             * @param {Function} fn The function to mark
         
     | 
| 
      
 372 
     | 
    
         
            +
             */
         
     | 
| 
      
 373 
     | 
    
         
            +
            function markFunction( fn ) {
         
     | 
| 
      
 374 
     | 
    
         
            +
            	fn[ expando ] = true;
         
     | 
| 
      
 375 
     | 
    
         
            +
            	return fn;
         
     | 
| 
      
 376 
     | 
    
         
            +
            }
         
     | 
| 
      
 377 
     | 
    
         
            +
             
     | 
| 
      
 378 
     | 
    
         
            +
            /**
         
     | 
| 
      
 379 
     | 
    
         
            +
             * Support testing using an element
         
     | 
| 
      
 380 
     | 
    
         
            +
             * @param {Function} fn Passed the created element and returns a boolean result
         
     | 
| 
      
 381 
     | 
    
         
            +
             */
         
     | 
| 
      
 382 
     | 
    
         
            +
            function assert( fn ) {
         
     | 
| 
      
 383 
     | 
    
         
            +
            	var el = document.createElement("fieldset");
         
     | 
| 
      
 384 
     | 
    
         
            +
             
     | 
| 
      
 385 
     | 
    
         
            +
            	try {
         
     | 
| 
      
 386 
     | 
    
         
            +
            		return !!fn( el );
         
     | 
| 
      
 387 
     | 
    
         
            +
            	} catch (e) {
         
     | 
| 
      
 388 
     | 
    
         
            +
            		return false;
         
     | 
| 
      
 389 
     | 
    
         
            +
            	} finally {
         
     | 
| 
      
 390 
     | 
    
         
            +
            		// Remove from its parent by default
         
     | 
| 
      
 391 
     | 
    
         
            +
            		if ( el.parentNode ) {
         
     | 
| 
      
 392 
     | 
    
         
            +
            			el.parentNode.removeChild( el );
         
     | 
| 
      
 393 
     | 
    
         
            +
            		}
         
     | 
| 
      
 394 
     | 
    
         
            +
            		// release memory in IE
         
     | 
| 
      
 395 
     | 
    
         
            +
            		el = null;
         
     | 
| 
      
 396 
     | 
    
         
            +
            	}
         
     | 
| 
      
 397 
     | 
    
         
            +
            }
         
     | 
| 
      
 398 
     | 
    
         
            +
             
     | 
| 
      
 399 
     | 
    
         
            +
            /**
         
     | 
| 
      
 400 
     | 
    
         
            +
             * Adds the same handler for all of the specified attrs
         
     | 
| 
      
 401 
     | 
    
         
            +
             * @param {String} attrs Pipe-separated list of attributes
         
     | 
| 
      
 402 
     | 
    
         
            +
             * @param {Function} handler The method that will be applied
         
     | 
| 
      
 403 
     | 
    
         
            +
             */
         
     | 
| 
      
 404 
     | 
    
         
            +
            function addHandle( attrs, handler ) {
         
     | 
| 
      
 405 
     | 
    
         
            +
            	var arr = attrs.split("|"),
         
     | 
| 
      
 406 
     | 
    
         
            +
            		i = arr.length;
         
     | 
| 
      
 407 
     | 
    
         
            +
             
     | 
| 
      
 408 
     | 
    
         
            +
            	while ( i-- ) {
         
     | 
| 
      
 409 
     | 
    
         
            +
            		Expr.attrHandle[ arr[i] ] = handler;
         
     | 
| 
      
 410 
     | 
    
         
            +
            	}
         
     | 
| 
      
 411 
     | 
    
         
            +
            }
         
     | 
| 
      
 412 
     | 
    
         
            +
             
     | 
| 
      
 413 
     | 
    
         
            +
            /**
         
     | 
| 
      
 414 
     | 
    
         
            +
             * Checks document order of two siblings
         
     | 
| 
      
 415 
     | 
    
         
            +
             * @param {Element} a
         
     | 
| 
      
 416 
     | 
    
         
            +
             * @param {Element} b
         
     | 
| 
      
 417 
     | 
    
         
            +
             * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
         
     | 
| 
      
 418 
     | 
    
         
            +
             */
         
     | 
| 
      
 419 
     | 
    
         
            +
            function siblingCheck( a, b ) {
         
     | 
| 
      
 420 
     | 
    
         
            +
            	var cur = b && a,
         
     | 
| 
      
 421 
     | 
    
         
            +
            		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
         
     | 
| 
      
 422 
     | 
    
         
            +
            			a.sourceIndex - b.sourceIndex;
         
     | 
| 
      
 423 
     | 
    
         
            +
             
     | 
| 
      
 424 
     | 
    
         
            +
            	// Use IE sourceIndex if available on both nodes
         
     | 
| 
      
 425 
     | 
    
         
            +
            	if ( diff ) {
         
     | 
| 
      
 426 
     | 
    
         
            +
            		return diff;
         
     | 
| 
      
 427 
     | 
    
         
            +
            	}
         
     | 
| 
      
 428 
     | 
    
         
            +
             
     | 
| 
      
 429 
     | 
    
         
            +
            	// Check if b follows a
         
     | 
| 
      
 430 
     | 
    
         
            +
            	if ( cur ) {
         
     | 
| 
      
 431 
     | 
    
         
            +
            		while ( (cur = cur.nextSibling) ) {
         
     | 
| 
      
 432 
     | 
    
         
            +
            			if ( cur === b ) {
         
     | 
| 
      
 433 
     | 
    
         
            +
            				return -1;
         
     | 
| 
      
 434 
     | 
    
         
            +
            			}
         
     | 
| 
      
 435 
     | 
    
         
            +
            		}
         
     | 
| 
      
 436 
     | 
    
         
            +
            	}
         
     | 
| 
      
 437 
     | 
    
         
            +
             
     | 
| 
      
 438 
     | 
    
         
            +
            	return a ? 1 : -1;
         
     | 
| 
      
 439 
     | 
    
         
            +
            }
         
     | 
| 
      
 440 
     | 
    
         
            +
             
     | 
| 
      
 441 
     | 
    
         
            +
            /**
         
     | 
| 
      
 442 
     | 
    
         
            +
             * Returns a function to use in pseudos for input types
         
     | 
| 
      
 443 
     | 
    
         
            +
             * @param {String} type
         
     | 
| 
      
 444 
     | 
    
         
            +
             */
         
     | 
| 
      
 445 
     | 
    
         
            +
            function createInputPseudo( type ) {
         
     | 
| 
      
 446 
     | 
    
         
            +
            	return function( elem ) {
         
     | 
| 
      
 447 
     | 
    
         
            +
            		var name = elem.nodeName.toLowerCase();
         
     | 
| 
      
 448 
     | 
    
         
            +
            		return name === "input" && elem.type === type;
         
     | 
| 
      
 449 
     | 
    
         
            +
            	};
         
     | 
| 
      
 450 
     | 
    
         
            +
            }
         
     | 
| 
      
 451 
     | 
    
         
            +
             
     | 
| 
      
 452 
     | 
    
         
            +
            /**
         
     | 
| 
      
 453 
     | 
    
         
            +
             * Returns a function to use in pseudos for buttons
         
     | 
| 
      
 454 
     | 
    
         
            +
             * @param {String} type
         
     | 
| 
      
 455 
     | 
    
         
            +
             */
         
     | 
| 
      
 456 
     | 
    
         
            +
            function createButtonPseudo( type ) {
         
     | 
| 
      
 457 
     | 
    
         
            +
            	return function( elem ) {
         
     | 
| 
      
 458 
     | 
    
         
            +
            		var name = elem.nodeName.toLowerCase();
         
     | 
| 
      
 459 
     | 
    
         
            +
            		return (name === "input" || name === "button") && elem.type === type;
         
     | 
| 
      
 460 
     | 
    
         
            +
            	};
         
     | 
| 
      
 461 
     | 
    
         
            +
            }
         
     | 
| 
      
 462 
     | 
    
         
            +
             
     | 
| 
      
 463 
     | 
    
         
            +
            /**
         
     | 
| 
      
 464 
     | 
    
         
            +
             * Returns a function to use in pseudos for :enabled/:disabled
         
     | 
| 
      
 465 
     | 
    
         
            +
             * @param {Boolean} disabled true for :disabled; false for :enabled
         
     | 
| 
      
 466 
     | 
    
         
            +
             */
         
     | 
| 
      
 467 
     | 
    
         
            +
            function createDisabledPseudo( disabled ) {
         
     | 
| 
      
 468 
     | 
    
         
            +
             
     | 
| 
      
 469 
     | 
    
         
            +
            	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
         
     | 
| 
      
 470 
     | 
    
         
            +
            	return function( elem ) {
         
     | 
| 
      
 471 
     | 
    
         
            +
             
     | 
| 
      
 472 
     | 
    
         
            +
            		// Only certain elements can match :enabled or :disabled
         
     | 
| 
      
 473 
     | 
    
         
            +
            		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
         
     | 
| 
      
 474 
     | 
    
         
            +
            		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
         
     | 
| 
      
 475 
     | 
    
         
            +
            		if ( "form" in elem ) {
         
     | 
| 
      
 476 
     | 
    
         
            +
             
     | 
| 
      
 477 
     | 
    
         
            +
            			// Check for inherited disabledness on relevant non-disabled elements:
         
     | 
| 
      
 478 
     | 
    
         
            +
            			// * listed form-associated elements in a disabled fieldset
         
     | 
| 
      
 479 
     | 
    
         
            +
            			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
         
     | 
| 
      
 480 
     | 
    
         
            +
            			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
         
     | 
| 
      
 481 
     | 
    
         
            +
            			// * option elements in a disabled optgroup
         
     | 
| 
      
 482 
     | 
    
         
            +
            			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
         
     | 
| 
      
 483 
     | 
    
         
            +
            			// All such elements have a "form" property.
         
     | 
| 
      
 484 
     | 
    
         
            +
            			if ( elem.parentNode && elem.disabled === false ) {
         
     | 
| 
      
 485 
     | 
    
         
            +
             
     | 
| 
      
 486 
     | 
    
         
            +
            				// Option elements defer to a parent optgroup if present
         
     | 
| 
      
 487 
     | 
    
         
            +
            				if ( "label" in elem ) {
         
     | 
| 
      
 488 
     | 
    
         
            +
            					if ( "label" in elem.parentNode ) {
         
     | 
| 
      
 489 
     | 
    
         
            +
            						return elem.parentNode.disabled === disabled;
         
     | 
| 
      
 490 
     | 
    
         
            +
            					} else {
         
     | 
| 
      
 491 
     | 
    
         
            +
            						return elem.disabled === disabled;
         
     | 
| 
      
 492 
     | 
    
         
            +
            					}
         
     | 
| 
      
 493 
     | 
    
         
            +
            				}
         
     | 
| 
      
 494 
     | 
    
         
            +
             
     | 
| 
      
 495 
     | 
    
         
            +
            				// Support: IE 6 - 11
         
     | 
| 
      
 496 
     | 
    
         
            +
            				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
         
     | 
| 
      
 497 
     | 
    
         
            +
            				return elem.isDisabled === disabled ||
         
     | 
| 
      
 498 
     | 
    
         
            +
             
     | 
| 
      
 499 
     | 
    
         
            +
            					// Where there is no isDisabled, check manually
         
     | 
| 
      
 500 
     | 
    
         
            +
            					/* jshint -W018 */
         
     | 
| 
      
 501 
     | 
    
         
            +
            					elem.isDisabled !== !disabled &&
         
     | 
| 
      
 502 
     | 
    
         
            +
            						disabledAncestor( elem ) === disabled;
         
     | 
| 
      
 503 
     | 
    
         
            +
            			}
         
     | 
| 
      
 504 
     | 
    
         
            +
             
     | 
| 
      
 505 
     | 
    
         
            +
            			return elem.disabled === disabled;
         
     | 
| 
      
 506 
     | 
    
         
            +
             
     | 
| 
      
 507 
     | 
    
         
            +
            		// Try to winnow out elements that can't be disabled before trusting the disabled property.
         
     | 
| 
      
 508 
     | 
    
         
            +
            		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
         
     | 
| 
      
 509 
     | 
    
         
            +
            		// even exist on them, let alone have a boolean value.
         
     | 
| 
      
 510 
     | 
    
         
            +
            		} else if ( "label" in elem ) {
         
     | 
| 
      
 511 
     | 
    
         
            +
            			return elem.disabled === disabled;
         
     | 
| 
      
 512 
     | 
    
         
            +
            		}
         
     | 
| 
      
 513 
     | 
    
         
            +
             
     | 
| 
      
 514 
     | 
    
         
            +
            		// Remaining elements are neither :enabled nor :disabled
         
     | 
| 
      
 515 
     | 
    
         
            +
            		return false;
         
     | 
| 
      
 516 
     | 
    
         
            +
            	};
         
     | 
| 
      
 517 
     | 
    
         
            +
            }
         
     | 
| 
      
 518 
     | 
    
         
            +
             
     | 
| 
      
 519 
     | 
    
         
            +
            /**
         
     | 
| 
      
 520 
     | 
    
         
            +
             * Returns a function to use in pseudos for positionals
         
     | 
| 
      
 521 
     | 
    
         
            +
             * @param {Function} fn
         
     | 
| 
      
 522 
     | 
    
         
            +
             */
         
     | 
| 
      
 523 
     | 
    
         
            +
            function createPositionalPseudo( fn ) {
         
     | 
| 
      
 524 
     | 
    
         
            +
            	return markFunction(function( argument ) {
         
     | 
| 
      
 525 
     | 
    
         
            +
            		argument = +argument;
         
     | 
| 
      
 526 
     | 
    
         
            +
            		return markFunction(function( seed, matches ) {
         
     | 
| 
      
 527 
     | 
    
         
            +
            			var j,
         
     | 
| 
      
 528 
     | 
    
         
            +
            				matchIndexes = fn( [], seed.length, argument ),
         
     | 
| 
      
 529 
     | 
    
         
            +
            				i = matchIndexes.length;
         
     | 
| 
      
 530 
     | 
    
         
            +
             
     | 
| 
      
 531 
     | 
    
         
            +
            			// Match elements found at the specified indexes
         
     | 
| 
      
 532 
     | 
    
         
            +
            			while ( i-- ) {
         
     | 
| 
      
 533 
     | 
    
         
            +
            				if ( seed[ (j = matchIndexes[i]) ] ) {
         
     | 
| 
      
 534 
     | 
    
         
            +
            					seed[j] = !(matches[j] = seed[j]);
         
     | 
| 
      
 535 
     | 
    
         
            +
            				}
         
     | 
| 
      
 536 
     | 
    
         
            +
            			}
         
     | 
| 
      
 537 
     | 
    
         
            +
            		});
         
     | 
| 
      
 538 
     | 
    
         
            +
            	});
         
     | 
| 
      
 539 
     | 
    
         
            +
            }
         
     | 
| 
      
 540 
     | 
    
         
            +
             
     | 
| 
      
 541 
     | 
    
         
            +
            /**
         
     | 
| 
      
 542 
     | 
    
         
            +
             * Checks a node for validity as a Sizzle context
         
     | 
| 
      
 543 
     | 
    
         
            +
             * @param {Element|Object=} context
         
     | 
| 
      
 544 
     | 
    
         
            +
             * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
         
     | 
| 
      
 545 
     | 
    
         
            +
             */
         
     | 
| 
      
 546 
     | 
    
         
            +
            function testContext( context ) {
         
     | 
| 
      
 547 
     | 
    
         
            +
            	return context && typeof context.getElementsByTagName !== "undefined" && context;
         
     | 
| 
      
 548 
     | 
    
         
            +
            }
         
     | 
| 
      
 549 
     | 
    
         
            +
             
     | 
| 
      
 550 
     | 
    
         
            +
            // Expose support vars for convenience
         
     | 
| 
      
 551 
     | 
    
         
            +
            support = Sizzle.support = {};
         
     | 
| 
      
 552 
     | 
    
         
            +
             
     | 
| 
      
 553 
     | 
    
         
            +
            /**
         
     | 
| 
      
 554 
     | 
    
         
            +
             * Detects XML nodes
         
     | 
| 
      
 555 
     | 
    
         
            +
             * @param {Element|Object} elem An element or a document
         
     | 
| 
      
 556 
     | 
    
         
            +
             * @returns {Boolean} True iff elem is a non-HTML XML node
         
     | 
| 
      
 557 
     | 
    
         
            +
             */
         
     | 
| 
      
 558 
     | 
    
         
            +
            isXML = Sizzle.isXML = function( elem ) {
         
     | 
| 
      
 559 
     | 
    
         
            +
            	// documentElement is verified for cases where it doesn't yet exist
         
     | 
| 
      
 560 
     | 
    
         
            +
            	// (such as loading iframes in IE - #4833)
         
     | 
| 
      
 561 
     | 
    
         
            +
            	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
         
     | 
| 
      
 562 
     | 
    
         
            +
            	return documentElement ? documentElement.nodeName !== "HTML" : false;
         
     | 
| 
      
 563 
     | 
    
         
            +
            };
         
     | 
| 
      
 564 
     | 
    
         
            +
             
     | 
| 
      
 565 
     | 
    
         
            +
            /**
         
     | 
| 
      
 566 
     | 
    
         
            +
             * Sets document-related variables once based on the current document
         
     | 
| 
      
 567 
     | 
    
         
            +
             * @param {Element|Object} [doc] An element or document object to use to set the document
         
     | 
| 
      
 568 
     | 
    
         
            +
             * @returns {Object} Returns the current document
         
     | 
| 
      
 569 
     | 
    
         
            +
             */
         
     | 
| 
      
 570 
     | 
    
         
            +
            setDocument = Sizzle.setDocument = function( node ) {
         
     | 
| 
      
 571 
     | 
    
         
            +
            	var hasCompare, subWindow,
         
     | 
| 
      
 572 
     | 
    
         
            +
            		doc = node ? node.ownerDocument || node : preferredDoc;
         
     | 
| 
      
 573 
     | 
    
         
            +
             
     | 
| 
      
 574 
     | 
    
         
            +
            	// Return early if doc is invalid or already selected
         
     | 
| 
      
 575 
     | 
    
         
            +
            	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
         
     | 
| 
      
 576 
     | 
    
         
            +
            		return document;
         
     | 
| 
      
 577 
     | 
    
         
            +
            	}
         
     | 
| 
      
 578 
     | 
    
         
            +
             
     | 
| 
      
 579 
     | 
    
         
            +
            	// Update global variables
         
     | 
| 
      
 580 
     | 
    
         
            +
            	document = doc;
         
     | 
| 
      
 581 
     | 
    
         
            +
            	docElem = document.documentElement;
         
     | 
| 
      
 582 
     | 
    
         
            +
            	documentIsHTML = !isXML( document );
         
     | 
| 
      
 583 
     | 
    
         
            +
             
     | 
| 
      
 584 
     | 
    
         
            +
            	// Support: IE 9-11, Edge
         
     | 
| 
      
 585 
     | 
    
         
            +
            	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
         
     | 
| 
      
 586 
     | 
    
         
            +
            	if ( preferredDoc !== document &&
         
     | 
| 
      
 587 
     | 
    
         
            +
            		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
         
     | 
| 
      
 588 
     | 
    
         
            +
             
     | 
| 
      
 589 
     | 
    
         
            +
            		// Support: IE 11, Edge
         
     | 
| 
      
 590 
     | 
    
         
            +
            		if ( subWindow.addEventListener ) {
         
     | 
| 
      
 591 
     | 
    
         
            +
            			subWindow.addEventListener( "unload", unloadHandler, false );
         
     | 
| 
      
 592 
     | 
    
         
            +
             
     | 
| 
      
 593 
     | 
    
         
            +
            		// Support: IE 9 - 10 only
         
     | 
| 
      
 594 
     | 
    
         
            +
            		} else if ( subWindow.attachEvent ) {
         
     | 
| 
      
 595 
     | 
    
         
            +
            			subWindow.attachEvent( "onunload", unloadHandler );
         
     | 
| 
      
 596 
     | 
    
         
            +
            		}
         
     | 
| 
      
 597 
     | 
    
         
            +
            	}
         
     | 
| 
      
 598 
     | 
    
         
            +
             
     | 
| 
      
 599 
     | 
    
         
            +
            	/* Attributes
         
     | 
| 
      
 600 
     | 
    
         
            +
            	---------------------------------------------------------------------- */
         
     | 
| 
      
 601 
     | 
    
         
            +
             
     | 
| 
      
 602 
     | 
    
         
            +
            	// Support: IE<8
         
     | 
| 
      
 603 
     | 
    
         
            +
            	// Verify that getAttribute really returns attributes and not properties
         
     | 
| 
      
 604 
     | 
    
         
            +
            	// (excepting IE8 booleans)
         
     | 
| 
      
 605 
     | 
    
         
            +
            	support.attributes = assert(function( el ) {
         
     | 
| 
      
 606 
     | 
    
         
            +
            		el.className = "i";
         
     | 
| 
      
 607 
     | 
    
         
            +
            		return !el.getAttribute("className");
         
     | 
| 
      
 608 
     | 
    
         
            +
            	});
         
     | 
| 
      
 609 
     | 
    
         
            +
             
     | 
| 
      
 610 
     | 
    
         
            +
            	/* getElement(s)By*
         
     | 
| 
      
 611 
     | 
    
         
            +
            	---------------------------------------------------------------------- */
         
     | 
| 
      
 612 
     | 
    
         
            +
             
     | 
| 
      
 613 
     | 
    
         
            +
            	// Check if getElementsByTagName("*") returns only elements
         
     | 
| 
      
 614 
     | 
    
         
            +
            	support.getElementsByTagName = assert(function( el ) {
         
     | 
| 
      
 615 
     | 
    
         
            +
            		el.appendChild( document.createComment("") );
         
     | 
| 
      
 616 
     | 
    
         
            +
            		return !el.getElementsByTagName("*").length;
         
     | 
| 
      
 617 
     | 
    
         
            +
            	});
         
     | 
| 
      
 618 
     | 
    
         
            +
             
     | 
| 
      
 619 
     | 
    
         
            +
            	// Support: IE<9
         
     | 
| 
      
 620 
     | 
    
         
            +
            	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
         
     | 
| 
      
 621 
     | 
    
         
            +
             
     | 
| 
      
 622 
     | 
    
         
            +
            	// Support: IE<10
         
     | 
| 
      
 623 
     | 
    
         
            +
            	// Check if getElementById returns elements by name
         
     | 
| 
      
 624 
     | 
    
         
            +
            	// The broken getElementById methods don't pick up programmatically-set names,
         
     | 
| 
      
 625 
     | 
    
         
            +
            	// so use a roundabout getElementsByName test
         
     | 
| 
      
 626 
     | 
    
         
            +
            	support.getById = assert(function( el ) {
         
     | 
| 
      
 627 
     | 
    
         
            +
            		docElem.appendChild( el ).id = expando;
         
     | 
| 
      
 628 
     | 
    
         
            +
            		return !document.getElementsByName || !document.getElementsByName( expando ).length;
         
     | 
| 
      
 629 
     | 
    
         
            +
            	});
         
     | 
| 
      
 630 
     | 
    
         
            +
             
     | 
| 
      
 631 
     | 
    
         
            +
            	// ID filter and find
         
     | 
| 
      
 632 
     | 
    
         
            +
            	if ( support.getById ) {
         
     | 
| 
      
 633 
     | 
    
         
            +
            		Expr.filter["ID"] = function( id ) {
         
     | 
| 
      
 634 
     | 
    
         
            +
            			var attrId = id.replace( runescape, funescape );
         
     | 
| 
      
 635 
     | 
    
         
            +
            			return function( elem ) {
         
     | 
| 
      
 636 
     | 
    
         
            +
            				return elem.getAttribute("id") === attrId;
         
     | 
| 
      
 637 
     | 
    
         
            +
            			};
         
     | 
| 
      
 638 
     | 
    
         
            +
            		};
         
     | 
| 
      
 639 
     | 
    
         
            +
            		Expr.find["ID"] = function( id, context ) {
         
     | 
| 
      
 640 
     | 
    
         
            +
            			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
         
     | 
| 
      
 641 
     | 
    
         
            +
            				var elem = context.getElementById( id );
         
     | 
| 
      
 642 
     | 
    
         
            +
            				return elem ? [ elem ] : [];
         
     | 
| 
      
 643 
     | 
    
         
            +
            			}
         
     | 
| 
      
 644 
     | 
    
         
            +
            		};
         
     | 
| 
      
 645 
     | 
    
         
            +
            	} else {
         
     | 
| 
      
 646 
     | 
    
         
            +
            		Expr.filter["ID"] =  function( id ) {
         
     | 
| 
      
 647 
     | 
    
         
            +
            			var attrId = id.replace( runescape, funescape );
         
     | 
| 
      
 648 
     | 
    
         
            +
            			return function( elem ) {
         
     | 
| 
      
 649 
     | 
    
         
            +
            				var node = typeof elem.getAttributeNode !== "undefined" &&
         
     | 
| 
      
 650 
     | 
    
         
            +
            					elem.getAttributeNode("id");
         
     | 
| 
      
 651 
     | 
    
         
            +
            				return node && node.value === attrId;
         
     | 
| 
      
 652 
     | 
    
         
            +
            			};
         
     | 
| 
      
 653 
     | 
    
         
            +
            		};
         
     | 
| 
      
 654 
     | 
    
         
            +
             
     | 
| 
      
 655 
     | 
    
         
            +
            		// Support: IE 6 - 7 only
         
     | 
| 
      
 656 
     | 
    
         
            +
            		// getElementById is not reliable as a find shortcut
         
     | 
| 
      
 657 
     | 
    
         
            +
            		Expr.find["ID"] = function( id, context ) {
         
     | 
| 
      
 658 
     | 
    
         
            +
            			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
         
     | 
| 
      
 659 
     | 
    
         
            +
            				var node, i, elems,
         
     | 
| 
      
 660 
     | 
    
         
            +
            					elem = context.getElementById( id );
         
     | 
| 
      
 661 
     | 
    
         
            +
             
     | 
| 
      
 662 
     | 
    
         
            +
            				if ( elem ) {
         
     | 
| 
      
 663 
     | 
    
         
            +
             
     | 
| 
      
 664 
     | 
    
         
            +
            					// Verify the id attribute
         
     | 
| 
      
 665 
     | 
    
         
            +
            					node = elem.getAttributeNode("id");
         
     | 
| 
      
 666 
     | 
    
         
            +
            					if ( node && node.value === id ) {
         
     | 
| 
      
 667 
     | 
    
         
            +
            						return [ elem ];
         
     | 
| 
      
 668 
     | 
    
         
            +
            					}
         
     | 
| 
      
 669 
     | 
    
         
            +
             
     | 
| 
      
 670 
     | 
    
         
            +
            					// Fall back on getElementsByName
         
     | 
| 
      
 671 
     | 
    
         
            +
            					elems = context.getElementsByName( id );
         
     | 
| 
      
 672 
     | 
    
         
            +
            					i = 0;
         
     | 
| 
      
 673 
     | 
    
         
            +
            					while ( (elem = elems[i++]) ) {
         
     | 
| 
      
 674 
     | 
    
         
            +
            						node = elem.getAttributeNode("id");
         
     | 
| 
      
 675 
     | 
    
         
            +
            						if ( node && node.value === id ) {
         
     | 
| 
      
 676 
     | 
    
         
            +
            							return [ elem ];
         
     | 
| 
      
 677 
     | 
    
         
            +
            						}
         
     | 
| 
      
 678 
     | 
    
         
            +
            					}
         
     | 
| 
      
 679 
     | 
    
         
            +
            				}
         
     | 
| 
      
 680 
     | 
    
         
            +
             
     | 
| 
      
 681 
     | 
    
         
            +
            				return [];
         
     | 
| 
      
 682 
     | 
    
         
            +
            			}
         
     | 
| 
      
 683 
     | 
    
         
            +
            		};
         
     | 
| 
      
 684 
     | 
    
         
            +
            	}
         
     | 
| 
      
 685 
     | 
    
         
            +
             
     | 
| 
      
 686 
     | 
    
         
            +
            	// Tag
         
     | 
| 
      
 687 
     | 
    
         
            +
            	Expr.find["TAG"] = support.getElementsByTagName ?
         
     | 
| 
      
 688 
     | 
    
         
            +
            		function( tag, context ) {
         
     | 
| 
      
 689 
     | 
    
         
            +
            			if ( typeof context.getElementsByTagName !== "undefined" ) {
         
     | 
| 
      
 690 
     | 
    
         
            +
            				return context.getElementsByTagName( tag );
         
     | 
| 
      
 691 
     | 
    
         
            +
             
     | 
| 
      
 692 
     | 
    
         
            +
            			// DocumentFragment nodes don't have gEBTN
         
     | 
| 
      
 693 
     | 
    
         
            +
            			} else if ( support.qsa ) {
         
     | 
| 
      
 694 
     | 
    
         
            +
            				return context.querySelectorAll( tag );
         
     | 
| 
      
 695 
     | 
    
         
            +
            			}
         
     | 
| 
      
 696 
     | 
    
         
            +
            		} :
         
     | 
| 
      
 697 
     | 
    
         
            +
             
     | 
| 
      
 698 
     | 
    
         
            +
            		function( tag, context ) {
         
     | 
| 
      
 699 
     | 
    
         
            +
            			var elem,
         
     | 
| 
      
 700 
     | 
    
         
            +
            				tmp = [],
         
     | 
| 
      
 701 
     | 
    
         
            +
            				i = 0,
         
     | 
| 
      
 702 
     | 
    
         
            +
            				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
         
     | 
| 
      
 703 
     | 
    
         
            +
            				results = context.getElementsByTagName( tag );
         
     | 
| 
      
 704 
     | 
    
         
            +
             
     | 
| 
      
 705 
     | 
    
         
            +
            			// Filter out possible comments
         
     | 
| 
      
 706 
     | 
    
         
            +
            			if ( tag === "*" ) {
         
     | 
| 
      
 707 
     | 
    
         
            +
            				while ( (elem = results[i++]) ) {
         
     | 
| 
      
 708 
     | 
    
         
            +
            					if ( elem.nodeType === 1 ) {
         
     | 
| 
      
 709 
     | 
    
         
            +
            						tmp.push( elem );
         
     | 
| 
      
 710 
     | 
    
         
            +
            					}
         
     | 
| 
      
 711 
     | 
    
         
            +
            				}
         
     | 
| 
      
 712 
     | 
    
         
            +
             
     | 
| 
      
 713 
     | 
    
         
            +
            				return tmp;
         
     | 
| 
      
 714 
     | 
    
         
            +
            			}
         
     | 
| 
      
 715 
     | 
    
         
            +
            			return results;
         
     | 
| 
      
 716 
     | 
    
         
            +
            		};
         
     | 
| 
      
 717 
     | 
    
         
            +
             
     | 
| 
      
 718 
     | 
    
         
            +
            	// Class
         
     | 
| 
      
 719 
     | 
    
         
            +
            	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
         
     | 
| 
      
 720 
     | 
    
         
            +
            		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
         
     | 
| 
      
 721 
     | 
    
         
            +
            			return context.getElementsByClassName( className );
         
     | 
| 
      
 722 
     | 
    
         
            +
            		}
         
     | 
| 
      
 723 
     | 
    
         
            +
            	};
         
     | 
| 
      
 724 
     | 
    
         
            +
             
     | 
| 
      
 725 
     | 
    
         
            +
            	/* QSA/matchesSelector
         
     | 
| 
      
 726 
     | 
    
         
            +
            	---------------------------------------------------------------------- */
         
     | 
| 
      
 727 
     | 
    
         
            +
             
     | 
| 
      
 728 
     | 
    
         
            +
            	// QSA and matchesSelector support
         
     | 
| 
      
 729 
     | 
    
         
            +
             
     | 
| 
      
 730 
     | 
    
         
            +
            	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
         
     | 
| 
      
 731 
     | 
    
         
            +
            	rbuggyMatches = [];
         
     | 
| 
      
 732 
     | 
    
         
            +
             
     | 
| 
      
 733 
     | 
    
         
            +
            	// qSa(:focus) reports false when true (Chrome 21)
         
     | 
| 
      
 734 
     | 
    
         
            +
            	// We allow this because of a bug in IE8/9 that throws an error
         
     | 
| 
      
 735 
     | 
    
         
            +
            	// whenever `document.activeElement` is accessed on an iframe
         
     | 
| 
      
 736 
     | 
    
         
            +
            	// So, we allow :focus to pass through QSA all the time to avoid the IE error
         
     | 
| 
      
 737 
     | 
    
         
            +
            	// See https://bugs.jquery.com/ticket/13378
         
     | 
| 
      
 738 
     | 
    
         
            +
            	rbuggyQSA = [];
         
     | 
| 
      
 739 
     | 
    
         
            +
             
     | 
| 
      
 740 
     | 
    
         
            +
            	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
         
     | 
| 
      
 741 
     | 
    
         
            +
            		// Build QSA regex
         
     | 
| 
      
 742 
     | 
    
         
            +
            		// Regex strategy adopted from Diego Perini
         
     | 
| 
      
 743 
     | 
    
         
            +
            		assert(function( el ) {
         
     | 
| 
      
 744 
     | 
    
         
            +
            			// Select is set to empty string on purpose
         
     | 
| 
      
 745 
     | 
    
         
            +
            			// This is to test IE's treatment of not explicitly
         
     | 
| 
      
 746 
     | 
    
         
            +
            			// setting a boolean content attribute,
         
     | 
| 
      
 747 
     | 
    
         
            +
            			// since its presence should be enough
         
     | 
| 
      
 748 
     | 
    
         
            +
            			// https://bugs.jquery.com/ticket/12359
         
     | 
| 
      
 749 
     | 
    
         
            +
            			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
         
     | 
| 
      
 750 
     | 
    
         
            +
            				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
         
     | 
| 
      
 751 
     | 
    
         
            +
            				"<option selected=''></option></select>";
         
     | 
| 
      
 752 
     | 
    
         
            +
             
     | 
| 
      
 753 
     | 
    
         
            +
            			// Support: IE8, Opera 11-12.16
         
     | 
| 
      
 754 
     | 
    
         
            +
            			// Nothing should be selected when empty strings follow ^= or $= or *=
         
     | 
| 
      
 755 
     | 
    
         
            +
            			// The test attribute must be unknown in Opera but "safe" for WinRT
         
     | 
| 
      
 756 
     | 
    
         
            +
            			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
         
     | 
| 
      
 757 
     | 
    
         
            +
            			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
         
     | 
| 
      
 758 
     | 
    
         
            +
            				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
         
     | 
| 
      
 759 
     | 
    
         
            +
            			}
         
     | 
| 
      
 760 
     | 
    
         
            +
             
     | 
| 
      
 761 
     | 
    
         
            +
            			// Support: IE8
         
     | 
| 
      
 762 
     | 
    
         
            +
            			// Boolean attributes and "value" are not treated correctly
         
     | 
| 
      
 763 
     | 
    
         
            +
            			if ( !el.querySelectorAll("[selected]").length ) {
         
     | 
| 
      
 764 
     | 
    
         
            +
            				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
         
     | 
| 
      
 765 
     | 
    
         
            +
            			}
         
     | 
| 
      
 766 
     | 
    
         
            +
             
     | 
| 
      
 767 
     | 
    
         
            +
            			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
         
     | 
| 
      
 768 
     | 
    
         
            +
            			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
         
     | 
| 
      
 769 
     | 
    
         
            +
            				rbuggyQSA.push("~=");
         
     | 
| 
      
 770 
     | 
    
         
            +
            			}
         
     | 
| 
      
 771 
     | 
    
         
            +
             
     | 
| 
      
 772 
     | 
    
         
            +
            			// Webkit/Opera - :checked should return selected option elements
         
     | 
| 
      
 773 
     | 
    
         
            +
            			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
         
     | 
| 
      
 774 
     | 
    
         
            +
            			// IE8 throws error here and will not see later tests
         
     | 
| 
      
 775 
     | 
    
         
            +
            			if ( !el.querySelectorAll(":checked").length ) {
         
     | 
| 
      
 776 
     | 
    
         
            +
            				rbuggyQSA.push(":checked");
         
     | 
| 
      
 777 
     | 
    
         
            +
            			}
         
     | 
| 
      
 778 
     | 
    
         
            +
             
     | 
| 
      
 779 
     | 
    
         
            +
            			// Support: Safari 8+, iOS 8+
         
     | 
| 
      
 780 
     | 
    
         
            +
            			// https://bugs.webkit.org/show_bug.cgi?id=136851
         
     | 
| 
      
 781 
     | 
    
         
            +
            			// In-page `selector#id sibling-combinator selector` fails
         
     | 
| 
      
 782 
     | 
    
         
            +
            			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
         
     | 
| 
      
 783 
     | 
    
         
            +
            				rbuggyQSA.push(".#.+[+~]");
         
     | 
| 
      
 784 
     | 
    
         
            +
            			}
         
     | 
| 
      
 785 
     | 
    
         
            +
            		});
         
     | 
| 
      
 786 
     | 
    
         
            +
             
     | 
| 
      
 787 
     | 
    
         
            +
            		assert(function( el ) {
         
     | 
| 
      
 788 
     | 
    
         
            +
            			el.innerHTML = "<a href='' disabled='disabled'></a>" +
         
     | 
| 
      
 789 
     | 
    
         
            +
            				"<select disabled='disabled'><option/></select>";
         
     | 
| 
      
 790 
     | 
    
         
            +
             
     | 
| 
      
 791 
     | 
    
         
            +
            			// Support: Windows 8 Native Apps
         
     | 
| 
      
 792 
     | 
    
         
            +
            			// The type and name attributes are restricted during .innerHTML assignment
         
     | 
| 
      
 793 
     | 
    
         
            +
            			var input = document.createElement("input");
         
     | 
| 
      
 794 
     | 
    
         
            +
            			input.setAttribute( "type", "hidden" );
         
     | 
| 
      
 795 
     | 
    
         
            +
            			el.appendChild( input ).setAttribute( "name", "D" );
         
     | 
| 
      
 796 
     | 
    
         
            +
             
     | 
| 
      
 797 
     | 
    
         
            +
            			// Support: IE8
         
     | 
| 
      
 798 
     | 
    
         
            +
            			// Enforce case-sensitivity of name attribute
         
     | 
| 
      
 799 
     | 
    
         
            +
            			if ( el.querySelectorAll("[name=d]").length ) {
         
     | 
| 
      
 800 
     | 
    
         
            +
            				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
         
     | 
| 
      
 801 
     | 
    
         
            +
            			}
         
     | 
| 
      
 802 
     | 
    
         
            +
             
     | 
| 
      
 803 
     | 
    
         
            +
            			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
         
     | 
| 
      
 804 
     | 
    
         
            +
            			// IE8 throws error here and will not see later tests
         
     | 
| 
      
 805 
     | 
    
         
            +
            			if ( el.querySelectorAll(":enabled").length !== 2 ) {
         
     | 
| 
      
 806 
     | 
    
         
            +
            				rbuggyQSA.push( ":enabled", ":disabled" );
         
     | 
| 
      
 807 
     | 
    
         
            +
            			}
         
     | 
| 
      
 808 
     | 
    
         
            +
             
     | 
| 
      
 809 
     | 
    
         
            +
            			// Support: IE9-11+
         
     | 
| 
      
 810 
     | 
    
         
            +
            			// IE's :disabled selector does not pick up the children of disabled fieldsets
         
     | 
| 
      
 811 
     | 
    
         
            +
            			docElem.appendChild( el ).disabled = true;
         
     | 
| 
      
 812 
     | 
    
         
            +
            			if ( el.querySelectorAll(":disabled").length !== 2 ) {
         
     | 
| 
      
 813 
     | 
    
         
            +
            				rbuggyQSA.push( ":enabled", ":disabled" );
         
     | 
| 
      
 814 
     | 
    
         
            +
            			}
         
     | 
| 
      
 815 
     | 
    
         
            +
             
     | 
| 
      
 816 
     | 
    
         
            +
            			// Opera 10-11 does not throw on post-comma invalid pseudos
         
     | 
| 
      
 817 
     | 
    
         
            +
            			el.querySelectorAll("*,:x");
         
     | 
| 
      
 818 
     | 
    
         
            +
            			rbuggyQSA.push(",.*:");
         
     | 
| 
      
 819 
     | 
    
         
            +
            		});
         
     | 
| 
      
 820 
     | 
    
         
            +
            	}
         
     | 
| 
      
 821 
     | 
    
         
            +
             
     | 
| 
      
 822 
     | 
    
         
            +
            	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
         
     | 
| 
      
 823 
     | 
    
         
            +
            		docElem.webkitMatchesSelector ||
         
     | 
| 
      
 824 
     | 
    
         
            +
            		docElem.mozMatchesSelector ||
         
     | 
| 
      
 825 
     | 
    
         
            +
            		docElem.oMatchesSelector ||
         
     | 
| 
      
 826 
     | 
    
         
            +
            		docElem.msMatchesSelector) )) ) {
         
     | 
| 
      
 827 
     | 
    
         
            +
             
     | 
| 
      
 828 
     | 
    
         
            +
            		assert(function( el ) {
         
     | 
| 
      
 829 
     | 
    
         
            +
            			// Check to see if it's possible to do matchesSelector
         
     | 
| 
      
 830 
     | 
    
         
            +
            			// on a disconnected node (IE 9)
         
     | 
| 
      
 831 
     | 
    
         
            +
            			support.disconnectedMatch = matches.call( el, "*" );
         
     | 
| 
      
 832 
     | 
    
         
            +
             
     | 
| 
      
 833 
     | 
    
         
            +
            			// This should fail with an exception
         
     | 
| 
      
 834 
     | 
    
         
            +
            			// Gecko does not error, returns false instead
         
     | 
| 
      
 835 
     | 
    
         
            +
            			matches.call( el, "[s!='']:x" );
         
     | 
| 
      
 836 
     | 
    
         
            +
            			rbuggyMatches.push( "!=", pseudos );
         
     | 
| 
      
 837 
     | 
    
         
            +
            		});
         
     | 
| 
      
 838 
     | 
    
         
            +
            	}
         
     | 
| 
      
 839 
     | 
    
         
            +
             
     | 
| 
      
 840 
     | 
    
         
            +
            	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
         
     | 
| 
      
 841 
     | 
    
         
            +
            	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
         
     | 
| 
      
 842 
     | 
    
         
            +
             
     | 
| 
      
 843 
     | 
    
         
            +
            	/* Contains
         
     | 
| 
      
 844 
     | 
    
         
            +
            	---------------------------------------------------------------------- */
         
     | 
| 
      
 845 
     | 
    
         
            +
            	hasCompare = rnative.test( docElem.compareDocumentPosition );
         
     | 
| 
      
 846 
     | 
    
         
            +
             
     | 
| 
      
 847 
     | 
    
         
            +
            	// Element contains another
         
     | 
| 
      
 848 
     | 
    
         
            +
            	// Purposefully self-exclusive
         
     | 
| 
      
 849 
     | 
    
         
            +
            	// As in, an element does not contain itself
         
     | 
| 
      
 850 
     | 
    
         
            +
            	contains = hasCompare || rnative.test( docElem.contains ) ?
         
     | 
| 
      
 851 
     | 
    
         
            +
            		function( a, b ) {
         
     | 
| 
      
 852 
     | 
    
         
            +
            			var adown = a.nodeType === 9 ? a.documentElement : a,
         
     | 
| 
      
 853 
     | 
    
         
            +
            				bup = b && b.parentNode;
         
     | 
| 
      
 854 
     | 
    
         
            +
            			return a === bup || !!( bup && bup.nodeType === 1 && (
         
     | 
| 
      
 855 
     | 
    
         
            +
            				adown.contains ?
         
     | 
| 
      
 856 
     | 
    
         
            +
            					adown.contains( bup ) :
         
     | 
| 
      
 857 
     | 
    
         
            +
            					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
         
     | 
| 
      
 858 
     | 
    
         
            +
            			));
         
     | 
| 
      
 859 
     | 
    
         
            +
            		} :
         
     | 
| 
      
 860 
     | 
    
         
            +
            		function( a, b ) {
         
     | 
| 
      
 861 
     | 
    
         
            +
            			if ( b ) {
         
     | 
| 
      
 862 
     | 
    
         
            +
            				while ( (b = b.parentNode) ) {
         
     | 
| 
      
 863 
     | 
    
         
            +
            					if ( b === a ) {
         
     | 
| 
      
 864 
     | 
    
         
            +
            						return true;
         
     | 
| 
      
 865 
     | 
    
         
            +
            					}
         
     | 
| 
      
 866 
     | 
    
         
            +
            				}
         
     | 
| 
      
 867 
     | 
    
         
            +
            			}
         
     | 
| 
      
 868 
     | 
    
         
            +
            			return false;
         
     | 
| 
      
 869 
     | 
    
         
            +
            		};
         
     | 
| 
      
 870 
     | 
    
         
            +
             
     | 
| 
      
 871 
     | 
    
         
            +
            	/* Sorting
         
     | 
| 
      
 872 
     | 
    
         
            +
            	---------------------------------------------------------------------- */
         
     | 
| 
      
 873 
     | 
    
         
            +
             
     | 
| 
      
 874 
     | 
    
         
            +
            	// Document order sorting
         
     | 
| 
      
 875 
     | 
    
         
            +
            	sortOrder = hasCompare ?
         
     | 
| 
      
 876 
     | 
    
         
            +
            	function( a, b ) {
         
     | 
| 
      
 877 
     | 
    
         
            +
             
     | 
| 
      
 878 
     | 
    
         
            +
            		// Flag for duplicate removal
         
     | 
| 
      
 879 
     | 
    
         
            +
            		if ( a === b ) {
         
     | 
| 
      
 880 
     | 
    
         
            +
            			hasDuplicate = true;
         
     | 
| 
      
 881 
     | 
    
         
            +
            			return 0;
         
     | 
| 
      
 882 
     | 
    
         
            +
            		}
         
     | 
| 
      
 883 
     | 
    
         
            +
             
     | 
| 
      
 884 
     | 
    
         
            +
            		// Sort on method existence if only one input has compareDocumentPosition
         
     | 
| 
      
 885 
     | 
    
         
            +
            		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
         
     | 
| 
      
 886 
     | 
    
         
            +
            		if ( compare ) {
         
     | 
| 
      
 887 
     | 
    
         
            +
            			return compare;
         
     | 
| 
      
 888 
     | 
    
         
            +
            		}
         
     | 
| 
      
 889 
     | 
    
         
            +
             
     | 
| 
      
 890 
     | 
    
         
            +
            		// Calculate position if both inputs belong to the same document
         
     | 
| 
      
 891 
     | 
    
         
            +
            		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
         
     | 
| 
      
 892 
     | 
    
         
            +
            			a.compareDocumentPosition( b ) :
         
     | 
| 
      
 893 
     | 
    
         
            +
             
     | 
| 
      
 894 
     | 
    
         
            +
            			// Otherwise we know they are disconnected
         
     | 
| 
      
 895 
     | 
    
         
            +
            			1;
         
     | 
| 
      
 896 
     | 
    
         
            +
             
     | 
| 
      
 897 
     | 
    
         
            +
            		// Disconnected nodes
         
     | 
| 
      
 898 
     | 
    
         
            +
            		if ( compare & 1 ||
         
     | 
| 
      
 899 
     | 
    
         
            +
            			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
         
     | 
| 
      
 900 
     | 
    
         
            +
             
     | 
| 
      
 901 
     | 
    
         
            +
            			// Choose the first element that is related to our preferred document
         
     | 
| 
      
 902 
     | 
    
         
            +
            			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
         
     | 
| 
      
 903 
     | 
    
         
            +
            				return -1;
         
     | 
| 
      
 904 
     | 
    
         
            +
            			}
         
     | 
| 
      
 905 
     | 
    
         
            +
            			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
         
     | 
| 
      
 906 
     | 
    
         
            +
            				return 1;
         
     | 
| 
      
 907 
     | 
    
         
            +
            			}
         
     | 
| 
      
 908 
     | 
    
         
            +
             
     | 
| 
      
 909 
     | 
    
         
            +
            			// Maintain original order
         
     | 
| 
      
 910 
     | 
    
         
            +
            			return sortInput ?
         
     | 
| 
      
 911 
     | 
    
         
            +
            				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
         
     | 
| 
      
 912 
     | 
    
         
            +
            				0;
         
     | 
| 
      
 913 
     | 
    
         
            +
            		}
         
     | 
| 
      
 914 
     | 
    
         
            +
             
     | 
| 
      
 915 
     | 
    
         
            +
            		return compare & 4 ? -1 : 1;
         
     | 
| 
      
 916 
     | 
    
         
            +
            	} :
         
     | 
| 
      
 917 
     | 
    
         
            +
            	function( a, b ) {
         
     | 
| 
      
 918 
     | 
    
         
            +
            		// Exit early if the nodes are identical
         
     | 
| 
      
 919 
     | 
    
         
            +
            		if ( a === b ) {
         
     | 
| 
      
 920 
     | 
    
         
            +
            			hasDuplicate = true;
         
     | 
| 
      
 921 
     | 
    
         
            +
            			return 0;
         
     | 
| 
      
 922 
     | 
    
         
            +
            		}
         
     | 
| 
      
 923 
     | 
    
         
            +
             
     | 
| 
      
 924 
     | 
    
         
            +
            		var cur,
         
     | 
| 
      
 925 
     | 
    
         
            +
            			i = 0,
         
     | 
| 
      
 926 
     | 
    
         
            +
            			aup = a.parentNode,
         
     | 
| 
      
 927 
     | 
    
         
            +
            			bup = b.parentNode,
         
     | 
| 
      
 928 
     | 
    
         
            +
            			ap = [ a ],
         
     | 
| 
      
 929 
     | 
    
         
            +
            			bp = [ b ];
         
     | 
| 
      
 930 
     | 
    
         
            +
             
     | 
| 
      
 931 
     | 
    
         
            +
            		// Parentless nodes are either documents or disconnected
         
     | 
| 
      
 932 
     | 
    
         
            +
            		if ( !aup || !bup ) {
         
     | 
| 
      
 933 
     | 
    
         
            +
            			return a === document ? -1 :
         
     | 
| 
      
 934 
     | 
    
         
            +
            				b === document ? 1 :
         
     | 
| 
      
 935 
     | 
    
         
            +
            				aup ? -1 :
         
     | 
| 
      
 936 
     | 
    
         
            +
            				bup ? 1 :
         
     | 
| 
      
 937 
     | 
    
         
            +
            				sortInput ?
         
     | 
| 
      
 938 
     | 
    
         
            +
            				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
         
     | 
| 
      
 939 
     | 
    
         
            +
            				0;
         
     | 
| 
      
 940 
     | 
    
         
            +
             
     | 
| 
      
 941 
     | 
    
         
            +
            		// If the nodes are siblings, we can do a quick check
         
     | 
| 
      
 942 
     | 
    
         
            +
            		} else if ( aup === bup ) {
         
     | 
| 
      
 943 
     | 
    
         
            +
            			return siblingCheck( a, b );
         
     | 
| 
      
 944 
     | 
    
         
            +
            		}
         
     | 
| 
      
 945 
     | 
    
         
            +
             
     | 
| 
      
 946 
     | 
    
         
            +
            		// Otherwise we need full lists of their ancestors for comparison
         
     | 
| 
      
 947 
     | 
    
         
            +
            		cur = a;
         
     | 
| 
      
 948 
     | 
    
         
            +
            		while ( (cur = cur.parentNode) ) {
         
     | 
| 
      
 949 
     | 
    
         
            +
            			ap.unshift( cur );
         
     | 
| 
      
 950 
     | 
    
         
            +
            		}
         
     | 
| 
      
 951 
     | 
    
         
            +
            		cur = b;
         
     | 
| 
      
 952 
     | 
    
         
            +
            		while ( (cur = cur.parentNode) ) {
         
     | 
| 
      
 953 
     | 
    
         
            +
            			bp.unshift( cur );
         
     | 
| 
      
 954 
     | 
    
         
            +
            		}
         
     | 
| 
      
 955 
     | 
    
         
            +
             
     | 
| 
      
 956 
     | 
    
         
            +
            		// Walk down the tree looking for a discrepancy
         
     | 
| 
      
 957 
     | 
    
         
            +
            		while ( ap[i] === bp[i] ) {
         
     | 
| 
      
 958 
     | 
    
         
            +
            			i++;
         
     | 
| 
      
 959 
     | 
    
         
            +
            		}
         
     | 
| 
      
 960 
     | 
    
         
            +
             
     | 
| 
      
 961 
     | 
    
         
            +
            		return i ?
         
     | 
| 
      
 962 
     | 
    
         
            +
            			// Do a sibling check if the nodes have a common ancestor
         
     | 
| 
      
 963 
     | 
    
         
            +
            			siblingCheck( ap[i], bp[i] ) :
         
     | 
| 
      
 964 
     | 
    
         
            +
             
     | 
| 
      
 965 
     | 
    
         
            +
            			// Otherwise nodes in our document sort first
         
     | 
| 
      
 966 
     | 
    
         
            +
            			ap[i] === preferredDoc ? -1 :
         
     | 
| 
      
 967 
     | 
    
         
            +
            			bp[i] === preferredDoc ? 1 :
         
     | 
| 
      
 968 
     | 
    
         
            +
            			0;
         
     | 
| 
      
 969 
     | 
    
         
            +
            	};
         
     | 
| 
      
 970 
     | 
    
         
            +
             
     | 
| 
      
 971 
     | 
    
         
            +
            	return document;
         
     | 
| 
      
 972 
     | 
    
         
            +
            };
         
     | 
| 
      
 973 
     | 
    
         
            +
             
     | 
| 
      
 974 
     | 
    
         
            +
            Sizzle.matches = function( expr, elements ) {
         
     | 
| 
      
 975 
     | 
    
         
            +
            	return Sizzle( expr, null, null, elements );
         
     | 
| 
      
 976 
     | 
    
         
            +
            };
         
     | 
| 
      
 977 
     | 
    
         
            +
             
     | 
| 
      
 978 
     | 
    
         
            +
            Sizzle.matchesSelector = function( elem, expr ) {
         
     | 
| 
      
 979 
     | 
    
         
            +
            	// Set document vars if needed
         
     | 
| 
      
 980 
     | 
    
         
            +
            	if ( ( elem.ownerDocument || elem ) !== document ) {
         
     | 
| 
      
 981 
     | 
    
         
            +
            		setDocument( elem );
         
     | 
| 
      
 982 
     | 
    
         
            +
            	}
         
     | 
| 
      
 983 
     | 
    
         
            +
             
     | 
| 
      
 984 
     | 
    
         
            +
            	// Make sure that attribute selectors are quoted
         
     | 
| 
      
 985 
     | 
    
         
            +
            	expr = expr.replace( rattributeQuotes, "='$1']" );
         
     | 
| 
      
 986 
     | 
    
         
            +
             
     | 
| 
      
 987 
     | 
    
         
            +
            	if ( support.matchesSelector && documentIsHTML &&
         
     | 
| 
      
 988 
     | 
    
         
            +
            		!compilerCache[ expr + " " ] &&
         
     | 
| 
      
 989 
     | 
    
         
            +
            		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
         
     | 
| 
      
 990 
     | 
    
         
            +
            		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
         
     | 
| 
      
 991 
     | 
    
         
            +
             
     | 
| 
      
 992 
     | 
    
         
            +
            		try {
         
     | 
| 
      
 993 
     | 
    
         
            +
            			var ret = matches.call( elem, expr );
         
     | 
| 
      
 994 
     | 
    
         
            +
             
     | 
| 
      
 995 
     | 
    
         
            +
            			// IE 9's matchesSelector returns false on disconnected nodes
         
     | 
| 
      
 996 
     | 
    
         
            +
            			if ( ret || support.disconnectedMatch ||
         
     | 
| 
      
 997 
     | 
    
         
            +
            					// As well, disconnected nodes are said to be in a document
         
     | 
| 
      
 998 
     | 
    
         
            +
            					// fragment in IE 9
         
     | 
| 
      
 999 
     | 
    
         
            +
            					elem.document && elem.document.nodeType !== 11 ) {
         
     | 
| 
      
 1000 
     | 
    
         
            +
            				return ret;
         
     | 
| 
      
 1001 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1002 
     | 
    
         
            +
            		} catch (e) {}
         
     | 
| 
      
 1003 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1004 
     | 
    
         
            +
             
     | 
| 
      
 1005 
     | 
    
         
            +
            	return Sizzle( expr, document, null, [ elem ] ).length > 0;
         
     | 
| 
      
 1006 
     | 
    
         
            +
            };
         
     | 
| 
      
 1007 
     | 
    
         
            +
             
     | 
| 
      
 1008 
     | 
    
         
            +
            Sizzle.contains = function( context, elem ) {
         
     | 
| 
      
 1009 
     | 
    
         
            +
            	// Set document vars if needed
         
     | 
| 
      
 1010 
     | 
    
         
            +
            	if ( ( context.ownerDocument || context ) !== document ) {
         
     | 
| 
      
 1011 
     | 
    
         
            +
            		setDocument( context );
         
     | 
| 
      
 1012 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1013 
     | 
    
         
            +
            	return contains( context, elem );
         
     | 
| 
      
 1014 
     | 
    
         
            +
            };
         
     | 
| 
      
 1015 
     | 
    
         
            +
             
     | 
| 
      
 1016 
     | 
    
         
            +
            Sizzle.attr = function( elem, name ) {
         
     | 
| 
      
 1017 
     | 
    
         
            +
            	// Set document vars if needed
         
     | 
| 
      
 1018 
     | 
    
         
            +
            	if ( ( elem.ownerDocument || elem ) !== document ) {
         
     | 
| 
      
 1019 
     | 
    
         
            +
            		setDocument( elem );
         
     | 
| 
      
 1020 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1021 
     | 
    
         
            +
             
     | 
| 
      
 1022 
     | 
    
         
            +
            	var fn = Expr.attrHandle[ name.toLowerCase() ],
         
     | 
| 
      
 1023 
     | 
    
         
            +
            		// Don't get fooled by Object.prototype properties (jQuery #13807)
         
     | 
| 
      
 1024 
     | 
    
         
            +
            		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
         
     | 
| 
      
 1025 
     | 
    
         
            +
            			fn( elem, name, !documentIsHTML ) :
         
     | 
| 
      
 1026 
     | 
    
         
            +
            			undefined;
         
     | 
| 
      
 1027 
     | 
    
         
            +
             
     | 
| 
      
 1028 
     | 
    
         
            +
            	return val !== undefined ?
         
     | 
| 
      
 1029 
     | 
    
         
            +
            		val :
         
     | 
| 
      
 1030 
     | 
    
         
            +
            		support.attributes || !documentIsHTML ?
         
     | 
| 
      
 1031 
     | 
    
         
            +
            			elem.getAttribute( name ) :
         
     | 
| 
      
 1032 
     | 
    
         
            +
            			(val = elem.getAttributeNode(name)) && val.specified ?
         
     | 
| 
      
 1033 
     | 
    
         
            +
            				val.value :
         
     | 
| 
      
 1034 
     | 
    
         
            +
            				null;
         
     | 
| 
      
 1035 
     | 
    
         
            +
            };
         
     | 
| 
      
 1036 
     | 
    
         
            +
             
     | 
| 
      
 1037 
     | 
    
         
            +
            Sizzle.escape = function( sel ) {
         
     | 
| 
      
 1038 
     | 
    
         
            +
            	return (sel + "").replace( rcssescape, fcssescape );
         
     | 
| 
      
 1039 
     | 
    
         
            +
            };
         
     | 
| 
      
 1040 
     | 
    
         
            +
             
     | 
| 
      
 1041 
     | 
    
         
            +
            Sizzle.error = function( msg ) {
         
     | 
| 
      
 1042 
     | 
    
         
            +
            	throw new Error( "Syntax error, unrecognized expression: " + msg );
         
     | 
| 
      
 1043 
     | 
    
         
            +
            };
         
     | 
| 
      
 1044 
     | 
    
         
            +
             
     | 
| 
      
 1045 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1046 
     | 
    
         
            +
             * Document sorting and removing duplicates
         
     | 
| 
      
 1047 
     | 
    
         
            +
             * @param {ArrayLike} results
         
     | 
| 
      
 1048 
     | 
    
         
            +
             */
         
     | 
| 
      
 1049 
     | 
    
         
            +
            Sizzle.uniqueSort = function( results ) {
         
     | 
| 
      
 1050 
     | 
    
         
            +
            	var elem,
         
     | 
| 
      
 1051 
     | 
    
         
            +
            		duplicates = [],
         
     | 
| 
      
 1052 
     | 
    
         
            +
            		j = 0,
         
     | 
| 
      
 1053 
     | 
    
         
            +
            		i = 0;
         
     | 
| 
      
 1054 
     | 
    
         
            +
             
     | 
| 
      
 1055 
     | 
    
         
            +
            	// Unless we *know* we can detect duplicates, assume their presence
         
     | 
| 
      
 1056 
     | 
    
         
            +
            	hasDuplicate = !support.detectDuplicates;
         
     | 
| 
      
 1057 
     | 
    
         
            +
            	sortInput = !support.sortStable && results.slice( 0 );
         
     | 
| 
      
 1058 
     | 
    
         
            +
            	results.sort( sortOrder );
         
     | 
| 
      
 1059 
     | 
    
         
            +
             
     | 
| 
      
 1060 
     | 
    
         
            +
            	if ( hasDuplicate ) {
         
     | 
| 
      
 1061 
     | 
    
         
            +
            		while ( (elem = results[i++]) ) {
         
     | 
| 
      
 1062 
     | 
    
         
            +
            			if ( elem === results[ i ] ) {
         
     | 
| 
      
 1063 
     | 
    
         
            +
            				j = duplicates.push( i );
         
     | 
| 
      
 1064 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1065 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1066 
     | 
    
         
            +
            		while ( j-- ) {
         
     | 
| 
      
 1067 
     | 
    
         
            +
            			results.splice( duplicates[ j ], 1 );
         
     | 
| 
      
 1068 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1069 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1070 
     | 
    
         
            +
             
     | 
| 
      
 1071 
     | 
    
         
            +
            	// Clear input after sorting to release objects
         
     | 
| 
      
 1072 
     | 
    
         
            +
            	// See https://github.com/jquery/sizzle/pull/225
         
     | 
| 
      
 1073 
     | 
    
         
            +
            	sortInput = null;
         
     | 
| 
      
 1074 
     | 
    
         
            +
             
     | 
| 
      
 1075 
     | 
    
         
            +
            	return results;
         
     | 
| 
      
 1076 
     | 
    
         
            +
            };
         
     | 
| 
      
 1077 
     | 
    
         
            +
             
     | 
| 
      
 1078 
     | 
    
         
            +
            /**
         
     | 
| 
      
 1079 
     | 
    
         
            +
             * Utility function for retrieving the text value of an array of DOM nodes
         
     | 
| 
      
 1080 
     | 
    
         
            +
             * @param {Array|Element} elem
         
     | 
| 
      
 1081 
     | 
    
         
            +
             */
         
     | 
| 
      
 1082 
     | 
    
         
            +
            getText = Sizzle.getText = function( elem ) {
         
     | 
| 
      
 1083 
     | 
    
         
            +
            	var node,
         
     | 
| 
      
 1084 
     | 
    
         
            +
            		ret = "",
         
     | 
| 
      
 1085 
     | 
    
         
            +
            		i = 0,
         
     | 
| 
      
 1086 
     | 
    
         
            +
            		nodeType = elem.nodeType;
         
     | 
| 
      
 1087 
     | 
    
         
            +
             
     | 
| 
      
 1088 
     | 
    
         
            +
            	if ( !nodeType ) {
         
     | 
| 
      
 1089 
     | 
    
         
            +
            		// If no nodeType, this is expected to be an array
         
     | 
| 
      
 1090 
     | 
    
         
            +
            		while ( (node = elem[i++]) ) {
         
     | 
| 
      
 1091 
     | 
    
         
            +
            			// Do not traverse comment nodes
         
     | 
| 
      
 1092 
     | 
    
         
            +
            			ret += getText( node );
         
     | 
| 
      
 1093 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1094 
     | 
    
         
            +
            	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
         
     | 
| 
      
 1095 
     | 
    
         
            +
            		// Use textContent for elements
         
     | 
| 
      
 1096 
     | 
    
         
            +
            		// innerText usage removed for consistency of new lines (jQuery #11153)
         
     | 
| 
      
 1097 
     | 
    
         
            +
            		if ( typeof elem.textContent === "string" ) {
         
     | 
| 
      
 1098 
     | 
    
         
            +
            			return elem.textContent;
         
     | 
| 
      
 1099 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 1100 
     | 
    
         
            +
            			// Traverse its children
         
     | 
| 
      
 1101 
     | 
    
         
            +
            			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
         
     | 
| 
      
 1102 
     | 
    
         
            +
            				ret += getText( elem );
         
     | 
| 
      
 1103 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1104 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1105 
     | 
    
         
            +
            	} else if ( nodeType === 3 || nodeType === 4 ) {
         
     | 
| 
      
 1106 
     | 
    
         
            +
            		return elem.nodeValue;
         
     | 
| 
      
 1107 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1108 
     | 
    
         
            +
            	// Do not include comment or processing instruction nodes
         
     | 
| 
      
 1109 
     | 
    
         
            +
             
     | 
| 
      
 1110 
     | 
    
         
            +
            	return ret;
         
     | 
| 
      
 1111 
     | 
    
         
            +
            };
         
     | 
| 
      
 1112 
     | 
    
         
            +
             
     | 
| 
      
 1113 
     | 
    
         
            +
            Expr = Sizzle.selectors = {
         
     | 
| 
      
 1114 
     | 
    
         
            +
             
     | 
| 
      
 1115 
     | 
    
         
            +
            	// Can be adjusted by the user
         
     | 
| 
      
 1116 
     | 
    
         
            +
            	cacheLength: 50,
         
     | 
| 
      
 1117 
     | 
    
         
            +
             
     | 
| 
      
 1118 
     | 
    
         
            +
            	createPseudo: markFunction,
         
     | 
| 
      
 1119 
     | 
    
         
            +
             
     | 
| 
      
 1120 
     | 
    
         
            +
            	match: matchExpr,
         
     | 
| 
      
 1121 
     | 
    
         
            +
             
     | 
| 
      
 1122 
     | 
    
         
            +
            	attrHandle: {},
         
     | 
| 
      
 1123 
     | 
    
         
            +
             
     | 
| 
      
 1124 
     | 
    
         
            +
            	find: {},
         
     | 
| 
      
 1125 
     | 
    
         
            +
             
     | 
| 
      
 1126 
     | 
    
         
            +
            	relative: {
         
     | 
| 
      
 1127 
     | 
    
         
            +
            		">": { dir: "parentNode", first: true },
         
     | 
| 
      
 1128 
     | 
    
         
            +
            		" ": { dir: "parentNode" },
         
     | 
| 
      
 1129 
     | 
    
         
            +
            		"+": { dir: "previousSibling", first: true },
         
     | 
| 
      
 1130 
     | 
    
         
            +
            		"~": { dir: "previousSibling" }
         
     | 
| 
      
 1131 
     | 
    
         
            +
            	},
         
     | 
| 
      
 1132 
     | 
    
         
            +
             
     | 
| 
      
 1133 
     | 
    
         
            +
            	preFilter: {
         
     | 
| 
      
 1134 
     | 
    
         
            +
            		"ATTR": function( match ) {
         
     | 
| 
      
 1135 
     | 
    
         
            +
            			match[1] = match[1].replace( runescape, funescape );
         
     | 
| 
      
 1136 
     | 
    
         
            +
             
     | 
| 
      
 1137 
     | 
    
         
            +
            			// Move the given value to match[3] whether quoted or unquoted
         
     | 
| 
      
 1138 
     | 
    
         
            +
            			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
         
     | 
| 
      
 1139 
     | 
    
         
            +
             
     | 
| 
      
 1140 
     | 
    
         
            +
            			if ( match[2] === "~=" ) {
         
     | 
| 
      
 1141 
     | 
    
         
            +
            				match[3] = " " + match[3] + " ";
         
     | 
| 
      
 1142 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1143 
     | 
    
         
            +
             
     | 
| 
      
 1144 
     | 
    
         
            +
            			return match.slice( 0, 4 );
         
     | 
| 
      
 1145 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1146 
     | 
    
         
            +
             
     | 
| 
      
 1147 
     | 
    
         
            +
            		"CHILD": function( match ) {
         
     | 
| 
      
 1148 
     | 
    
         
            +
            			/* matches from matchExpr["CHILD"]
         
     | 
| 
      
 1149 
     | 
    
         
            +
            				1 type (only|nth|...)
         
     | 
| 
      
 1150 
     | 
    
         
            +
            				2 what (child|of-type)
         
     | 
| 
      
 1151 
     | 
    
         
            +
            				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
         
     | 
| 
      
 1152 
     | 
    
         
            +
            				4 xn-component of xn+y argument ([+-]?\d*n|)
         
     | 
| 
      
 1153 
     | 
    
         
            +
            				5 sign of xn-component
         
     | 
| 
      
 1154 
     | 
    
         
            +
            				6 x of xn-component
         
     | 
| 
      
 1155 
     | 
    
         
            +
            				7 sign of y-component
         
     | 
| 
      
 1156 
     | 
    
         
            +
            				8 y of y-component
         
     | 
| 
      
 1157 
     | 
    
         
            +
            			*/
         
     | 
| 
      
 1158 
     | 
    
         
            +
            			match[1] = match[1].toLowerCase();
         
     | 
| 
      
 1159 
     | 
    
         
            +
             
     | 
| 
      
 1160 
     | 
    
         
            +
            			if ( match[1].slice( 0, 3 ) === "nth" ) {
         
     | 
| 
      
 1161 
     | 
    
         
            +
            				// nth-* requires argument
         
     | 
| 
      
 1162 
     | 
    
         
            +
            				if ( !match[3] ) {
         
     | 
| 
      
 1163 
     | 
    
         
            +
            					Sizzle.error( match[0] );
         
     | 
| 
      
 1164 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1165 
     | 
    
         
            +
             
     | 
| 
      
 1166 
     | 
    
         
            +
            				// numeric x and y parameters for Expr.filter.CHILD
         
     | 
| 
      
 1167 
     | 
    
         
            +
            				// remember that false/true cast respectively to 0/1
         
     | 
| 
      
 1168 
     | 
    
         
            +
            				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
         
     | 
| 
      
 1169 
     | 
    
         
            +
            				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
         
     | 
| 
      
 1170 
     | 
    
         
            +
             
     | 
| 
      
 1171 
     | 
    
         
            +
            			// other types prohibit arguments
         
     | 
| 
      
 1172 
     | 
    
         
            +
            			} else if ( match[3] ) {
         
     | 
| 
      
 1173 
     | 
    
         
            +
            				Sizzle.error( match[0] );
         
     | 
| 
      
 1174 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1175 
     | 
    
         
            +
             
     | 
| 
      
 1176 
     | 
    
         
            +
            			return match;
         
     | 
| 
      
 1177 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1178 
     | 
    
         
            +
             
     | 
| 
      
 1179 
     | 
    
         
            +
            		"PSEUDO": function( match ) {
         
     | 
| 
      
 1180 
     | 
    
         
            +
            			var excess,
         
     | 
| 
      
 1181 
     | 
    
         
            +
            				unquoted = !match[6] && match[2];
         
     | 
| 
      
 1182 
     | 
    
         
            +
             
     | 
| 
      
 1183 
     | 
    
         
            +
            			if ( matchExpr["CHILD"].test( match[0] ) ) {
         
     | 
| 
      
 1184 
     | 
    
         
            +
            				return null;
         
     | 
| 
      
 1185 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1186 
     | 
    
         
            +
             
     | 
| 
      
 1187 
     | 
    
         
            +
            			// Accept quoted arguments as-is
         
     | 
| 
      
 1188 
     | 
    
         
            +
            			if ( match[3] ) {
         
     | 
| 
      
 1189 
     | 
    
         
            +
            				match[2] = match[4] || match[5] || "";
         
     | 
| 
      
 1190 
     | 
    
         
            +
             
     | 
| 
      
 1191 
     | 
    
         
            +
            			// Strip excess characters from unquoted arguments
         
     | 
| 
      
 1192 
     | 
    
         
            +
            			} else if ( unquoted && rpseudo.test( unquoted ) &&
         
     | 
| 
      
 1193 
     | 
    
         
            +
            				// Get excess from tokenize (recursively)
         
     | 
| 
      
 1194 
     | 
    
         
            +
            				(excess = tokenize( unquoted, true )) &&
         
     | 
| 
      
 1195 
     | 
    
         
            +
            				// advance to the next closing parenthesis
         
     | 
| 
      
 1196 
     | 
    
         
            +
            				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
         
     | 
| 
      
 1197 
     | 
    
         
            +
             
     | 
| 
      
 1198 
     | 
    
         
            +
            				// excess is a negative index
         
     | 
| 
      
 1199 
     | 
    
         
            +
            				match[0] = match[0].slice( 0, excess );
         
     | 
| 
      
 1200 
     | 
    
         
            +
            				match[2] = unquoted.slice( 0, excess );
         
     | 
| 
      
 1201 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1202 
     | 
    
         
            +
             
     | 
| 
      
 1203 
     | 
    
         
            +
            			// Return only captures needed by the pseudo filter method (type and argument)
         
     | 
| 
      
 1204 
     | 
    
         
            +
            			return match.slice( 0, 3 );
         
     | 
| 
      
 1205 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1206 
     | 
    
         
            +
            	},
         
     | 
| 
      
 1207 
     | 
    
         
            +
             
     | 
| 
      
 1208 
     | 
    
         
            +
            	filter: {
         
     | 
| 
      
 1209 
     | 
    
         
            +
             
     | 
| 
      
 1210 
     | 
    
         
            +
            		"TAG": function( nodeNameSelector ) {
         
     | 
| 
      
 1211 
     | 
    
         
            +
            			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
         
     | 
| 
      
 1212 
     | 
    
         
            +
            			return nodeNameSelector === "*" ?
         
     | 
| 
      
 1213 
     | 
    
         
            +
            				function() { return true; } :
         
     | 
| 
      
 1214 
     | 
    
         
            +
            				function( elem ) {
         
     | 
| 
      
 1215 
     | 
    
         
            +
            					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
         
     | 
| 
      
 1216 
     | 
    
         
            +
            				};
         
     | 
| 
      
 1217 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1218 
     | 
    
         
            +
             
     | 
| 
      
 1219 
     | 
    
         
            +
            		"CLASS": function( className ) {
         
     | 
| 
      
 1220 
     | 
    
         
            +
            			var pattern = classCache[ className + " " ];
         
     | 
| 
      
 1221 
     | 
    
         
            +
             
     | 
| 
      
 1222 
     | 
    
         
            +
            			return pattern ||
         
     | 
| 
      
 1223 
     | 
    
         
            +
            				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
         
     | 
| 
      
 1224 
     | 
    
         
            +
            				classCache( className, function( elem ) {
         
     | 
| 
      
 1225 
     | 
    
         
            +
            					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
         
     | 
| 
      
 1226 
     | 
    
         
            +
            				});
         
     | 
| 
      
 1227 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1228 
     | 
    
         
            +
             
     | 
| 
      
 1229 
     | 
    
         
            +
            		"ATTR": function( name, operator, check ) {
         
     | 
| 
      
 1230 
     | 
    
         
            +
            			return function( elem ) {
         
     | 
| 
      
 1231 
     | 
    
         
            +
            				var result = Sizzle.attr( elem, name );
         
     | 
| 
      
 1232 
     | 
    
         
            +
             
     | 
| 
      
 1233 
     | 
    
         
            +
            				if ( result == null ) {
         
     | 
| 
      
 1234 
     | 
    
         
            +
            					return operator === "!=";
         
     | 
| 
      
 1235 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1236 
     | 
    
         
            +
            				if ( !operator ) {
         
     | 
| 
      
 1237 
     | 
    
         
            +
            					return true;
         
     | 
| 
      
 1238 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1239 
     | 
    
         
            +
             
     | 
| 
      
 1240 
     | 
    
         
            +
            				result += "";
         
     | 
| 
      
 1241 
     | 
    
         
            +
             
     | 
| 
      
 1242 
     | 
    
         
            +
            				return operator === "=" ? result === check :
         
     | 
| 
      
 1243 
     | 
    
         
            +
            					operator === "!=" ? result !== check :
         
     | 
| 
      
 1244 
     | 
    
         
            +
            					operator === "^=" ? check && result.indexOf( check ) === 0 :
         
     | 
| 
      
 1245 
     | 
    
         
            +
            					operator === "*=" ? check && result.indexOf( check ) > -1 :
         
     | 
| 
      
 1246 
     | 
    
         
            +
            					operator === "$=" ? check && result.slice( -check.length ) === check :
         
     | 
| 
      
 1247 
     | 
    
         
            +
            					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
         
     | 
| 
      
 1248 
     | 
    
         
            +
            					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
         
     | 
| 
      
 1249 
     | 
    
         
            +
            					false;
         
     | 
| 
      
 1250 
     | 
    
         
            +
            			};
         
     | 
| 
      
 1251 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1252 
     | 
    
         
            +
             
     | 
| 
      
 1253 
     | 
    
         
            +
            		"CHILD": function( type, what, argument, first, last ) {
         
     | 
| 
      
 1254 
     | 
    
         
            +
            			var simple = type.slice( 0, 3 ) !== "nth",
         
     | 
| 
      
 1255 
     | 
    
         
            +
            				forward = type.slice( -4 ) !== "last",
         
     | 
| 
      
 1256 
     | 
    
         
            +
            				ofType = what === "of-type";
         
     | 
| 
      
 1257 
     | 
    
         
            +
             
     | 
| 
      
 1258 
     | 
    
         
            +
            			return first === 1 && last === 0 ?
         
     | 
| 
      
 1259 
     | 
    
         
            +
             
     | 
| 
      
 1260 
     | 
    
         
            +
            				// Shortcut for :nth-*(n)
         
     | 
| 
      
 1261 
     | 
    
         
            +
            				function( elem ) {
         
     | 
| 
      
 1262 
     | 
    
         
            +
            					return !!elem.parentNode;
         
     | 
| 
      
 1263 
     | 
    
         
            +
            				} :
         
     | 
| 
      
 1264 
     | 
    
         
            +
             
     | 
| 
      
 1265 
     | 
    
         
            +
            				function( elem, context, xml ) {
         
     | 
| 
      
 1266 
     | 
    
         
            +
            					var cache, uniqueCache, outerCache, node, nodeIndex, start,
         
     | 
| 
      
 1267 
     | 
    
         
            +
            						dir = simple !== forward ? "nextSibling" : "previousSibling",
         
     | 
| 
      
 1268 
     | 
    
         
            +
            						parent = elem.parentNode,
         
     | 
| 
      
 1269 
     | 
    
         
            +
            						name = ofType && elem.nodeName.toLowerCase(),
         
     | 
| 
      
 1270 
     | 
    
         
            +
            						useCache = !xml && !ofType,
         
     | 
| 
      
 1271 
     | 
    
         
            +
            						diff = false;
         
     | 
| 
      
 1272 
     | 
    
         
            +
             
     | 
| 
      
 1273 
     | 
    
         
            +
            					if ( parent ) {
         
     | 
| 
      
 1274 
     | 
    
         
            +
             
     | 
| 
      
 1275 
     | 
    
         
            +
            						// :(first|last|only)-(child|of-type)
         
     | 
| 
      
 1276 
     | 
    
         
            +
            						if ( simple ) {
         
     | 
| 
      
 1277 
     | 
    
         
            +
            							while ( dir ) {
         
     | 
| 
      
 1278 
     | 
    
         
            +
            								node = elem;
         
     | 
| 
      
 1279 
     | 
    
         
            +
            								while ( (node = node[ dir ]) ) {
         
     | 
| 
      
 1280 
     | 
    
         
            +
            									if ( ofType ?
         
     | 
| 
      
 1281 
     | 
    
         
            +
            										node.nodeName.toLowerCase() === name :
         
     | 
| 
      
 1282 
     | 
    
         
            +
            										node.nodeType === 1 ) {
         
     | 
| 
      
 1283 
     | 
    
         
            +
             
     | 
| 
      
 1284 
     | 
    
         
            +
            										return false;
         
     | 
| 
      
 1285 
     | 
    
         
            +
            									}
         
     | 
| 
      
 1286 
     | 
    
         
            +
            								}
         
     | 
| 
      
 1287 
     | 
    
         
            +
            								// Reverse direction for :only-* (if we haven't yet done so)
         
     | 
| 
      
 1288 
     | 
    
         
            +
            								start = dir = type === "only" && !start && "nextSibling";
         
     | 
| 
      
 1289 
     | 
    
         
            +
            							}
         
     | 
| 
      
 1290 
     | 
    
         
            +
            							return true;
         
     | 
| 
      
 1291 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1292 
     | 
    
         
            +
             
     | 
| 
      
 1293 
     | 
    
         
            +
            						start = [ forward ? parent.firstChild : parent.lastChild ];
         
     | 
| 
      
 1294 
     | 
    
         
            +
             
     | 
| 
      
 1295 
     | 
    
         
            +
            						// non-xml :nth-child(...) stores cache data on `parent`
         
     | 
| 
      
 1296 
     | 
    
         
            +
            						if ( forward && useCache ) {
         
     | 
| 
      
 1297 
     | 
    
         
            +
             
     | 
| 
      
 1298 
     | 
    
         
            +
            							// Seek `elem` from a previously-cached index
         
     | 
| 
      
 1299 
     | 
    
         
            +
             
     | 
| 
      
 1300 
     | 
    
         
            +
            							// ...in a gzip-friendly way
         
     | 
| 
      
 1301 
     | 
    
         
            +
            							node = parent;
         
     | 
| 
      
 1302 
     | 
    
         
            +
            							outerCache = node[ expando ] || (node[ expando ] = {});
         
     | 
| 
      
 1303 
     | 
    
         
            +
             
     | 
| 
      
 1304 
     | 
    
         
            +
            							// Support: IE <9 only
         
     | 
| 
      
 1305 
     | 
    
         
            +
            							// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
      
 1306 
     | 
    
         
            +
            							uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
      
 1307 
     | 
    
         
            +
            								(outerCache[ node.uniqueID ] = {});
         
     | 
| 
      
 1308 
     | 
    
         
            +
             
     | 
| 
      
 1309 
     | 
    
         
            +
            							cache = uniqueCache[ type ] || [];
         
     | 
| 
      
 1310 
     | 
    
         
            +
            							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
         
     | 
| 
      
 1311 
     | 
    
         
            +
            							diff = nodeIndex && cache[ 2 ];
         
     | 
| 
      
 1312 
     | 
    
         
            +
            							node = nodeIndex && parent.childNodes[ nodeIndex ];
         
     | 
| 
      
 1313 
     | 
    
         
            +
             
     | 
| 
      
 1314 
     | 
    
         
            +
            							while ( (node = ++nodeIndex && node && node[ dir ] ||
         
     | 
| 
      
 1315 
     | 
    
         
            +
             
     | 
| 
      
 1316 
     | 
    
         
            +
            								// Fallback to seeking `elem` from the start
         
     | 
| 
      
 1317 
     | 
    
         
            +
            								(diff = nodeIndex = 0) || start.pop()) ) {
         
     | 
| 
      
 1318 
     | 
    
         
            +
             
     | 
| 
      
 1319 
     | 
    
         
            +
            								// When found, cache indexes on `parent` and break
         
     | 
| 
      
 1320 
     | 
    
         
            +
            								if ( node.nodeType === 1 && ++diff && node === elem ) {
         
     | 
| 
      
 1321 
     | 
    
         
            +
            									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
         
     | 
| 
      
 1322 
     | 
    
         
            +
            									break;
         
     | 
| 
      
 1323 
     | 
    
         
            +
            								}
         
     | 
| 
      
 1324 
     | 
    
         
            +
            							}
         
     | 
| 
      
 1325 
     | 
    
         
            +
             
     | 
| 
      
 1326 
     | 
    
         
            +
            						} else {
         
     | 
| 
      
 1327 
     | 
    
         
            +
            							// Use previously-cached element index if available
         
     | 
| 
      
 1328 
     | 
    
         
            +
            							if ( useCache ) {
         
     | 
| 
      
 1329 
     | 
    
         
            +
            								// ...in a gzip-friendly way
         
     | 
| 
      
 1330 
     | 
    
         
            +
            								node = elem;
         
     | 
| 
      
 1331 
     | 
    
         
            +
            								outerCache = node[ expando ] || (node[ expando ] = {});
         
     | 
| 
      
 1332 
     | 
    
         
            +
             
     | 
| 
      
 1333 
     | 
    
         
            +
            								// Support: IE <9 only
         
     | 
| 
      
 1334 
     | 
    
         
            +
            								// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
      
 1335 
     | 
    
         
            +
            								uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
      
 1336 
     | 
    
         
            +
            									(outerCache[ node.uniqueID ] = {});
         
     | 
| 
      
 1337 
     | 
    
         
            +
             
     | 
| 
      
 1338 
     | 
    
         
            +
            								cache = uniqueCache[ type ] || [];
         
     | 
| 
      
 1339 
     | 
    
         
            +
            								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
         
     | 
| 
      
 1340 
     | 
    
         
            +
            								diff = nodeIndex;
         
     | 
| 
      
 1341 
     | 
    
         
            +
            							}
         
     | 
| 
      
 1342 
     | 
    
         
            +
             
     | 
| 
      
 1343 
     | 
    
         
            +
            							// xml :nth-child(...)
         
     | 
| 
      
 1344 
     | 
    
         
            +
            							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
         
     | 
| 
      
 1345 
     | 
    
         
            +
            							if ( diff === false ) {
         
     | 
| 
      
 1346 
     | 
    
         
            +
            								// Use the same loop as above to seek `elem` from the start
         
     | 
| 
      
 1347 
     | 
    
         
            +
            								while ( (node = ++nodeIndex && node && node[ dir ] ||
         
     | 
| 
      
 1348 
     | 
    
         
            +
            									(diff = nodeIndex = 0) || start.pop()) ) {
         
     | 
| 
      
 1349 
     | 
    
         
            +
             
     | 
| 
      
 1350 
     | 
    
         
            +
            									if ( ( ofType ?
         
     | 
| 
      
 1351 
     | 
    
         
            +
            										node.nodeName.toLowerCase() === name :
         
     | 
| 
      
 1352 
     | 
    
         
            +
            										node.nodeType === 1 ) &&
         
     | 
| 
      
 1353 
     | 
    
         
            +
            										++diff ) {
         
     | 
| 
      
 1354 
     | 
    
         
            +
             
     | 
| 
      
 1355 
     | 
    
         
            +
            										// Cache the index of each encountered element
         
     | 
| 
      
 1356 
     | 
    
         
            +
            										if ( useCache ) {
         
     | 
| 
      
 1357 
     | 
    
         
            +
            											outerCache = node[ expando ] || (node[ expando ] = {});
         
     | 
| 
      
 1358 
     | 
    
         
            +
             
     | 
| 
      
 1359 
     | 
    
         
            +
            											// Support: IE <9 only
         
     | 
| 
      
 1360 
     | 
    
         
            +
            											// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
      
 1361 
     | 
    
         
            +
            											uniqueCache = outerCache[ node.uniqueID ] ||
         
     | 
| 
      
 1362 
     | 
    
         
            +
            												(outerCache[ node.uniqueID ] = {});
         
     | 
| 
      
 1363 
     | 
    
         
            +
             
     | 
| 
      
 1364 
     | 
    
         
            +
            											uniqueCache[ type ] = [ dirruns, diff ];
         
     | 
| 
      
 1365 
     | 
    
         
            +
            										}
         
     | 
| 
      
 1366 
     | 
    
         
            +
             
     | 
| 
      
 1367 
     | 
    
         
            +
            										if ( node === elem ) {
         
     | 
| 
      
 1368 
     | 
    
         
            +
            											break;
         
     | 
| 
      
 1369 
     | 
    
         
            +
            										}
         
     | 
| 
      
 1370 
     | 
    
         
            +
            									}
         
     | 
| 
      
 1371 
     | 
    
         
            +
            								}
         
     | 
| 
      
 1372 
     | 
    
         
            +
            							}
         
     | 
| 
      
 1373 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1374 
     | 
    
         
            +
             
     | 
| 
      
 1375 
     | 
    
         
            +
            						// Incorporate the offset, then check against cycle size
         
     | 
| 
      
 1376 
     | 
    
         
            +
            						diff -= last;
         
     | 
| 
      
 1377 
     | 
    
         
            +
            						return diff === first || ( diff % first === 0 && diff / first >= 0 );
         
     | 
| 
      
 1378 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1379 
     | 
    
         
            +
            				};
         
     | 
| 
      
 1380 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1381 
     | 
    
         
            +
             
     | 
| 
      
 1382 
     | 
    
         
            +
            		"PSEUDO": function( pseudo, argument ) {
         
     | 
| 
      
 1383 
     | 
    
         
            +
            			// pseudo-class names are case-insensitive
         
     | 
| 
      
 1384 
     | 
    
         
            +
            			// http://www.w3.org/TR/selectors/#pseudo-classes
         
     | 
| 
      
 1385 
     | 
    
         
            +
            			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
         
     | 
| 
      
 1386 
     | 
    
         
            +
            			// Remember that setFilters inherits from pseudos
         
     | 
| 
      
 1387 
     | 
    
         
            +
            			var args,
         
     | 
| 
      
 1388 
     | 
    
         
            +
            				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
         
     | 
| 
      
 1389 
     | 
    
         
            +
            					Sizzle.error( "unsupported pseudo: " + pseudo );
         
     | 
| 
      
 1390 
     | 
    
         
            +
             
     | 
| 
      
 1391 
     | 
    
         
            +
            			// The user may use createPseudo to indicate that
         
     | 
| 
      
 1392 
     | 
    
         
            +
            			// arguments are needed to create the filter function
         
     | 
| 
      
 1393 
     | 
    
         
            +
            			// just as Sizzle does
         
     | 
| 
      
 1394 
     | 
    
         
            +
            			if ( fn[ expando ] ) {
         
     | 
| 
      
 1395 
     | 
    
         
            +
            				return fn( argument );
         
     | 
| 
      
 1396 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1397 
     | 
    
         
            +
             
     | 
| 
      
 1398 
     | 
    
         
            +
            			// But maintain support for old signatures
         
     | 
| 
      
 1399 
     | 
    
         
            +
            			if ( fn.length > 1 ) {
         
     | 
| 
      
 1400 
     | 
    
         
            +
            				args = [ pseudo, pseudo, "", argument ];
         
     | 
| 
      
 1401 
     | 
    
         
            +
            				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
         
     | 
| 
      
 1402 
     | 
    
         
            +
            					markFunction(function( seed, matches ) {
         
     | 
| 
      
 1403 
     | 
    
         
            +
            						var idx,
         
     | 
| 
      
 1404 
     | 
    
         
            +
            							matched = fn( seed, argument ),
         
     | 
| 
      
 1405 
     | 
    
         
            +
            							i = matched.length;
         
     | 
| 
      
 1406 
     | 
    
         
            +
            						while ( i-- ) {
         
     | 
| 
      
 1407 
     | 
    
         
            +
            							idx = indexOf( seed, matched[i] );
         
     | 
| 
      
 1408 
     | 
    
         
            +
            							seed[ idx ] = !( matches[ idx ] = matched[i] );
         
     | 
| 
      
 1409 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1410 
     | 
    
         
            +
            					}) :
         
     | 
| 
      
 1411 
     | 
    
         
            +
            					function( elem ) {
         
     | 
| 
      
 1412 
     | 
    
         
            +
            						return fn( elem, 0, args );
         
     | 
| 
      
 1413 
     | 
    
         
            +
            					};
         
     | 
| 
      
 1414 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1415 
     | 
    
         
            +
             
     | 
| 
      
 1416 
     | 
    
         
            +
            			return fn;
         
     | 
| 
      
 1417 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1418 
     | 
    
         
            +
            	},
         
     | 
| 
      
 1419 
     | 
    
         
            +
             
     | 
| 
      
 1420 
     | 
    
         
            +
            	pseudos: {
         
     | 
| 
      
 1421 
     | 
    
         
            +
            		// Potentially complex pseudos
         
     | 
| 
      
 1422 
     | 
    
         
            +
            		"not": markFunction(function( selector ) {
         
     | 
| 
      
 1423 
     | 
    
         
            +
            			// Trim the selector passed to compile
         
     | 
| 
      
 1424 
     | 
    
         
            +
            			// to avoid treating leading and trailing
         
     | 
| 
      
 1425 
     | 
    
         
            +
            			// spaces as combinators
         
     | 
| 
      
 1426 
     | 
    
         
            +
            			var input = [],
         
     | 
| 
      
 1427 
     | 
    
         
            +
            				results = [],
         
     | 
| 
      
 1428 
     | 
    
         
            +
            				matcher = compile( selector.replace( rtrim, "$1" ) );
         
     | 
| 
      
 1429 
     | 
    
         
            +
             
     | 
| 
      
 1430 
     | 
    
         
            +
            			return matcher[ expando ] ?
         
     | 
| 
      
 1431 
     | 
    
         
            +
            				markFunction(function( seed, matches, context, xml ) {
         
     | 
| 
      
 1432 
     | 
    
         
            +
            					var elem,
         
     | 
| 
      
 1433 
     | 
    
         
            +
            						unmatched = matcher( seed, null, xml, [] ),
         
     | 
| 
      
 1434 
     | 
    
         
            +
            						i = seed.length;
         
     | 
| 
      
 1435 
     | 
    
         
            +
             
     | 
| 
      
 1436 
     | 
    
         
            +
            					// Match elements unmatched by `matcher`
         
     | 
| 
      
 1437 
     | 
    
         
            +
            					while ( i-- ) {
         
     | 
| 
      
 1438 
     | 
    
         
            +
            						if ( (elem = unmatched[i]) ) {
         
     | 
| 
      
 1439 
     | 
    
         
            +
            							seed[i] = !(matches[i] = elem);
         
     | 
| 
      
 1440 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1441 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1442 
     | 
    
         
            +
            				}) :
         
     | 
| 
      
 1443 
     | 
    
         
            +
            				function( elem, context, xml ) {
         
     | 
| 
      
 1444 
     | 
    
         
            +
            					input[0] = elem;
         
     | 
| 
      
 1445 
     | 
    
         
            +
            					matcher( input, null, xml, results );
         
     | 
| 
      
 1446 
     | 
    
         
            +
            					// Don't keep the element (issue #299)
         
     | 
| 
      
 1447 
     | 
    
         
            +
            					input[0] = null;
         
     | 
| 
      
 1448 
     | 
    
         
            +
            					return !results.pop();
         
     | 
| 
      
 1449 
     | 
    
         
            +
            				};
         
     | 
| 
      
 1450 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1451 
     | 
    
         
            +
             
     | 
| 
      
 1452 
     | 
    
         
            +
            		"has": markFunction(function( selector ) {
         
     | 
| 
      
 1453 
     | 
    
         
            +
            			return function( elem ) {
         
     | 
| 
      
 1454 
     | 
    
         
            +
            				return Sizzle( selector, elem ).length > 0;
         
     | 
| 
      
 1455 
     | 
    
         
            +
            			};
         
     | 
| 
      
 1456 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1457 
     | 
    
         
            +
             
     | 
| 
      
 1458 
     | 
    
         
            +
            		"contains": markFunction(function( text ) {
         
     | 
| 
      
 1459 
     | 
    
         
            +
            			text = text.replace( runescape, funescape );
         
     | 
| 
      
 1460 
     | 
    
         
            +
            			return function( elem ) {
         
     | 
| 
      
 1461 
     | 
    
         
            +
            				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
         
     | 
| 
      
 1462 
     | 
    
         
            +
            			};
         
     | 
| 
      
 1463 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1464 
     | 
    
         
            +
             
     | 
| 
      
 1465 
     | 
    
         
            +
            		// "Whether an element is represented by a :lang() selector
         
     | 
| 
      
 1466 
     | 
    
         
            +
            		// is based solely on the element's language value
         
     | 
| 
      
 1467 
     | 
    
         
            +
            		// being equal to the identifier C,
         
     | 
| 
      
 1468 
     | 
    
         
            +
            		// or beginning with the identifier C immediately followed by "-".
         
     | 
| 
      
 1469 
     | 
    
         
            +
            		// The matching of C against the element's language value is performed case-insensitively.
         
     | 
| 
      
 1470 
     | 
    
         
            +
            		// The identifier C does not have to be a valid language name."
         
     | 
| 
      
 1471 
     | 
    
         
            +
            		// http://www.w3.org/TR/selectors/#lang-pseudo
         
     | 
| 
      
 1472 
     | 
    
         
            +
            		"lang": markFunction( function( lang ) {
         
     | 
| 
      
 1473 
     | 
    
         
            +
            			// lang value must be a valid identifier
         
     | 
| 
      
 1474 
     | 
    
         
            +
            			if ( !ridentifier.test(lang || "") ) {
         
     | 
| 
      
 1475 
     | 
    
         
            +
            				Sizzle.error( "unsupported lang: " + lang );
         
     | 
| 
      
 1476 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1477 
     | 
    
         
            +
            			lang = lang.replace( runescape, funescape ).toLowerCase();
         
     | 
| 
      
 1478 
     | 
    
         
            +
            			return function( elem ) {
         
     | 
| 
      
 1479 
     | 
    
         
            +
            				var elemLang;
         
     | 
| 
      
 1480 
     | 
    
         
            +
            				do {
         
     | 
| 
      
 1481 
     | 
    
         
            +
            					if ( (elemLang = documentIsHTML ?
         
     | 
| 
      
 1482 
     | 
    
         
            +
            						elem.lang :
         
     | 
| 
      
 1483 
     | 
    
         
            +
            						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
         
     | 
| 
      
 1484 
     | 
    
         
            +
             
     | 
| 
      
 1485 
     | 
    
         
            +
            						elemLang = elemLang.toLowerCase();
         
     | 
| 
      
 1486 
     | 
    
         
            +
            						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
         
     | 
| 
      
 1487 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1488 
     | 
    
         
            +
            				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
         
     | 
| 
      
 1489 
     | 
    
         
            +
            				return false;
         
     | 
| 
      
 1490 
     | 
    
         
            +
            			};
         
     | 
| 
      
 1491 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1492 
     | 
    
         
            +
             
     | 
| 
      
 1493 
     | 
    
         
            +
            		// Miscellaneous
         
     | 
| 
      
 1494 
     | 
    
         
            +
            		"target": function( elem ) {
         
     | 
| 
      
 1495 
     | 
    
         
            +
            			var hash = window.location && window.location.hash;
         
     | 
| 
      
 1496 
     | 
    
         
            +
            			return hash && hash.slice( 1 ) === elem.id;
         
     | 
| 
      
 1497 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1498 
     | 
    
         
            +
             
     | 
| 
      
 1499 
     | 
    
         
            +
            		"root": function( elem ) {
         
     | 
| 
      
 1500 
     | 
    
         
            +
            			return elem === docElem;
         
     | 
| 
      
 1501 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1502 
     | 
    
         
            +
             
     | 
| 
      
 1503 
     | 
    
         
            +
            		"focus": function( elem ) {
         
     | 
| 
      
 1504 
     | 
    
         
            +
            			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
         
     | 
| 
      
 1505 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1506 
     | 
    
         
            +
             
     | 
| 
      
 1507 
     | 
    
         
            +
            		// Boolean properties
         
     | 
| 
      
 1508 
     | 
    
         
            +
            		"enabled": createDisabledPseudo( false ),
         
     | 
| 
      
 1509 
     | 
    
         
            +
            		"disabled": createDisabledPseudo( true ),
         
     | 
| 
      
 1510 
     | 
    
         
            +
             
     | 
| 
      
 1511 
     | 
    
         
            +
            		"checked": function( elem ) {
         
     | 
| 
      
 1512 
     | 
    
         
            +
            			// In CSS3, :checked should return both checked and selected elements
         
     | 
| 
      
 1513 
     | 
    
         
            +
            			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
         
     | 
| 
      
 1514 
     | 
    
         
            +
            			var nodeName = elem.nodeName.toLowerCase();
         
     | 
| 
      
 1515 
     | 
    
         
            +
            			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
         
     | 
| 
      
 1516 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1517 
     | 
    
         
            +
             
     | 
| 
      
 1518 
     | 
    
         
            +
            		"selected": function( elem ) {
         
     | 
| 
      
 1519 
     | 
    
         
            +
            			// Accessing this property makes selected-by-default
         
     | 
| 
      
 1520 
     | 
    
         
            +
            			// options in Safari work properly
         
     | 
| 
      
 1521 
     | 
    
         
            +
            			if ( elem.parentNode ) {
         
     | 
| 
      
 1522 
     | 
    
         
            +
            				elem.parentNode.selectedIndex;
         
     | 
| 
      
 1523 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1524 
     | 
    
         
            +
             
     | 
| 
      
 1525 
     | 
    
         
            +
            			return elem.selected === true;
         
     | 
| 
      
 1526 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1527 
     | 
    
         
            +
             
     | 
| 
      
 1528 
     | 
    
         
            +
            		// Contents
         
     | 
| 
      
 1529 
     | 
    
         
            +
            		"empty": function( elem ) {
         
     | 
| 
      
 1530 
     | 
    
         
            +
            			// http://www.w3.org/TR/selectors/#empty-pseudo
         
     | 
| 
      
 1531 
     | 
    
         
            +
            			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
         
     | 
| 
      
 1532 
     | 
    
         
            +
            			//   but not by others (comment: 8; processing instruction: 7; etc.)
         
     | 
| 
      
 1533 
     | 
    
         
            +
            			// nodeType < 6 works because attributes (2) do not appear as children
         
     | 
| 
      
 1534 
     | 
    
         
            +
            			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
         
     | 
| 
      
 1535 
     | 
    
         
            +
            				if ( elem.nodeType < 6 ) {
         
     | 
| 
      
 1536 
     | 
    
         
            +
            					return false;
         
     | 
| 
      
 1537 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1538 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1539 
     | 
    
         
            +
            			return true;
         
     | 
| 
      
 1540 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1541 
     | 
    
         
            +
             
     | 
| 
      
 1542 
     | 
    
         
            +
            		"parent": function( elem ) {
         
     | 
| 
      
 1543 
     | 
    
         
            +
            			return !Expr.pseudos["empty"]( elem );
         
     | 
| 
      
 1544 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1545 
     | 
    
         
            +
             
     | 
| 
      
 1546 
     | 
    
         
            +
            		// Element/input types
         
     | 
| 
      
 1547 
     | 
    
         
            +
            		"header": function( elem ) {
         
     | 
| 
      
 1548 
     | 
    
         
            +
            			return rheader.test( elem.nodeName );
         
     | 
| 
      
 1549 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1550 
     | 
    
         
            +
             
     | 
| 
      
 1551 
     | 
    
         
            +
            		"input": function( elem ) {
         
     | 
| 
      
 1552 
     | 
    
         
            +
            			return rinputs.test( elem.nodeName );
         
     | 
| 
      
 1553 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1554 
     | 
    
         
            +
             
     | 
| 
      
 1555 
     | 
    
         
            +
            		"button": function( elem ) {
         
     | 
| 
      
 1556 
     | 
    
         
            +
            			var name = elem.nodeName.toLowerCase();
         
     | 
| 
      
 1557 
     | 
    
         
            +
            			return name === "input" && elem.type === "button" || name === "button";
         
     | 
| 
      
 1558 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1559 
     | 
    
         
            +
             
     | 
| 
      
 1560 
     | 
    
         
            +
            		"text": function( elem ) {
         
     | 
| 
      
 1561 
     | 
    
         
            +
            			var attr;
         
     | 
| 
      
 1562 
     | 
    
         
            +
            			return elem.nodeName.toLowerCase() === "input" &&
         
     | 
| 
      
 1563 
     | 
    
         
            +
            				elem.type === "text" &&
         
     | 
| 
      
 1564 
     | 
    
         
            +
             
     | 
| 
      
 1565 
     | 
    
         
            +
            				// Support: IE<8
         
     | 
| 
      
 1566 
     | 
    
         
            +
            				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
         
     | 
| 
      
 1567 
     | 
    
         
            +
            				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
         
     | 
| 
      
 1568 
     | 
    
         
            +
            		},
         
     | 
| 
      
 1569 
     | 
    
         
            +
             
     | 
| 
      
 1570 
     | 
    
         
            +
            		// Position-in-collection
         
     | 
| 
      
 1571 
     | 
    
         
            +
            		"first": createPositionalPseudo(function() {
         
     | 
| 
      
 1572 
     | 
    
         
            +
            			return [ 0 ];
         
     | 
| 
      
 1573 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1574 
     | 
    
         
            +
             
     | 
| 
      
 1575 
     | 
    
         
            +
            		"last": createPositionalPseudo(function( matchIndexes, length ) {
         
     | 
| 
      
 1576 
     | 
    
         
            +
            			return [ length - 1 ];
         
     | 
| 
      
 1577 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1578 
     | 
    
         
            +
             
     | 
| 
      
 1579 
     | 
    
         
            +
            		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
         
     | 
| 
      
 1580 
     | 
    
         
            +
            			return [ argument < 0 ? argument + length : argument ];
         
     | 
| 
      
 1581 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1582 
     | 
    
         
            +
             
     | 
| 
      
 1583 
     | 
    
         
            +
            		"even": createPositionalPseudo(function( matchIndexes, length ) {
         
     | 
| 
      
 1584 
     | 
    
         
            +
            			var i = 0;
         
     | 
| 
      
 1585 
     | 
    
         
            +
            			for ( ; i < length; i += 2 ) {
         
     | 
| 
      
 1586 
     | 
    
         
            +
            				matchIndexes.push( i );
         
     | 
| 
      
 1587 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1588 
     | 
    
         
            +
            			return matchIndexes;
         
     | 
| 
      
 1589 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1590 
     | 
    
         
            +
             
     | 
| 
      
 1591 
     | 
    
         
            +
            		"odd": createPositionalPseudo(function( matchIndexes, length ) {
         
     | 
| 
      
 1592 
     | 
    
         
            +
            			var i = 1;
         
     | 
| 
      
 1593 
     | 
    
         
            +
            			for ( ; i < length; i += 2 ) {
         
     | 
| 
      
 1594 
     | 
    
         
            +
            				matchIndexes.push( i );
         
     | 
| 
      
 1595 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1596 
     | 
    
         
            +
            			return matchIndexes;
         
     | 
| 
      
 1597 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1598 
     | 
    
         
            +
             
     | 
| 
      
 1599 
     | 
    
         
            +
            		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
         
     | 
| 
      
 1600 
     | 
    
         
            +
            			var i = argument < 0 ? argument + length : argument;
         
     | 
| 
      
 1601 
     | 
    
         
            +
            			for ( ; --i >= 0; ) {
         
     | 
| 
      
 1602 
     | 
    
         
            +
            				matchIndexes.push( i );
         
     | 
| 
      
 1603 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1604 
     | 
    
         
            +
            			return matchIndexes;
         
     | 
| 
      
 1605 
     | 
    
         
            +
            		}),
         
     | 
| 
      
 1606 
     | 
    
         
            +
             
     | 
| 
      
 1607 
     | 
    
         
            +
            		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
         
     | 
| 
      
 1608 
     | 
    
         
            +
            			var i = argument < 0 ? argument + length : argument;
         
     | 
| 
      
 1609 
     | 
    
         
            +
            			for ( ; ++i < length; ) {
         
     | 
| 
      
 1610 
     | 
    
         
            +
            				matchIndexes.push( i );
         
     | 
| 
      
 1611 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1612 
     | 
    
         
            +
            			return matchIndexes;
         
     | 
| 
      
 1613 
     | 
    
         
            +
            		})
         
     | 
| 
      
 1614 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1615 
     | 
    
         
            +
            };
         
     | 
| 
      
 1616 
     | 
    
         
            +
             
     | 
| 
      
 1617 
     | 
    
         
            +
            Expr.pseudos["nth"] = Expr.pseudos["eq"];
         
     | 
| 
      
 1618 
     | 
    
         
            +
             
     | 
| 
      
 1619 
     | 
    
         
            +
            // Add button/input type pseudos
         
     | 
| 
      
 1620 
     | 
    
         
            +
            for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
         
     | 
| 
      
 1621 
     | 
    
         
            +
            	Expr.pseudos[ i ] = createInputPseudo( i );
         
     | 
| 
      
 1622 
     | 
    
         
            +
            }
         
     | 
| 
      
 1623 
     | 
    
         
            +
            for ( i in { submit: true, reset: true } ) {
         
     | 
| 
      
 1624 
     | 
    
         
            +
            	Expr.pseudos[ i ] = createButtonPseudo( i );
         
     | 
| 
      
 1625 
     | 
    
         
            +
            }
         
     | 
| 
      
 1626 
     | 
    
         
            +
             
     | 
| 
      
 1627 
     | 
    
         
            +
            // Easy API for creating new setFilters
         
     | 
| 
      
 1628 
     | 
    
         
            +
            function setFilters() {}
         
     | 
| 
      
 1629 
     | 
    
         
            +
            setFilters.prototype = Expr.filters = Expr.pseudos;
         
     | 
| 
      
 1630 
     | 
    
         
            +
            Expr.setFilters = new setFilters();
         
     | 
| 
      
 1631 
     | 
    
         
            +
             
     | 
| 
      
 1632 
     | 
    
         
            +
            tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
         
     | 
| 
      
 1633 
     | 
    
         
            +
            	var matched, match, tokens, type,
         
     | 
| 
      
 1634 
     | 
    
         
            +
            		soFar, groups, preFilters,
         
     | 
| 
      
 1635 
     | 
    
         
            +
            		cached = tokenCache[ selector + " " ];
         
     | 
| 
      
 1636 
     | 
    
         
            +
             
     | 
| 
      
 1637 
     | 
    
         
            +
            	if ( cached ) {
         
     | 
| 
      
 1638 
     | 
    
         
            +
            		return parseOnly ? 0 : cached.slice( 0 );
         
     | 
| 
      
 1639 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1640 
     | 
    
         
            +
             
     | 
| 
      
 1641 
     | 
    
         
            +
            	soFar = selector;
         
     | 
| 
      
 1642 
     | 
    
         
            +
            	groups = [];
         
     | 
| 
      
 1643 
     | 
    
         
            +
            	preFilters = Expr.preFilter;
         
     | 
| 
      
 1644 
     | 
    
         
            +
             
     | 
| 
      
 1645 
     | 
    
         
            +
            	while ( soFar ) {
         
     | 
| 
      
 1646 
     | 
    
         
            +
             
     | 
| 
      
 1647 
     | 
    
         
            +
            		// Comma and first run
         
     | 
| 
      
 1648 
     | 
    
         
            +
            		if ( !matched || (match = rcomma.exec( soFar )) ) {
         
     | 
| 
      
 1649 
     | 
    
         
            +
            			if ( match ) {
         
     | 
| 
      
 1650 
     | 
    
         
            +
            				// Don't consume trailing commas as valid
         
     | 
| 
      
 1651 
     | 
    
         
            +
            				soFar = soFar.slice( match[0].length ) || soFar;
         
     | 
| 
      
 1652 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1653 
     | 
    
         
            +
            			groups.push( (tokens = []) );
         
     | 
| 
      
 1654 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1655 
     | 
    
         
            +
             
     | 
| 
      
 1656 
     | 
    
         
            +
            		matched = false;
         
     | 
| 
      
 1657 
     | 
    
         
            +
             
     | 
| 
      
 1658 
     | 
    
         
            +
            		// Combinators
         
     | 
| 
      
 1659 
     | 
    
         
            +
            		if ( (match = rcombinators.exec( soFar )) ) {
         
     | 
| 
      
 1660 
     | 
    
         
            +
            			matched = match.shift();
         
     | 
| 
      
 1661 
     | 
    
         
            +
            			tokens.push({
         
     | 
| 
      
 1662 
     | 
    
         
            +
            				value: matched,
         
     | 
| 
      
 1663 
     | 
    
         
            +
            				// Cast descendant combinators to space
         
     | 
| 
      
 1664 
     | 
    
         
            +
            				type: match[0].replace( rtrim, " " )
         
     | 
| 
      
 1665 
     | 
    
         
            +
            			});
         
     | 
| 
      
 1666 
     | 
    
         
            +
            			soFar = soFar.slice( matched.length );
         
     | 
| 
      
 1667 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1668 
     | 
    
         
            +
             
     | 
| 
      
 1669 
     | 
    
         
            +
            		// Filters
         
     | 
| 
      
 1670 
     | 
    
         
            +
            		for ( type in Expr.filter ) {
         
     | 
| 
      
 1671 
     | 
    
         
            +
            			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
         
     | 
| 
      
 1672 
     | 
    
         
            +
            				(match = preFilters[ type ]( match ))) ) {
         
     | 
| 
      
 1673 
     | 
    
         
            +
            				matched = match.shift();
         
     | 
| 
      
 1674 
     | 
    
         
            +
            				tokens.push({
         
     | 
| 
      
 1675 
     | 
    
         
            +
            					value: matched,
         
     | 
| 
      
 1676 
     | 
    
         
            +
            					type: type,
         
     | 
| 
      
 1677 
     | 
    
         
            +
            					matches: match
         
     | 
| 
      
 1678 
     | 
    
         
            +
            				});
         
     | 
| 
      
 1679 
     | 
    
         
            +
            				soFar = soFar.slice( matched.length );
         
     | 
| 
      
 1680 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1681 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1682 
     | 
    
         
            +
             
     | 
| 
      
 1683 
     | 
    
         
            +
            		if ( !matched ) {
         
     | 
| 
      
 1684 
     | 
    
         
            +
            			break;
         
     | 
| 
      
 1685 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1686 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1687 
     | 
    
         
            +
             
     | 
| 
      
 1688 
     | 
    
         
            +
            	// Return the length of the invalid excess
         
     | 
| 
      
 1689 
     | 
    
         
            +
            	// if we're just parsing
         
     | 
| 
      
 1690 
     | 
    
         
            +
            	// Otherwise, throw an error or return tokens
         
     | 
| 
      
 1691 
     | 
    
         
            +
            	return parseOnly ?
         
     | 
| 
      
 1692 
     | 
    
         
            +
            		soFar.length :
         
     | 
| 
      
 1693 
     | 
    
         
            +
            		soFar ?
         
     | 
| 
      
 1694 
     | 
    
         
            +
            			Sizzle.error( selector ) :
         
     | 
| 
      
 1695 
     | 
    
         
            +
            			// Cache the tokens
         
     | 
| 
      
 1696 
     | 
    
         
            +
            			tokenCache( selector, groups ).slice( 0 );
         
     | 
| 
      
 1697 
     | 
    
         
            +
            };
         
     | 
| 
      
 1698 
     | 
    
         
            +
             
     | 
| 
      
 1699 
     | 
    
         
            +
            function toSelector( tokens ) {
         
     | 
| 
      
 1700 
     | 
    
         
            +
            	var i = 0,
         
     | 
| 
      
 1701 
     | 
    
         
            +
            		len = tokens.length,
         
     | 
| 
      
 1702 
     | 
    
         
            +
            		selector = "";
         
     | 
| 
      
 1703 
     | 
    
         
            +
            	for ( ; i < len; i++ ) {
         
     | 
| 
      
 1704 
     | 
    
         
            +
            		selector += tokens[i].value;
         
     | 
| 
      
 1705 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1706 
     | 
    
         
            +
            	return selector;
         
     | 
| 
      
 1707 
     | 
    
         
            +
            }
         
     | 
| 
      
 1708 
     | 
    
         
            +
             
     | 
| 
      
 1709 
     | 
    
         
            +
            function addCombinator( matcher, combinator, base ) {
         
     | 
| 
      
 1710 
     | 
    
         
            +
            	var dir = combinator.dir,
         
     | 
| 
      
 1711 
     | 
    
         
            +
            		skip = combinator.next,
         
     | 
| 
      
 1712 
     | 
    
         
            +
            		key = skip || dir,
         
     | 
| 
      
 1713 
     | 
    
         
            +
            		checkNonElements = base && key === "parentNode",
         
     | 
| 
      
 1714 
     | 
    
         
            +
            		doneName = done++;
         
     | 
| 
      
 1715 
     | 
    
         
            +
             
     | 
| 
      
 1716 
     | 
    
         
            +
            	return combinator.first ?
         
     | 
| 
      
 1717 
     | 
    
         
            +
            		// Check against closest ancestor/preceding element
         
     | 
| 
      
 1718 
     | 
    
         
            +
            		function( elem, context, xml ) {
         
     | 
| 
      
 1719 
     | 
    
         
            +
            			while ( (elem = elem[ dir ]) ) {
         
     | 
| 
      
 1720 
     | 
    
         
            +
            				if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
      
 1721 
     | 
    
         
            +
            					return matcher( elem, context, xml );
         
     | 
| 
      
 1722 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1723 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1724 
     | 
    
         
            +
            			return false;
         
     | 
| 
      
 1725 
     | 
    
         
            +
            		} :
         
     | 
| 
      
 1726 
     | 
    
         
            +
             
     | 
| 
      
 1727 
     | 
    
         
            +
            		// Check against all ancestor/preceding elements
         
     | 
| 
      
 1728 
     | 
    
         
            +
            		function( elem, context, xml ) {
         
     | 
| 
      
 1729 
     | 
    
         
            +
            			var oldCache, uniqueCache, outerCache,
         
     | 
| 
      
 1730 
     | 
    
         
            +
            				newCache = [ dirruns, doneName ];
         
     | 
| 
      
 1731 
     | 
    
         
            +
             
     | 
| 
      
 1732 
     | 
    
         
            +
            			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
         
     | 
| 
      
 1733 
     | 
    
         
            +
            			if ( xml ) {
         
     | 
| 
      
 1734 
     | 
    
         
            +
            				while ( (elem = elem[ dir ]) ) {
         
     | 
| 
      
 1735 
     | 
    
         
            +
            					if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
      
 1736 
     | 
    
         
            +
            						if ( matcher( elem, context, xml ) ) {
         
     | 
| 
      
 1737 
     | 
    
         
            +
            							return true;
         
     | 
| 
      
 1738 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1739 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1740 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1741 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 1742 
     | 
    
         
            +
            				while ( (elem = elem[ dir ]) ) {
         
     | 
| 
      
 1743 
     | 
    
         
            +
            					if ( elem.nodeType === 1 || checkNonElements ) {
         
     | 
| 
      
 1744 
     | 
    
         
            +
            						outerCache = elem[ expando ] || (elem[ expando ] = {});
         
     | 
| 
      
 1745 
     | 
    
         
            +
             
     | 
| 
      
 1746 
     | 
    
         
            +
            						// Support: IE <9 only
         
     | 
| 
      
 1747 
     | 
    
         
            +
            						// Defend against cloned attroperties (jQuery gh-1709)
         
     | 
| 
      
 1748 
     | 
    
         
            +
            						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
         
     | 
| 
      
 1749 
     | 
    
         
            +
             
     | 
| 
      
 1750 
     | 
    
         
            +
            						if ( skip && skip === elem.nodeName.toLowerCase() ) {
         
     | 
| 
      
 1751 
     | 
    
         
            +
            							elem = elem[ dir ] || elem;
         
     | 
| 
      
 1752 
     | 
    
         
            +
            						} else if ( (oldCache = uniqueCache[ key ]) &&
         
     | 
| 
      
 1753 
     | 
    
         
            +
            							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
         
     | 
| 
      
 1754 
     | 
    
         
            +
             
     | 
| 
      
 1755 
     | 
    
         
            +
            							// Assign to newCache so results back-propagate to previous elements
         
     | 
| 
      
 1756 
     | 
    
         
            +
            							return (newCache[ 2 ] = oldCache[ 2 ]);
         
     | 
| 
      
 1757 
     | 
    
         
            +
            						} else {
         
     | 
| 
      
 1758 
     | 
    
         
            +
            							// Reuse newcache so results back-propagate to previous elements
         
     | 
| 
      
 1759 
     | 
    
         
            +
            							uniqueCache[ key ] = newCache;
         
     | 
| 
      
 1760 
     | 
    
         
            +
             
     | 
| 
      
 1761 
     | 
    
         
            +
            							// A match means we're done; a fail means we have to keep checking
         
     | 
| 
      
 1762 
     | 
    
         
            +
            							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
         
     | 
| 
      
 1763 
     | 
    
         
            +
            								return true;
         
     | 
| 
      
 1764 
     | 
    
         
            +
            							}
         
     | 
| 
      
 1765 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1766 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1767 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1768 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1769 
     | 
    
         
            +
            			return false;
         
     | 
| 
      
 1770 
     | 
    
         
            +
            		};
         
     | 
| 
      
 1771 
     | 
    
         
            +
            }
         
     | 
| 
      
 1772 
     | 
    
         
            +
             
     | 
| 
      
 1773 
     | 
    
         
            +
            function elementMatcher( matchers ) {
         
     | 
| 
      
 1774 
     | 
    
         
            +
            	return matchers.length > 1 ?
         
     | 
| 
      
 1775 
     | 
    
         
            +
            		function( elem, context, xml ) {
         
     | 
| 
      
 1776 
     | 
    
         
            +
            			var i = matchers.length;
         
     | 
| 
      
 1777 
     | 
    
         
            +
            			while ( i-- ) {
         
     | 
| 
      
 1778 
     | 
    
         
            +
            				if ( !matchers[i]( elem, context, xml ) ) {
         
     | 
| 
      
 1779 
     | 
    
         
            +
            					return false;
         
     | 
| 
      
 1780 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1781 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1782 
     | 
    
         
            +
            			return true;
         
     | 
| 
      
 1783 
     | 
    
         
            +
            		} :
         
     | 
| 
      
 1784 
     | 
    
         
            +
            		matchers[0];
         
     | 
| 
      
 1785 
     | 
    
         
            +
            }
         
     | 
| 
      
 1786 
     | 
    
         
            +
             
     | 
| 
      
 1787 
     | 
    
         
            +
            function multipleContexts( selector, contexts, results ) {
         
     | 
| 
      
 1788 
     | 
    
         
            +
            	var i = 0,
         
     | 
| 
      
 1789 
     | 
    
         
            +
            		len = contexts.length;
         
     | 
| 
      
 1790 
     | 
    
         
            +
            	for ( ; i < len; i++ ) {
         
     | 
| 
      
 1791 
     | 
    
         
            +
            		Sizzle( selector, contexts[i], results );
         
     | 
| 
      
 1792 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1793 
     | 
    
         
            +
            	return results;
         
     | 
| 
      
 1794 
     | 
    
         
            +
            }
         
     | 
| 
      
 1795 
     | 
    
         
            +
             
     | 
| 
      
 1796 
     | 
    
         
            +
            function condense( unmatched, map, filter, context, xml ) {
         
     | 
| 
      
 1797 
     | 
    
         
            +
            	var elem,
         
     | 
| 
      
 1798 
     | 
    
         
            +
            		newUnmatched = [],
         
     | 
| 
      
 1799 
     | 
    
         
            +
            		i = 0,
         
     | 
| 
      
 1800 
     | 
    
         
            +
            		len = unmatched.length,
         
     | 
| 
      
 1801 
     | 
    
         
            +
            		mapped = map != null;
         
     | 
| 
      
 1802 
     | 
    
         
            +
             
     | 
| 
      
 1803 
     | 
    
         
            +
            	for ( ; i < len; i++ ) {
         
     | 
| 
      
 1804 
     | 
    
         
            +
            		if ( (elem = unmatched[i]) ) {
         
     | 
| 
      
 1805 
     | 
    
         
            +
            			if ( !filter || filter( elem, context, xml ) ) {
         
     | 
| 
      
 1806 
     | 
    
         
            +
            				newUnmatched.push( elem );
         
     | 
| 
      
 1807 
     | 
    
         
            +
            				if ( mapped ) {
         
     | 
| 
      
 1808 
     | 
    
         
            +
            					map.push( i );
         
     | 
| 
      
 1809 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1810 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1811 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1812 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1813 
     | 
    
         
            +
             
     | 
| 
      
 1814 
     | 
    
         
            +
            	return newUnmatched;
         
     | 
| 
      
 1815 
     | 
    
         
            +
            }
         
     | 
| 
      
 1816 
     | 
    
         
            +
             
     | 
| 
      
 1817 
     | 
    
         
            +
            function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
         
     | 
| 
      
 1818 
     | 
    
         
            +
            	if ( postFilter && !postFilter[ expando ] ) {
         
     | 
| 
      
 1819 
     | 
    
         
            +
            		postFilter = setMatcher( postFilter );
         
     | 
| 
      
 1820 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1821 
     | 
    
         
            +
            	if ( postFinder && !postFinder[ expando ] ) {
         
     | 
| 
      
 1822 
     | 
    
         
            +
            		postFinder = setMatcher( postFinder, postSelector );
         
     | 
| 
      
 1823 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1824 
     | 
    
         
            +
            	return markFunction(function( seed, results, context, xml ) {
         
     | 
| 
      
 1825 
     | 
    
         
            +
            		var temp, i, elem,
         
     | 
| 
      
 1826 
     | 
    
         
            +
            			preMap = [],
         
     | 
| 
      
 1827 
     | 
    
         
            +
            			postMap = [],
         
     | 
| 
      
 1828 
     | 
    
         
            +
            			preexisting = results.length,
         
     | 
| 
      
 1829 
     | 
    
         
            +
             
     | 
| 
      
 1830 
     | 
    
         
            +
            			// Get initial elements from seed or context
         
     | 
| 
      
 1831 
     | 
    
         
            +
            			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
         
     | 
| 
      
 1832 
     | 
    
         
            +
             
     | 
| 
      
 1833 
     | 
    
         
            +
            			// Prefilter to get matcher input, preserving a map for seed-results synchronization
         
     | 
| 
      
 1834 
     | 
    
         
            +
            			matcherIn = preFilter && ( seed || !selector ) ?
         
     | 
| 
      
 1835 
     | 
    
         
            +
            				condense( elems, preMap, preFilter, context, xml ) :
         
     | 
| 
      
 1836 
     | 
    
         
            +
            				elems,
         
     | 
| 
      
 1837 
     | 
    
         
            +
             
     | 
| 
      
 1838 
     | 
    
         
            +
            			matcherOut = matcher ?
         
     | 
| 
      
 1839 
     | 
    
         
            +
            				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
         
     | 
| 
      
 1840 
     | 
    
         
            +
            				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
         
     | 
| 
      
 1841 
     | 
    
         
            +
             
     | 
| 
      
 1842 
     | 
    
         
            +
            					// ...intermediate processing is necessary
         
     | 
| 
      
 1843 
     | 
    
         
            +
            					[] :
         
     | 
| 
      
 1844 
     | 
    
         
            +
             
     | 
| 
      
 1845 
     | 
    
         
            +
            					// ...otherwise use results directly
         
     | 
| 
      
 1846 
     | 
    
         
            +
            					results :
         
     | 
| 
      
 1847 
     | 
    
         
            +
            				matcherIn;
         
     | 
| 
      
 1848 
     | 
    
         
            +
             
     | 
| 
      
 1849 
     | 
    
         
            +
            		// Find primary matches
         
     | 
| 
      
 1850 
     | 
    
         
            +
            		if ( matcher ) {
         
     | 
| 
      
 1851 
     | 
    
         
            +
            			matcher( matcherIn, matcherOut, context, xml );
         
     | 
| 
      
 1852 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1853 
     | 
    
         
            +
             
     | 
| 
      
 1854 
     | 
    
         
            +
            		// Apply postFilter
         
     | 
| 
      
 1855 
     | 
    
         
            +
            		if ( postFilter ) {
         
     | 
| 
      
 1856 
     | 
    
         
            +
            			temp = condense( matcherOut, postMap );
         
     | 
| 
      
 1857 
     | 
    
         
            +
            			postFilter( temp, [], context, xml );
         
     | 
| 
      
 1858 
     | 
    
         
            +
             
     | 
| 
      
 1859 
     | 
    
         
            +
            			// Un-match failing elements by moving them back to matcherIn
         
     | 
| 
      
 1860 
     | 
    
         
            +
            			i = temp.length;
         
     | 
| 
      
 1861 
     | 
    
         
            +
            			while ( i-- ) {
         
     | 
| 
      
 1862 
     | 
    
         
            +
            				if ( (elem = temp[i]) ) {
         
     | 
| 
      
 1863 
     | 
    
         
            +
            					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
         
     | 
| 
      
 1864 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1865 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1866 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1867 
     | 
    
         
            +
             
     | 
| 
      
 1868 
     | 
    
         
            +
            		if ( seed ) {
         
     | 
| 
      
 1869 
     | 
    
         
            +
            			if ( postFinder || preFilter ) {
         
     | 
| 
      
 1870 
     | 
    
         
            +
            				if ( postFinder ) {
         
     | 
| 
      
 1871 
     | 
    
         
            +
            					// Get the final matcherOut by condensing this intermediate into postFinder contexts
         
     | 
| 
      
 1872 
     | 
    
         
            +
            					temp = [];
         
     | 
| 
      
 1873 
     | 
    
         
            +
            					i = matcherOut.length;
         
     | 
| 
      
 1874 
     | 
    
         
            +
            					while ( i-- ) {
         
     | 
| 
      
 1875 
     | 
    
         
            +
            						if ( (elem = matcherOut[i]) ) {
         
     | 
| 
      
 1876 
     | 
    
         
            +
            							// Restore matcherIn since elem is not yet a final match
         
     | 
| 
      
 1877 
     | 
    
         
            +
            							temp.push( (matcherIn[i] = elem) );
         
     | 
| 
      
 1878 
     | 
    
         
            +
            						}
         
     | 
| 
      
 1879 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1880 
     | 
    
         
            +
            					postFinder( null, (matcherOut = []), temp, xml );
         
     | 
| 
      
 1881 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1882 
     | 
    
         
            +
             
     | 
| 
      
 1883 
     | 
    
         
            +
            				// Move matched elements from seed to results to keep them synchronized
         
     | 
| 
      
 1884 
     | 
    
         
            +
            				i = matcherOut.length;
         
     | 
| 
      
 1885 
     | 
    
         
            +
            				while ( i-- ) {
         
     | 
| 
      
 1886 
     | 
    
         
            +
            					if ( (elem = matcherOut[i]) &&
         
     | 
| 
      
 1887 
     | 
    
         
            +
            						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
         
     | 
| 
      
 1888 
     | 
    
         
            +
             
     | 
| 
      
 1889 
     | 
    
         
            +
            						seed[temp] = !(results[temp] = elem);
         
     | 
| 
      
 1890 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1891 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1892 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1893 
     | 
    
         
            +
             
     | 
| 
      
 1894 
     | 
    
         
            +
            		// Add elements to results, through postFinder if defined
         
     | 
| 
      
 1895 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 1896 
     | 
    
         
            +
            			matcherOut = condense(
         
     | 
| 
      
 1897 
     | 
    
         
            +
            				matcherOut === results ?
         
     | 
| 
      
 1898 
     | 
    
         
            +
            					matcherOut.splice( preexisting, matcherOut.length ) :
         
     | 
| 
      
 1899 
     | 
    
         
            +
            					matcherOut
         
     | 
| 
      
 1900 
     | 
    
         
            +
            			);
         
     | 
| 
      
 1901 
     | 
    
         
            +
            			if ( postFinder ) {
         
     | 
| 
      
 1902 
     | 
    
         
            +
            				postFinder( null, results, matcherOut, xml );
         
     | 
| 
      
 1903 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 1904 
     | 
    
         
            +
            				push.apply( results, matcherOut );
         
     | 
| 
      
 1905 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1906 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1907 
     | 
    
         
            +
            	});
         
     | 
| 
      
 1908 
     | 
    
         
            +
            }
         
     | 
| 
      
 1909 
     | 
    
         
            +
             
     | 
| 
      
 1910 
     | 
    
         
            +
            function matcherFromTokens( tokens ) {
         
     | 
| 
      
 1911 
     | 
    
         
            +
            	var checkContext, matcher, j,
         
     | 
| 
      
 1912 
     | 
    
         
            +
            		len = tokens.length,
         
     | 
| 
      
 1913 
     | 
    
         
            +
            		leadingRelative = Expr.relative[ tokens[0].type ],
         
     | 
| 
      
 1914 
     | 
    
         
            +
            		implicitRelative = leadingRelative || Expr.relative[" "],
         
     | 
| 
      
 1915 
     | 
    
         
            +
            		i = leadingRelative ? 1 : 0,
         
     | 
| 
      
 1916 
     | 
    
         
            +
             
     | 
| 
      
 1917 
     | 
    
         
            +
            		// The foundational matcher ensures that elements are reachable from top-level context(s)
         
     | 
| 
      
 1918 
     | 
    
         
            +
            		matchContext = addCombinator( function( elem ) {
         
     | 
| 
      
 1919 
     | 
    
         
            +
            			return elem === checkContext;
         
     | 
| 
      
 1920 
     | 
    
         
            +
            		}, implicitRelative, true ),
         
     | 
| 
      
 1921 
     | 
    
         
            +
            		matchAnyContext = addCombinator( function( elem ) {
         
     | 
| 
      
 1922 
     | 
    
         
            +
            			return indexOf( checkContext, elem ) > -1;
         
     | 
| 
      
 1923 
     | 
    
         
            +
            		}, implicitRelative, true ),
         
     | 
| 
      
 1924 
     | 
    
         
            +
            		matchers = [ function( elem, context, xml ) {
         
     | 
| 
      
 1925 
     | 
    
         
            +
            			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
         
     | 
| 
      
 1926 
     | 
    
         
            +
            				(checkContext = context).nodeType ?
         
     | 
| 
      
 1927 
     | 
    
         
            +
            					matchContext( elem, context, xml ) :
         
     | 
| 
      
 1928 
     | 
    
         
            +
            					matchAnyContext( elem, context, xml ) );
         
     | 
| 
      
 1929 
     | 
    
         
            +
            			// Avoid hanging onto element (issue #299)
         
     | 
| 
      
 1930 
     | 
    
         
            +
            			checkContext = null;
         
     | 
| 
      
 1931 
     | 
    
         
            +
            			return ret;
         
     | 
| 
      
 1932 
     | 
    
         
            +
            		} ];
         
     | 
| 
      
 1933 
     | 
    
         
            +
             
     | 
| 
      
 1934 
     | 
    
         
            +
            	for ( ; i < len; i++ ) {
         
     | 
| 
      
 1935 
     | 
    
         
            +
            		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
         
     | 
| 
      
 1936 
     | 
    
         
            +
            			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
         
     | 
| 
      
 1937 
     | 
    
         
            +
            		} else {
         
     | 
| 
      
 1938 
     | 
    
         
            +
            			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
         
     | 
| 
      
 1939 
     | 
    
         
            +
             
     | 
| 
      
 1940 
     | 
    
         
            +
            			// Return special upon seeing a positional matcher
         
     | 
| 
      
 1941 
     | 
    
         
            +
            			if ( matcher[ expando ] ) {
         
     | 
| 
      
 1942 
     | 
    
         
            +
            				// Find the next relative operator (if any) for proper handling
         
     | 
| 
      
 1943 
     | 
    
         
            +
            				j = ++i;
         
     | 
| 
      
 1944 
     | 
    
         
            +
            				for ( ; j < len; j++ ) {
         
     | 
| 
      
 1945 
     | 
    
         
            +
            					if ( Expr.relative[ tokens[j].type ] ) {
         
     | 
| 
      
 1946 
     | 
    
         
            +
            						break;
         
     | 
| 
      
 1947 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1948 
     | 
    
         
            +
            				}
         
     | 
| 
      
 1949 
     | 
    
         
            +
            				return setMatcher(
         
     | 
| 
      
 1950 
     | 
    
         
            +
            					i > 1 && elementMatcher( matchers ),
         
     | 
| 
      
 1951 
     | 
    
         
            +
            					i > 1 && toSelector(
         
     | 
| 
      
 1952 
     | 
    
         
            +
            						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
         
     | 
| 
      
 1953 
     | 
    
         
            +
            						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
         
     | 
| 
      
 1954 
     | 
    
         
            +
            					).replace( rtrim, "$1" ),
         
     | 
| 
      
 1955 
     | 
    
         
            +
            					matcher,
         
     | 
| 
      
 1956 
     | 
    
         
            +
            					i < j && matcherFromTokens( tokens.slice( i, j ) ),
         
     | 
| 
      
 1957 
     | 
    
         
            +
            					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
         
     | 
| 
      
 1958 
     | 
    
         
            +
            					j < len && toSelector( tokens )
         
     | 
| 
      
 1959 
     | 
    
         
            +
            				);
         
     | 
| 
      
 1960 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1961 
     | 
    
         
            +
            			matchers.push( matcher );
         
     | 
| 
      
 1962 
     | 
    
         
            +
            		}
         
     | 
| 
      
 1963 
     | 
    
         
            +
            	}
         
     | 
| 
      
 1964 
     | 
    
         
            +
             
     | 
| 
      
 1965 
     | 
    
         
            +
            	return elementMatcher( matchers );
         
     | 
| 
      
 1966 
     | 
    
         
            +
            }
         
     | 
| 
      
 1967 
     | 
    
         
            +
             
     | 
| 
      
 1968 
     | 
    
         
            +
            function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
         
     | 
| 
      
 1969 
     | 
    
         
            +
            	var bySet = setMatchers.length > 0,
         
     | 
| 
      
 1970 
     | 
    
         
            +
            		byElement = elementMatchers.length > 0,
         
     | 
| 
      
 1971 
     | 
    
         
            +
            		superMatcher = function( seed, context, xml, results, outermost ) {
         
     | 
| 
      
 1972 
     | 
    
         
            +
            			var elem, j, matcher,
         
     | 
| 
      
 1973 
     | 
    
         
            +
            				matchedCount = 0,
         
     | 
| 
      
 1974 
     | 
    
         
            +
            				i = "0",
         
     | 
| 
      
 1975 
     | 
    
         
            +
            				unmatched = seed && [],
         
     | 
| 
      
 1976 
     | 
    
         
            +
            				setMatched = [],
         
     | 
| 
      
 1977 
     | 
    
         
            +
            				contextBackup = outermostContext,
         
     | 
| 
      
 1978 
     | 
    
         
            +
            				// We must always have either seed elements or outermost context
         
     | 
| 
      
 1979 
     | 
    
         
            +
            				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
         
     | 
| 
      
 1980 
     | 
    
         
            +
            				// Use integer dirruns iff this is the outermost matcher
         
     | 
| 
      
 1981 
     | 
    
         
            +
            				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
         
     | 
| 
      
 1982 
     | 
    
         
            +
            				len = elems.length;
         
     | 
| 
      
 1983 
     | 
    
         
            +
             
     | 
| 
      
 1984 
     | 
    
         
            +
            			if ( outermost ) {
         
     | 
| 
      
 1985 
     | 
    
         
            +
            				outermostContext = context === document || context || outermost;
         
     | 
| 
      
 1986 
     | 
    
         
            +
            			}
         
     | 
| 
      
 1987 
     | 
    
         
            +
             
     | 
| 
      
 1988 
     | 
    
         
            +
            			// Add elements passing elementMatchers directly to results
         
     | 
| 
      
 1989 
     | 
    
         
            +
            			// Support: IE<9, Safari
         
     | 
| 
      
 1990 
     | 
    
         
            +
            			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
         
     | 
| 
      
 1991 
     | 
    
         
            +
            			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
         
     | 
| 
      
 1992 
     | 
    
         
            +
            				if ( byElement && elem ) {
         
     | 
| 
      
 1993 
     | 
    
         
            +
            					j = 0;
         
     | 
| 
      
 1994 
     | 
    
         
            +
            					if ( !context && elem.ownerDocument !== document ) {
         
     | 
| 
      
 1995 
     | 
    
         
            +
            						setDocument( elem );
         
     | 
| 
      
 1996 
     | 
    
         
            +
            						xml = !documentIsHTML;
         
     | 
| 
      
 1997 
     | 
    
         
            +
            					}
         
     | 
| 
      
 1998 
     | 
    
         
            +
            					while ( (matcher = elementMatchers[j++]) ) {
         
     | 
| 
      
 1999 
     | 
    
         
            +
            						if ( matcher( elem, context || document, xml) ) {
         
     | 
| 
      
 2000 
     | 
    
         
            +
            							results.push( elem );
         
     | 
| 
      
 2001 
     | 
    
         
            +
            							break;
         
     | 
| 
      
 2002 
     | 
    
         
            +
            						}
         
     | 
| 
      
 2003 
     | 
    
         
            +
            					}
         
     | 
| 
      
 2004 
     | 
    
         
            +
            					if ( outermost ) {
         
     | 
| 
      
 2005 
     | 
    
         
            +
            						dirruns = dirrunsUnique;
         
     | 
| 
      
 2006 
     | 
    
         
            +
            					}
         
     | 
| 
      
 2007 
     | 
    
         
            +
            				}
         
     | 
| 
      
 2008 
     | 
    
         
            +
             
     | 
| 
      
 2009 
     | 
    
         
            +
            				// Track unmatched elements for set filters
         
     | 
| 
      
 2010 
     | 
    
         
            +
            				if ( bySet ) {
         
     | 
| 
      
 2011 
     | 
    
         
            +
            					// They will have gone through all possible matchers
         
     | 
| 
      
 2012 
     | 
    
         
            +
            					if ( (elem = !matcher && elem) ) {
         
     | 
| 
      
 2013 
     | 
    
         
            +
            						matchedCount--;
         
     | 
| 
      
 2014 
     | 
    
         
            +
            					}
         
     | 
| 
      
 2015 
     | 
    
         
            +
             
     | 
| 
      
 2016 
     | 
    
         
            +
            					// Lengthen the array for every element, matched or not
         
     | 
| 
      
 2017 
     | 
    
         
            +
            					if ( seed ) {
         
     | 
| 
      
 2018 
     | 
    
         
            +
            						unmatched.push( elem );
         
     | 
| 
      
 2019 
     | 
    
         
            +
            					}
         
     | 
| 
      
 2020 
     | 
    
         
            +
            				}
         
     | 
| 
      
 2021 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2022 
     | 
    
         
            +
             
     | 
| 
      
 2023 
     | 
    
         
            +
            			// `i` is now the count of elements visited above, and adding it to `matchedCount`
         
     | 
| 
      
 2024 
     | 
    
         
            +
            			// makes the latter nonnegative.
         
     | 
| 
      
 2025 
     | 
    
         
            +
            			matchedCount += i;
         
     | 
| 
      
 2026 
     | 
    
         
            +
             
     | 
| 
      
 2027 
     | 
    
         
            +
            			// Apply set filters to unmatched elements
         
     | 
| 
      
 2028 
     | 
    
         
            +
            			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
         
     | 
| 
      
 2029 
     | 
    
         
            +
            			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
         
     | 
| 
      
 2030 
     | 
    
         
            +
            			// no element matchers and no seed.
         
     | 
| 
      
 2031 
     | 
    
         
            +
            			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
         
     | 
| 
      
 2032 
     | 
    
         
            +
            			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
         
     | 
| 
      
 2033 
     | 
    
         
            +
            			// numerically zero.
         
     | 
| 
      
 2034 
     | 
    
         
            +
            			if ( bySet && i !== matchedCount ) {
         
     | 
| 
      
 2035 
     | 
    
         
            +
            				j = 0;
         
     | 
| 
      
 2036 
     | 
    
         
            +
            				while ( (matcher = setMatchers[j++]) ) {
         
     | 
| 
      
 2037 
     | 
    
         
            +
            					matcher( unmatched, setMatched, context, xml );
         
     | 
| 
      
 2038 
     | 
    
         
            +
            				}
         
     | 
| 
      
 2039 
     | 
    
         
            +
             
     | 
| 
      
 2040 
     | 
    
         
            +
            				if ( seed ) {
         
     | 
| 
      
 2041 
     | 
    
         
            +
            					// Reintegrate element matches to eliminate the need for sorting
         
     | 
| 
      
 2042 
     | 
    
         
            +
            					if ( matchedCount > 0 ) {
         
     | 
| 
      
 2043 
     | 
    
         
            +
            						while ( i-- ) {
         
     | 
| 
      
 2044 
     | 
    
         
            +
            							if ( !(unmatched[i] || setMatched[i]) ) {
         
     | 
| 
      
 2045 
     | 
    
         
            +
            								setMatched[i] = pop.call( results );
         
     | 
| 
      
 2046 
     | 
    
         
            +
            							}
         
     | 
| 
      
 2047 
     | 
    
         
            +
            						}
         
     | 
| 
      
 2048 
     | 
    
         
            +
            					}
         
     | 
| 
      
 2049 
     | 
    
         
            +
             
     | 
| 
      
 2050 
     | 
    
         
            +
            					// Discard index placeholder values to get only actual matches
         
     | 
| 
      
 2051 
     | 
    
         
            +
            					setMatched = condense( setMatched );
         
     | 
| 
      
 2052 
     | 
    
         
            +
            				}
         
     | 
| 
      
 2053 
     | 
    
         
            +
             
     | 
| 
      
 2054 
     | 
    
         
            +
            				// Add matches to results
         
     | 
| 
      
 2055 
     | 
    
         
            +
            				push.apply( results, setMatched );
         
     | 
| 
      
 2056 
     | 
    
         
            +
             
     | 
| 
      
 2057 
     | 
    
         
            +
            				// Seedless set matches succeeding multiple successful matchers stipulate sorting
         
     | 
| 
      
 2058 
     | 
    
         
            +
            				if ( outermost && !seed && setMatched.length > 0 &&
         
     | 
| 
      
 2059 
     | 
    
         
            +
            					( matchedCount + setMatchers.length ) > 1 ) {
         
     | 
| 
      
 2060 
     | 
    
         
            +
             
     | 
| 
      
 2061 
     | 
    
         
            +
            					Sizzle.uniqueSort( results );
         
     | 
| 
      
 2062 
     | 
    
         
            +
            				}
         
     | 
| 
      
 2063 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2064 
     | 
    
         
            +
             
     | 
| 
      
 2065 
     | 
    
         
            +
            			// Override manipulation of globals by nested matchers
         
     | 
| 
      
 2066 
     | 
    
         
            +
            			if ( outermost ) {
         
     | 
| 
      
 2067 
     | 
    
         
            +
            				dirruns = dirrunsUnique;
         
     | 
| 
      
 2068 
     | 
    
         
            +
            				outermostContext = contextBackup;
         
     | 
| 
      
 2069 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2070 
     | 
    
         
            +
             
     | 
| 
      
 2071 
     | 
    
         
            +
            			return unmatched;
         
     | 
| 
      
 2072 
     | 
    
         
            +
            		};
         
     | 
| 
      
 2073 
     | 
    
         
            +
             
     | 
| 
      
 2074 
     | 
    
         
            +
            	return bySet ?
         
     | 
| 
      
 2075 
     | 
    
         
            +
            		markFunction( superMatcher ) :
         
     | 
| 
      
 2076 
     | 
    
         
            +
            		superMatcher;
         
     | 
| 
      
 2077 
     | 
    
         
            +
            }
         
     | 
| 
      
 2078 
     | 
    
         
            +
             
     | 
| 
      
 2079 
     | 
    
         
            +
            compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
         
     | 
| 
      
 2080 
     | 
    
         
            +
            	var i,
         
     | 
| 
      
 2081 
     | 
    
         
            +
            		setMatchers = [],
         
     | 
| 
      
 2082 
     | 
    
         
            +
            		elementMatchers = [],
         
     | 
| 
      
 2083 
     | 
    
         
            +
            		cached = compilerCache[ selector + " " ];
         
     | 
| 
      
 2084 
     | 
    
         
            +
             
     | 
| 
      
 2085 
     | 
    
         
            +
            	if ( !cached ) {
         
     | 
| 
      
 2086 
     | 
    
         
            +
            		// Generate a function of recursive functions that can be used to check each element
         
     | 
| 
      
 2087 
     | 
    
         
            +
            		if ( !match ) {
         
     | 
| 
      
 2088 
     | 
    
         
            +
            			match = tokenize( selector );
         
     | 
| 
      
 2089 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2090 
     | 
    
         
            +
            		i = match.length;
         
     | 
| 
      
 2091 
     | 
    
         
            +
            		while ( i-- ) {
         
     | 
| 
      
 2092 
     | 
    
         
            +
            			cached = matcherFromTokens( match[i] );
         
     | 
| 
      
 2093 
     | 
    
         
            +
            			if ( cached[ expando ] ) {
         
     | 
| 
      
 2094 
     | 
    
         
            +
            				setMatchers.push( cached );
         
     | 
| 
      
 2095 
     | 
    
         
            +
            			} else {
         
     | 
| 
      
 2096 
     | 
    
         
            +
            				elementMatchers.push( cached );
         
     | 
| 
      
 2097 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2098 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2099 
     | 
    
         
            +
             
     | 
| 
      
 2100 
     | 
    
         
            +
            		// Cache the compiled function
         
     | 
| 
      
 2101 
     | 
    
         
            +
            		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
         
     | 
| 
      
 2102 
     | 
    
         
            +
             
     | 
| 
      
 2103 
     | 
    
         
            +
            		// Save selector and tokenization
         
     | 
| 
      
 2104 
     | 
    
         
            +
            		cached.selector = selector;
         
     | 
| 
      
 2105 
     | 
    
         
            +
            	}
         
     | 
| 
      
 2106 
     | 
    
         
            +
            	return cached;
         
     | 
| 
      
 2107 
     | 
    
         
            +
            };
         
     | 
| 
      
 2108 
     | 
    
         
            +
             
     | 
| 
      
 2109 
     | 
    
         
            +
            /**
         
     | 
| 
      
 2110 
     | 
    
         
            +
             * A low-level selection function that works with Sizzle's compiled
         
     | 
| 
      
 2111 
     | 
    
         
            +
             *  selector functions
         
     | 
| 
      
 2112 
     | 
    
         
            +
             * @param {String|Function} selector A selector or a pre-compiled
         
     | 
| 
      
 2113 
     | 
    
         
            +
             *  selector function built with Sizzle.compile
         
     | 
| 
      
 2114 
     | 
    
         
            +
             * @param {Element} context
         
     | 
| 
      
 2115 
     | 
    
         
            +
             * @param {Array} [results]
         
     | 
| 
      
 2116 
     | 
    
         
            +
             * @param {Array} [seed] A set of elements to match against
         
     | 
| 
      
 2117 
     | 
    
         
            +
             */
         
     | 
| 
      
 2118 
     | 
    
         
            +
            select = Sizzle.select = function( selector, context, results, seed ) {
         
     | 
| 
      
 2119 
     | 
    
         
            +
            	var i, tokens, token, type, find,
         
     | 
| 
      
 2120 
     | 
    
         
            +
            		compiled = typeof selector === "function" && selector,
         
     | 
| 
      
 2121 
     | 
    
         
            +
            		match = !seed && tokenize( (selector = compiled.selector || selector) );
         
     | 
| 
      
 2122 
     | 
    
         
            +
             
     | 
| 
      
 2123 
     | 
    
         
            +
            	results = results || [];
         
     | 
| 
      
 2124 
     | 
    
         
            +
             
     | 
| 
      
 2125 
     | 
    
         
            +
            	// Try to minimize operations if there is only one selector in the list and no seed
         
     | 
| 
      
 2126 
     | 
    
         
            +
            	// (the latter of which guarantees us context)
         
     | 
| 
      
 2127 
     | 
    
         
            +
            	if ( match.length === 1 ) {
         
     | 
| 
      
 2128 
     | 
    
         
            +
             
     | 
| 
      
 2129 
     | 
    
         
            +
            		// Reduce context if the leading compound selector is an ID
         
     | 
| 
      
 2130 
     | 
    
         
            +
            		tokens = match[0] = match[0].slice( 0 );
         
     | 
| 
      
 2131 
     | 
    
         
            +
            		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
         
     | 
| 
      
 2132 
     | 
    
         
            +
            				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
         
     | 
| 
      
 2133 
     | 
    
         
            +
             
     | 
| 
      
 2134 
     | 
    
         
            +
            			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
         
     | 
| 
      
 2135 
     | 
    
         
            +
            			if ( !context ) {
         
     | 
| 
      
 2136 
     | 
    
         
            +
            				return results;
         
     | 
| 
      
 2137 
     | 
    
         
            +
             
     | 
| 
      
 2138 
     | 
    
         
            +
            			// Precompiled matchers will still verify ancestry, so step up a level
         
     | 
| 
      
 2139 
     | 
    
         
            +
            			} else if ( compiled ) {
         
     | 
| 
      
 2140 
     | 
    
         
            +
            				context = context.parentNode;
         
     | 
| 
      
 2141 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2142 
     | 
    
         
            +
             
     | 
| 
      
 2143 
     | 
    
         
            +
            			selector = selector.slice( tokens.shift().value.length );
         
     | 
| 
      
 2144 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2145 
     | 
    
         
            +
             
     | 
| 
      
 2146 
     | 
    
         
            +
            		// Fetch a seed set for right-to-left matching
         
     | 
| 
      
 2147 
     | 
    
         
            +
            		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
         
     | 
| 
      
 2148 
     | 
    
         
            +
            		while ( i-- ) {
         
     | 
| 
      
 2149 
     | 
    
         
            +
            			token = tokens[i];
         
     | 
| 
      
 2150 
     | 
    
         
            +
             
     | 
| 
      
 2151 
     | 
    
         
            +
            			// Abort if we hit a combinator
         
     | 
| 
      
 2152 
     | 
    
         
            +
            			if ( Expr.relative[ (type = token.type) ] ) {
         
     | 
| 
      
 2153 
     | 
    
         
            +
            				break;
         
     | 
| 
      
 2154 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2155 
     | 
    
         
            +
            			if ( (find = Expr.find[ type ]) ) {
         
     | 
| 
      
 2156 
     | 
    
         
            +
            				// Search, expanding context for leading sibling combinators
         
     | 
| 
      
 2157 
     | 
    
         
            +
            				if ( (seed = find(
         
     | 
| 
      
 2158 
     | 
    
         
            +
            					token.matches[0].replace( runescape, funescape ),
         
     | 
| 
      
 2159 
     | 
    
         
            +
            					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
         
     | 
| 
      
 2160 
     | 
    
         
            +
            				)) ) {
         
     | 
| 
      
 2161 
     | 
    
         
            +
             
     | 
| 
      
 2162 
     | 
    
         
            +
            					// If seed is empty or no tokens remain, we can return early
         
     | 
| 
      
 2163 
     | 
    
         
            +
            					tokens.splice( i, 1 );
         
     | 
| 
      
 2164 
     | 
    
         
            +
            					selector = seed.length && toSelector( tokens );
         
     | 
| 
      
 2165 
     | 
    
         
            +
            					if ( !selector ) {
         
     | 
| 
      
 2166 
     | 
    
         
            +
            						push.apply( results, seed );
         
     | 
| 
      
 2167 
     | 
    
         
            +
            						return results;
         
     | 
| 
      
 2168 
     | 
    
         
            +
            					}
         
     | 
| 
      
 2169 
     | 
    
         
            +
             
     | 
| 
      
 2170 
     | 
    
         
            +
            					break;
         
     | 
| 
      
 2171 
     | 
    
         
            +
            				}
         
     | 
| 
      
 2172 
     | 
    
         
            +
            			}
         
     | 
| 
      
 2173 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2174 
     | 
    
         
            +
            	}
         
     | 
| 
      
 2175 
     | 
    
         
            +
             
     | 
| 
      
 2176 
     | 
    
         
            +
            	// Compile and execute a filtering function if one is not provided
         
     | 
| 
      
 2177 
     | 
    
         
            +
            	// Provide `match` to avoid retokenization if we modified the selector above
         
     | 
| 
      
 2178 
     | 
    
         
            +
            	( compiled || compile( selector, match ) )(
         
     | 
| 
      
 2179 
     | 
    
         
            +
            		seed,
         
     | 
| 
      
 2180 
     | 
    
         
            +
            		context,
         
     | 
| 
      
 2181 
     | 
    
         
            +
            		!documentIsHTML,
         
     | 
| 
      
 2182 
     | 
    
         
            +
            		results,
         
     | 
| 
      
 2183 
     | 
    
         
            +
            		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
         
     | 
| 
      
 2184 
     | 
    
         
            +
            	);
         
     | 
| 
      
 2185 
     | 
    
         
            +
            	return results;
         
     | 
| 
      
 2186 
     | 
    
         
            +
            };
         
     | 
| 
      
 2187 
     | 
    
         
            +
             
     | 
| 
      
 2188 
     | 
    
         
            +
            // One-time assignments
         
     | 
| 
      
 2189 
     | 
    
         
            +
             
     | 
| 
      
 2190 
     | 
    
         
            +
            // Sort stability
         
     | 
| 
      
 2191 
     | 
    
         
            +
            support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
         
     | 
| 
      
 2192 
     | 
    
         
            +
             
     | 
| 
      
 2193 
     | 
    
         
            +
            // Support: Chrome 14-35+
         
     | 
| 
      
 2194 
     | 
    
         
            +
            // Always assume duplicates if they aren't passed to the comparison function
         
     | 
| 
      
 2195 
     | 
    
         
            +
            support.detectDuplicates = !!hasDuplicate;
         
     | 
| 
      
 2196 
     | 
    
         
            +
             
     | 
| 
      
 2197 
     | 
    
         
            +
            // Initialize against the default document
         
     | 
| 
      
 2198 
     | 
    
         
            +
            setDocument();
         
     | 
| 
      
 2199 
     | 
    
         
            +
             
     | 
| 
      
 2200 
     | 
    
         
            +
            // Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
         
     | 
| 
      
 2201 
     | 
    
         
            +
            // Detached nodes confoundingly follow *each other*
         
     | 
| 
      
 2202 
     | 
    
         
            +
            support.sortDetached = assert(function( el ) {
         
     | 
| 
      
 2203 
     | 
    
         
            +
            	// Should return 1, but returns 4 (following)
         
     | 
| 
      
 2204 
     | 
    
         
            +
            	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
         
     | 
| 
      
 2205 
     | 
    
         
            +
            });
         
     | 
| 
      
 2206 
     | 
    
         
            +
             
     | 
| 
      
 2207 
     | 
    
         
            +
            // Support: IE<8
         
     | 
| 
      
 2208 
     | 
    
         
            +
            // Prevent attribute/property "interpolation"
         
     | 
| 
      
 2209 
     | 
    
         
            +
            // https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
         
     | 
| 
      
 2210 
     | 
    
         
            +
            if ( !assert(function( el ) {
         
     | 
| 
      
 2211 
     | 
    
         
            +
            	el.innerHTML = "<a href='#'></a>";
         
     | 
| 
      
 2212 
     | 
    
         
            +
            	return el.firstChild.getAttribute("href") === "#" ;
         
     | 
| 
      
 2213 
     | 
    
         
            +
            }) ) {
         
     | 
| 
      
 2214 
     | 
    
         
            +
            	addHandle( "type|href|height|width", function( elem, name, isXML ) {
         
     | 
| 
      
 2215 
     | 
    
         
            +
            		if ( !isXML ) {
         
     | 
| 
      
 2216 
     | 
    
         
            +
            			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
         
     | 
| 
      
 2217 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2218 
     | 
    
         
            +
            	});
         
     | 
| 
      
 2219 
     | 
    
         
            +
            }
         
     | 
| 
      
 2220 
     | 
    
         
            +
             
     | 
| 
      
 2221 
     | 
    
         
            +
            // Support: IE<9
         
     | 
| 
      
 2222 
     | 
    
         
            +
            // Use defaultValue in place of getAttribute("value")
         
     | 
| 
      
 2223 
     | 
    
         
            +
            if ( !support.attributes || !assert(function( el ) {
         
     | 
| 
      
 2224 
     | 
    
         
            +
            	el.innerHTML = "<input/>";
         
     | 
| 
      
 2225 
     | 
    
         
            +
            	el.firstChild.setAttribute( "value", "" );
         
     | 
| 
      
 2226 
     | 
    
         
            +
            	return el.firstChild.getAttribute( "value" ) === "";
         
     | 
| 
      
 2227 
     | 
    
         
            +
            }) ) {
         
     | 
| 
      
 2228 
     | 
    
         
            +
            	addHandle( "value", function( elem, name, isXML ) {
         
     | 
| 
      
 2229 
     | 
    
         
            +
            		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
         
     | 
| 
      
 2230 
     | 
    
         
            +
            			return elem.defaultValue;
         
     | 
| 
      
 2231 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2232 
     | 
    
         
            +
            	});
         
     | 
| 
      
 2233 
     | 
    
         
            +
            }
         
     | 
| 
      
 2234 
     | 
    
         
            +
             
     | 
| 
      
 2235 
     | 
    
         
            +
            // Support: IE<9
         
     | 
| 
      
 2236 
     | 
    
         
            +
            // Use getAttributeNode to fetch booleans when getAttribute lies
         
     | 
| 
      
 2237 
     | 
    
         
            +
            if ( !assert(function( el ) {
         
     | 
| 
      
 2238 
     | 
    
         
            +
            	return el.getAttribute("disabled") == null;
         
     | 
| 
      
 2239 
     | 
    
         
            +
            }) ) {
         
     | 
| 
      
 2240 
     | 
    
         
            +
            	addHandle( booleans, function( elem, name, isXML ) {
         
     | 
| 
      
 2241 
     | 
    
         
            +
            		var val;
         
     | 
| 
      
 2242 
     | 
    
         
            +
            		if ( !isXML ) {
         
     | 
| 
      
 2243 
     | 
    
         
            +
            			return elem[ name ] === true ? name.toLowerCase() :
         
     | 
| 
      
 2244 
     | 
    
         
            +
            					(val = elem.getAttributeNode( name )) && val.specified ?
         
     | 
| 
      
 2245 
     | 
    
         
            +
            					val.value :
         
     | 
| 
      
 2246 
     | 
    
         
            +
            				null;
         
     | 
| 
      
 2247 
     | 
    
         
            +
            		}
         
     | 
| 
      
 2248 
     | 
    
         
            +
            	});
         
     | 
| 
      
 2249 
     | 
    
         
            +
            }
         
     | 
| 
      
 2250 
     | 
    
         
            +
             
     | 
| 
      
 2251 
     | 
    
         
            +
            // EXPOSE
         
     | 
| 
      
 2252 
     | 
    
         
            +
            var _sizzle = window.Sizzle;
         
     | 
| 
      
 2253 
     | 
    
         
            +
             
     | 
| 
      
 2254 
     | 
    
         
            +
            Sizzle.noConflict = function() {
         
     | 
| 
      
 2255 
     | 
    
         
            +
            	if ( window.Sizzle === Sizzle ) {
         
     | 
| 
      
 2256 
     | 
    
         
            +
            		window.Sizzle = _sizzle;
         
     | 
| 
      
 2257 
     | 
    
         
            +
            	}
         
     | 
| 
      
 2258 
     | 
    
         
            +
             
     | 
| 
      
 2259 
     | 
    
         
            +
            	return Sizzle;
         
     | 
| 
      
 2260 
     | 
    
         
            +
            };
         
     | 
| 
      
 2261 
     | 
    
         
            +
             
     | 
| 
      
 2262 
     | 
    
         
            +
            if ( typeof define === "function" && define.amd ) {
         
     | 
| 
      
 2263 
     | 
    
         
            +
            	define(function() { return Sizzle; });
         
     | 
| 
      
 2264 
     | 
    
         
            +
            // Sizzle requires that there be a global window in Common-JS like environments
         
     | 
| 
      
 2265 
     | 
    
         
            +
            } else if ( typeof module !== "undefined" && module.exports ) {
         
     | 
| 
      
 2266 
     | 
    
         
            +
            	module.exports = Sizzle;
         
     | 
| 
      
 2267 
     | 
    
         
            +
            } else {
         
     | 
| 
      
 2268 
     | 
    
         
            +
            	window.Sizzle = Sizzle;
         
     | 
| 
      
 2269 
     | 
    
         
            +
            }
         
     | 
| 
      
 2270 
     | 
    
         
            +
            // EXPOSE
         
     | 
| 
      
 2271 
     | 
    
         
            +
             
     | 
| 
      
 2272 
     | 
    
         
            +
            })( window );
         
     |